```python
def thaw_row(row: str, steps: int) -> str:
    if not isinstance(row, str) or not row or any(c not in '#.' for c in row):
        raise ValueError("Invalid row")
    if not isinstance(steps, int) or steps < 0:
        raise ValueError("Invalid step count")

    row = list(row)
    n = len(row)

    for _ in range(steps):
        new_row = ['.' if (i == 0 or i == n - 1 or (row[i - 1] == '.' and row[i + 1] == '.')) else '#' for i in range(n)]
        row = new_row

    return ''.join(row)
```