вы попробуйте это сделать что описали
.f-carousel img {
aspect-ratio: 221 / 166;
height: auto !important;
}
в данном случае разницы нет, вернее этот вариант даже более громоздкий и запутанный, чем двойная вложенность foreach().
foreach( $arr as $k => $sub_arr ) {
$arr[$k] = array_filter($sub_arr, fn($v, $k) => $k === $foo && $v === $bar, ARRAY_FILTER_USE_BOTH);
}
@media (max-width: 500px) {
.layout { grid-template-columns: 100%; }
.header { grid-column: span 1; }
.aside { display: none; }
}
.layout { display: block; }
.aside { display: none; }
@media (min-width: 500px) {
.aside { display: block; }
... и дальше все из примера выше
}