@@ -80,16 +80,25 @@ Item {
8080
8181 If undefined, should use implicit width of the actual card.
8282 */
83− readonly property var cardWidth: {
83+ property var cardWidth: {
8484 switch (categoryLayout) {
8585 case "grid":
8686 case "vertical-journal":
87− if (template["card-layout"] === "horizontal") return units.gu(38);
88− switch (template["card-size"]) {
89− case "small": return units.gu(12);
90− case "large": return units.gu(38);
87+ var size = template["card-size"];
88+ if (template["card-layout"] === "horizontal") size = "large";
89+ switch (size) {
90+ case "small": {
91+ if (viewWidth <= units.gu(45)) return units.gu(12);
92+ else return units.gu(14);
93+ }
94+ case "large": {
95+ if (viewWidth >= units.gu(70)) return units.gu(42);
96+ else return viewWidth - units.gu(2);
97+ }
9198 }
92− return units.gu(18.5);
99+ if (viewWidth <= units.gu(45)) return units.gu(18);
100+ else if (viewWidth >= units.gu(70)) return units.gu(20);
101+ else return units.gu(23);
93102 case "carousel":
94103 case "horizontal-list":
95104 return carouselTool.minimumTileWidth;