Правильно раздельное написание: брюки капри, платье сафари. См.: Русский орфографический словарь РАН / Под ред. В. В. Лопатина, О. Е. Ивановой. – 4-е изд., испр. и доп. – М., 2012.
Возможны варианты.
Род несклоняемых существительных, обозначающих географические собственные имена (названия городов, рек, озер, островов, гор и т.д.), определяется по грамматическому роду нарицательного существительного, выступающего в роли родового понятия (т.е. по роду слов город, река, озеро и т.д.), например: солнечный Тбилиси (город), широкая Миссисипи (река), полноводное Эри (озеро), труднодоступная Юнгфрау (гора), живописный Капри (остров). Отступления от правила объясняются влиянием аналогии, употреблением слова в другом значении, тенденцией относить к среднему роду иноязычные несклоняемые слова на -о, например Северное Борнео.
Трудности с определением родовой принадлежности возникают у нас только в том случае, если существительное несклоняемое. Не вызывает сомнения принадлежность слова Алтай к мужскому роду: это название склоняется как обычное имя существительное второго (по школьной грамматике) склонения типа чай, сарай и т. п., поэтому мы сразу определяем его как слово мужского рода (род существительного, являющегося родовым понятием, – республика – не имеет в данном случае никакого значения, ср.: Москва – существительное женского рода, хотя город – существительное мужского рода).
А вот в том случае, когда географическое название – несклоняемое существительное, его род (в большинстве случаев) определяется по грамматическому роду нарицательного существительного, выступающего в роли родового понятия. Коми, действительно, существительное женского рода (определяем по слову республика), правильно: Золотая Коми. Ср.: Капри – мужской род (остров), Дели – мужской род (город), но: Миссури – женский род (река).