Псевдокласс `:has()` - это довольно новая функция в CSS, и поддержка этой функции может различаться в зависимости от браузера и платформы.
На момент октября 2023 года Safari (включая его версии на iOS) имеет ограниченную поддержку для некоторых новых CSS функций. Псевдокласс `:has()` был реализован в других браузерах, таких как Chrome и Firefox, но на момент последнего обновления Safari все еще может имел проблемы с его полноценной реализацией.
Если `:has(:empty)` не работает в iOS, это может быть связано с тем, что Safari не поддерживает эти селекторы или имеет ошибки в их реализации. Вот несколько рекомендаций, как можно обойти эту проблему:
1. **Проверка обновлений**: Убедитесь, что вы используете последнюю версию Safari, так как поддержка функций может улучшаться с обновлениями.
2. **Использование JavaScript**: Если это критично для вашего проекта, вы можете использовать JavaScript (или jQuery) для проверки наличия элементов и добавления соответствующих классов или стилей, когда элементы пустые.
3. **Альтернативные решения**: Попробуйте использовать другие способы стилизации элементов, которые не полагаются на `:has()`, чтобы добиться требуемого эффекта.
4. **Обратиться к документации**: Следите за обновлениями в официальной документации по поддержке браузеров и CSS, чтобы быть в курсе изменений в характеристиках функциональности.
Если вам нужен конкретный пример, вы можете привести ваш код, и я смогу помочь вам найти обходной путь.