{"product_id":"ryan-mens-ribbed-camp-collar-shirt-shorts-set","title":"Ryan | Men's Ribbed Camp Collar Shirt \u0026 Shorts Set","description":"\u003cp class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\"\u003eClean, crisp, and completely sorted — the off-white co-ord that anchors a summer wardrobe.\u003c\/p\u003e\n\u003cp class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\"\u003eSame sharp ribbed-texture construction as a resort staple, this time in a fresh off-white cream that feels light and clean in warm weather. The camp collar shirt and matching shorts deliver an easy, complete look with enough texture to keep it interesting.\u003c\/p\u003e\n\u003cp class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\"\u003e\u003cstrong\u003eKey Features:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul class=\"[li_\u0026amp;]:mb-0 [li_\u0026amp;]:mt-1 [li_\u0026amp;]:gap-1 [\u0026amp;:not(:last-child)_ul]:pb-1 [\u0026amp;:not(:last-child)_ol]:pb-1 list-disc flex flex-col gap-1 pl-8 mb-3\"\u003e\n\u003cli class=\"whitespace-normal break-words pl-2\"\u003e\n\u003cstrong\u003eMatching Ribbed-Texture Co-Ord\u003c\/strong\u003e — Shirt and shorts cut from the same off-white ribbed fabric for a tonal, complete outfit with no coordination required.\u003c\/li\u003e\n\u003cli class=\"whitespace-normal break-words pl-2\"\u003e\n\u003cstrong\u003eCamp Collar Short Sleeve Shirt\u003c\/strong\u003e — An open revere collar with full button-through front — the kind of shirt that works equally well fully buttoned or worn open over a plain tee.\u003c\/li\u003e\n\u003cli class=\"whitespace-normal break-words pl-2\"\u003e\n\u003cstrong\u003eMid-Length Shorts\u003c\/strong\u003e — A clean, straight cut without a drawstring for a slightly more tailored finish — sits neatly at mid-thigh for a proportional, modern silhouette.\u003c\/li\u003e\n\u003cli class=\"whitespace-normal break-words pl-2\"\u003e\n\u003cstrong\u003eRibbed Texture Fabric\u003c\/strong\u003e — Adds structure and visual depth to a simple palette — feels premium against the skin and holds its shape well throughout the day.\u003c\/li\u003e\n\u003cli class=\"whitespace-normal break-words pl-2\"\u003e\n\u003cstrong\u003eVersatile Off-White Colourway\u003c\/strong\u003e — A warm, clean neutral that pairs with tan, navy, terracotta, or olive accessories — one of summer's most reliable base tones.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\"\u003e\u003cem\u003eStyled best with: tan leather sandals and a woven bracelet for a relaxed holiday look — or white trainers and dark sunglasses to keep it clean and minimal.\u003c\/em\u003e\u003c\/p\u003e\n\u003ctable data-start=\"160\" data-end=\"1135\" data-is-last-node=\"\" data-is-only-node=\"\" class=\"w-fit min-w-(--thread-content-width)\"\u003e\n\u003cthead data-start=\"160\" data-end=\"301\"\u003e\n\u003ctr data-start=\"160\" data-end=\"301\"\u003e\n\u003cth data-start=\"160\" data-end=\"167\" data-col-size=\"sm\" class=\"\"\u003eSize\u003c\/th\u003e\n\u003cth data-start=\"167\" data-end=\"192\" data-col-size=\"sm\" class=\"\"\u003eShoulder Width (in\/cm)\u003c\/th\u003e\n\u003cth data-start=\"192\" data-end=\"207\" data-col-size=\"sm\" class=\"\"\u003eBust (in\/cm)\u003c\/th\u003e\n\u003cth data-start=\"207\" data-end=\"224\" data-col-size=\"sm\" class=\"\"\u003eLength (in\/cm)\u003c\/th\u003e\n\u003cth data-start=\"224\" data-end=\"248\" data-col-size=\"sm\" class=\"\"\u003eSleeve Length (in\/cm)\u003c\/th\u003e\n\u003cth data-start=\"248\" data-end=\"270\" data-col-size=\"sm\" class=\"\"\u003ePant Length (in\/cm)\u003c\/th\u003e\n\u003cth data-start=\"270\" data-end=\"284\" data-col-size=\"sm\" class=\"\"\u003eHip (in\/cm)\u003c\/th\u003e\n\u003cth data-start=\"284\" data-end=\"301\" data-col-size=\"sm\" class=\"\"\u003eWaist (in\/cm)\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody data-start=\"441\" data-end=\"1135\" data-is-last-node=\"\"\u003e\n\u003ctr data-start=\"441\" data-end=\"579\"\u003e\n\u003ctd data-start=\"441\" data-end=\"448\" data-col-size=\"sm\"\u003eS\u003c\/td\u003e\n\u003ctd data-start=\"448\" data-end=\"473\" data-col-size=\"sm\"\u003e17.7 \/ 45\u003c\/td\u003e\n\u003ctd data-start=\"473\" data-end=\"488\" data-col-size=\"sm\"\u003e43.3 \/ 110\u003c\/td\u003e\n\u003ctd data-col-size=\"sm\" data-start=\"488\" data-end=\"505\"\u003e28.3 \/ 72\u003c\/td\u003e\n\u003ctd data-col-size=\"sm\" data-start=\"505\" data-end=\"528\"\u003e9.4 \/ 24\u003c\/td\u003e\n\u003ctd data-col-size=\"sm\" data-start=\"528\" data-end=\"548\"\u003e18.7 \/ 47.5\u003c\/td\u003e\n\u003ctd data-col-size=\"sm\" data-start=\"548\" data-end=\"562\"\u003e42.5 \/ 108\u003c\/td\u003e\n\u003ctd data-col-size=\"sm\" data-start=\"562\" data-end=\"579\"\u003e27.6 \/ 70\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-start=\"580\" data-end=\"718\"\u003e\n\u003ctd data-start=\"580\" data-end=\"587\" data-col-size=\"sm\"\u003eM\u003c\/td\u003e\n\u003ctd data-col-size=\"sm\" data-start=\"587\" data-end=\"612\"\u003e18.5 \/ 47\u003c\/td\u003e\n\u003ctd data-col-size=\"sm\" data-start=\"612\" data-end=\"627\"\u003e44.9 \/ 114\u003c\/td\u003e\n\u003ctd data-col-size=\"sm\" data-start=\"627\" data-end=\"644\"\u003e29.1 \/ 74\u003c\/td\u003e\n\u003ctd data-col-size=\"sm\" data-start=\"644\" data-end=\"667\"\u003e9.6 \/ 24.5\u003c\/td\u003e\n\u003ctd data-col-size=\"sm\" data-start=\"667\" data-end=\"687\"\u003e19.3 \/ 49\u003c\/td\u003e\n\u003ctd data-col-size=\"sm\" data-start=\"687\" data-end=\"701\"\u003e44.1 \/ 112\u003c\/td\u003e\n\u003ctd data-col-size=\"sm\" data-start=\"701\" data-end=\"718\"\u003e29.1 \/ 74\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-start=\"719\" data-end=\"857\"\u003e\n\u003ctd data-start=\"719\" data-end=\"726\" data-col-size=\"sm\"\u003eL\u003c\/td\u003e\n\u003ctd data-col-size=\"sm\" data-start=\"726\" data-end=\"751\"\u003e19.3 \/ 49\u003c\/td\u003e\n\u003ctd data-col-size=\"sm\" data-start=\"751\" data-end=\"766\"\u003e46.9 \/ 119\u003c\/td\u003e\n\u003ctd data-col-size=\"sm\" data-start=\"766\" data-end=\"783\"\u003e29.9 \/ 76\u003c\/td\u003e\n\u003ctd data-col-size=\"sm\" data-start=\"783\" data-end=\"806\"\u003e9.9 \/ 25.1\u003c\/td\u003e\n\u003ctd data-col-size=\"sm\" data-start=\"806\" data-end=\"826\"\u003e19.7 \/ 50\u003c\/td\u003e\n\u003ctd data-col-size=\"sm\" data-start=\"826\" data-end=\"840\"\u003e46 \/ 117\u003c\/td\u003e\n\u003ctd data-col-size=\"sm\" data-start=\"840\" data-end=\"857\"\u003e31.1 \/ 79\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-start=\"858\" data-end=\"996\"\u003e\n\u003ctd data-start=\"858\" data-end=\"865\" data-col-size=\"sm\"\u003eXL\u003c\/td\u003e\n\u003ctd data-col-size=\"sm\" data-start=\"865\" data-end=\"890\"\u003e20.1 \/ 51\u003c\/td\u003e\n\u003ctd data-col-size=\"sm\" data-start=\"890\" data-end=\"905\"\u003e48.8 \/ 124\u003c\/td\u003e\n\u003ctd data-col-size=\"sm\" data-start=\"905\" data-end=\"922\"\u003e30.7 \/ 78\u003c\/td\u003e\n\u003ctd data-col-size=\"sm\" data-start=\"922\" data-end=\"945\"\u003e10.1 \/ 25.7\u003c\/td\u003e\n\u003ctd data-col-size=\"sm\" data-start=\"945\" data-end=\"965\"\u003e20.3 \/ 51.5\u003c\/td\u003e\n\u003ctd data-col-size=\"sm\" data-start=\"965\" data-end=\"979\"\u003e48 \/ 122\u003c\/td\u003e\n\u003ctd data-col-size=\"sm\" data-start=\"979\" data-end=\"996\"\u003e33.1 \/ 84\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-start=\"997\" data-end=\"1135\" data-is-last-node=\"\"\u003e\n\u003ctd data-start=\"997\" data-end=\"1004\" data-col-size=\"sm\"\u003e2XL\u003c\/td\u003e\n\u003ctd data-col-size=\"sm\" data-start=\"1004\" data-end=\"1029\"\u003e20.9 \/ 53\u003c\/td\u003e\n\u003ctd data-col-size=\"sm\" data-start=\"1029\" data-end=\"1044\"\u003e50.8 \/ 129\u003c\/td\u003e\n\u003ctd data-col-size=\"sm\" data-start=\"1044\" data-end=\"1061\"\u003e31.5 \/ 80\u003c\/td\u003e\n\u003ctd data-col-size=\"sm\" data-start=\"1061\" data-end=\"1084\"\u003e10.3 \/ 26.3\u003c\/td\u003e\n\u003ctd data-col-size=\"sm\" data-start=\"1084\" data-end=\"1104\"\u003e20.7 \/ 52.5\u003c\/td\u003e\n\u003ctd data-col-size=\"sm\" data-start=\"1104\" data-end=\"1118\"\u003e50 \/ 127\u003c\/td\u003e\n\u003ctd data-col-size=\"sm\" data-start=\"1118\" data-end=\"1135\" data-is-last-node=\"\"\u003e35 \/ 89\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e","brand":"Orthovo","offers":[{"title":"Beige \/ S","offer_id":47763729645733,"sku":null,"price":44.95,"currency_code":"GBP","in_stock":true},{"title":"Beige \/ M","offer_id":47763729678501,"sku":null,"price":44.95,"currency_code":"GBP","in_stock":true},{"title":"Beige \/ L","offer_id":47763729711269,"sku":null,"price":44.95,"currency_code":"GBP","in_stock":true},{"title":"Beige \/ XL","offer_id":47763729744037,"sku":null,"price":44.95,"currency_code":"GBP","in_stock":true},{"title":"Beige \/ 2XL","offer_id":47763729776805,"sku":null,"price":44.95,"currency_code":"GBP","in_stock":true},{"title":"Black \/ S","offer_id":47763729809573,"sku":null,"price":44.95,"currency_code":"GBP","in_stock":true},{"title":"Black \/ M","offer_id":47763729842341,"sku":null,"price":44.95,"currency_code":"GBP","in_stock":true},{"title":"Black \/ L","offer_id":47763729875109,"sku":null,"price":44.95,"currency_code":"GBP","in_stock":true},{"title":"Black \/ XL","offer_id":47763729907877,"sku":null,"price":44.95,"currency_code":"GBP","in_stock":true},{"title":"Black \/ 2XL","offer_id":47763729940645,"sku":null,"price":44.95,"currency_code":"GBP","in_stock":true},{"title":"Grey \/ S","offer_id":47763729973413,"sku":null,"price":44.95,"currency_code":"GBP","in_stock":true},{"title":"Grey \/ M","offer_id":47763730006181,"sku":null,"price":44.95,"currency_code":"GBP","in_stock":true},{"title":"Grey \/ L","offer_id":47763730038949,"sku":null,"price":44.95,"currency_code":"GBP","in_stock":true},{"title":"Grey \/ XL","offer_id":47763730071717,"sku":null,"price":44.95,"currency_code":"GBP","in_stock":true},{"title":"Grey \/ 2XL","offer_id":47763730104485,"sku":null,"price":44.95,"currency_code":"GBP","in_stock":true},{"title":"Blue \/ S","offer_id":47763730137253,"sku":null,"price":44.95,"currency_code":"GBP","in_stock":true},{"title":"Blue \/ M","offer_id":47763730170021,"sku":null,"price":44.95,"currency_code":"GBP","in_stock":true},{"title":"Blue \/ L","offer_id":47763730202789,"sku":null,"price":44.95,"currency_code":"GBP","in_stock":true},{"title":"Blue \/ XL","offer_id":47763730235557,"sku":null,"price":44.95,"currency_code":"GBP","in_stock":true},{"title":"Blue \/ 2XL","offer_id":47763730268325,"sku":null,"price":44.95,"currency_code":"GBP","in_stock":true},{"title":"Pink \/ S","offer_id":47763730301093,"sku":null,"price":44.95,"currency_code":"GBP","in_stock":true},{"title":"Pink \/ M","offer_id":47763730333861,"sku":null,"price":44.95,"currency_code":"GBP","in_stock":true},{"title":"Pink \/ L","offer_id":47763730366629,"sku":null,"price":44.95,"currency_code":"GBP","in_stock":true},{"title":"Pink \/ XL","offer_id":47763730399397,"sku":null,"price":44.95,"currency_code":"GBP","in_stock":true},{"title":"Pink \/ 2XL","offer_id":47763730432165,"sku":null,"price":44.95,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0754\/9363\/8309\/files\/Men_s_Summer_Set_with_Button-Down_Shirt_and_Loose-Fitting_Shorts_6.png?v=1777276393","url":"https:\/\/orthovo.shop\/products\/ryan-mens-ribbed-camp-collar-shirt-shorts-set","provider":"Orthovo","version":"1.0","type":"link"}