/* Контейнер карточки должен быть flex, чтобы кнопка прижалась куда надо */
.infra-card {
    display: flex;
    flex-direction: column;
    /* ... ваши остальные стили карточки (padding, background и т.д.) ... */
}

.infra-card p {
    font-size: 0.95rem;
    color: #666;
    line-height: 1.5;
    margin-bottom: 10px; /* Отступ до кнопки */
    
    /* Логика скрытия текста */
    display: -webkit-box;
    -webkit-line-clamp: 3; /* Сколько строк показывать в свернутом виде */
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: max-height 0.3s ease; /* Для плавности, если нужно */
}

/* Когда текст развернут */
.infra-card p.expanded {
    -webkit-line-clamp: unset;
    overflow: visible;
}

/* Сама кнопка "Читать далее" / "Свернуть" */
.read-more-btn {
    align-self: flex-start; /* Прижимаем влево */
    font-size: 0.85rem;
    color: #e74c3c;
    font-weight: 600;
    cursor: pointer;
    background: none;
    border: none;
    padding: 0;
    margin-top: auto; /* Если карточка фиксированной высоты, это прижмет кнопку к низу */
    text-decoration: none;
    border-bottom: 1px dotted #e74c3c; /* Пунктирное подчеркивание (стильно) */
    transition: color 0.2s;
}

.read-more-btn:hover {
    color: #c0392b;
    border-bottom-style: solid;
}
