/* ========= OPINIONES / RESEÑAS ========= */

/* Títulos */
.op-header-title {
    font-weight: 700;
    line-height: 1.15;
}
.op-header-subtitle {
    color: #6c757d;
    font-size: 1.05rem;
}

/* ====== RESUMEN PROMEDIO ====== */
.score-box {
    background: #fff;
    box-shadow: 0 .5rem 1.2rem rgba(0,0,0,.08);
    border-radius: 1rem;
    padding: 1.4rem 1.6rem;
    text-align: center;
    width: 100%;
}
.score-stars {
    color: #f4b400;
    font-size: 1.6rem;
    letter-spacing: 2px;
    margin-bottom: .35rem;
}
.score-number {
    font-size: 2rem;
    font-weight: 700;
    color: #212529;
}
.score-total {
    font-size: .9rem;
}

/* ====== BARRAS ====== */
.stars-summary {
    background: #fff;
    border-radius: 1rem;
    padding: 1.3rem 1.5rem;
    box-shadow: 0 .35rem 1rem rgba(0,0,0,.06);
}
.stars-row {
    display: flex;
    align-items: center;
    margin-bottom: .55rem;
}
.stars-label {
    width: 40px;
    font-weight: 600;
    color: #555;
    font-size: .9rem;
}
.stars-bar {
    flex-grow: 1;
    height: 9px;
    background: #e9ecef;
    border-radius: 999px;
    margin: 0 .6rem;
    overflow: hidden;
}
.stars-bar-fill {
    height: 100%;
    background: #ffc107;
    border-radius: 999px;
    transition: width .6s ease;
}
.stars-percent {
    width: 40px;
    font-size: .85rem;
    color: #666;
    text-align: right;
}

/* ====== TARJETAS MINI ====== */
.testimonial-card {
    background: #fff;
    border-radius: .9rem;
    padding: 1.2rem;
    box-shadow: 0 .35rem 1.1rem rgba(0,0,0,.06);
    transition: transform .18s ease, box-shadow .18s ease;
}
.testimonial-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 .6rem 1.6rem rgba(0,0,0,.12);
}
.testimonial-card .user-icon {
    width: 40px;
    height: 40px;
    font-size: 1.4rem;
}
.testimonial-card .stars {
    font-size: 1rem;
    letter-spacing: 1px;
}
.testimonial-card p {
    font-size: 0.9rem;
    line-height: 1.35;
    margin-bottom: .65rem;
}
.testimonial-card .small {
    font-size: .78rem;
}
.comment-clamp {
    max-height: 4.2em; /* 2-3 líneas */
    overflow: hidden;
}

/* Espacio entre tarjetas cuando están en 2 columnas */
.opiniones-mini-grid .col-md-6 {
    margin-bottom: .8rem;
}
