.toggle {
    display: none;
}

.text {
    max-height: 68px;
    /* 2–3 líneas */
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.toggle:checked+.text {
    max-height: 500px;
}

.read-more {
    display: inline-block;
    margin-top: 6px;
    color: #0d6efd;
    cursor: pointer;
    font-weight: 500;
}

.read-more::after {
    content: "Leer más";
}

.toggle:checked~.read-more::after {
    content: "Leer menos";
}

.title {
    line-height: 1.25;
}

.title .subtitle {
    display: block;
    margin-top: 6px;
    font-size: 0.9em;
    /* ⬆ un poco más grande */
    font-weight: 500;
    /* ⬆ más presencia */
    color: #6c757d;
    /* gris legible (Bootstrap secondary) */
    opacity: 1;
    /* ❌ elimina opacity baja */
}