{"id":2431,"date":"2026-05-21T07:06:00","date_gmt":"2026-05-21T07:06:00","guid":{"rendered":"https:\/\/marilynrecipes.com\/?p=2431"},"modified":"2026-05-19T19:07:35","modified_gmt":"2026-05-19T19:07:35","slug":"simple-goat-cheese-salad","status":"publish","type":"post","link":"https:\/\/marilynrecipes.com\/index.php\/2026\/05\/21\/simple-goat-cheese-salad\/","title":{"rendered":"Simple Goat Cheese Salad Fresh, Creamy &amp; Perfectly Light"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">The Story &amp; Intro (My Kitchen Memory)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Simple Goat Cheese Salad has always been one of those recipes I turn to when I want something light but still deeply satisfying. I still remember the first time I made Simple Goat Cheese Salad on a warm afternoon when I had almost nothing in my fridge except fresh greens, a small log of goat cheese, and a handful of walnuts. I didn\u2019t expect much that day, but it turned into one of the most comforting meals I\u2019ve ever made.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hi\ud83d\udc4b I\u2019m MARILYN a 34-year-old FROM UNITED KINGDOM gCooking is my passion, and I love sharing delicious, easy-to-follow recipes. Join me on marilynrecipes.com to explore a world of culinary delights, from comforting classics to innovative creations. Let&#8217;s make cooking fun and enjoyable for everyone!<br>Cooking is about more than just food it\u2019s about sharing stories and making memories.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That moment inspired me to keep making Simple Goat Cheese Salad again and again, each time adjusting it slightly, adding honey, nuts, or seasonal fruit depending on what I had available. Simple Goat Cheese Salad became my little reminder that even the simplest ingredients can create something beautiful when combined with care.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Every time I prepare Simple Goat Cheese Salad, I feel like I\u2019m bringing a bit of freshness and calm into my kitchen. It\u2019s not just a salad it\u2019s a moment of peace, a pause in a busy day, and a plate full of balance between creamy, crunchy, sweet, and tangy flavors.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/marilynrecipes.com\/wp-content\/uploads\/2026\/05\/RECIPES_Simple_goat_cheese_salad_in_a_rustic_ceramic_bowl_fresh_54f7b639-6bad-4240-be94-99c1aff1624c.png\" alt=\"\" class=\"wp-image-2483\" srcset=\"https:\/\/marilynrecipes.com\/wp-content\/uploads\/2026\/05\/RECIPES_Simple_goat_cheese_salad_in_a_rustic_ceramic_bowl_fresh_54f7b639-6bad-4240-be94-99c1aff1624c.png 1024w, https:\/\/marilynrecipes.com\/wp-content\/uploads\/2026\/05\/RECIPES_Simple_goat_cheese_salad_in_a_rustic_ceramic_bowl_fresh_54f7b639-6bad-4240-be94-99c1aff1624c-300x300.png 300w, https:\/\/marilynrecipes.com\/wp-content\/uploads\/2026\/05\/RECIPES_Simple_goat_cheese_salad_in_a_rustic_ceramic_bowl_fresh_54f7b639-6bad-4240-be94-99c1aff1624c-150x150.png 150w, https:\/\/marilynrecipes.com\/wp-content\/uploads\/2026\/05\/RECIPES_Simple_goat_cheese_salad_in_a_rustic_ceramic_bowl_fresh_54f7b639-6bad-4240-be94-99c1aff1624c-768x768.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Why I Love Making This Simple Goat Cheese Salad<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">I love making Simple Goat Cheese Salad because it feels elegant without any effort. It\u2019s the kind of dish I can prepare in under 15 minutes, yet it always looks like something you\u2019d order in a charming caf\u00e9.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What makes Simple Goat Cheese Salad so special for me is the contrast of textures. The creamy goat cheese melts slightly into the greens, the walnuts add a deep crunch, and a drizzle of honey ties everything together with a soft sweetness.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Another reason I love Simple Goat Cheese Salad is how flexible it is. I can serve it as a starter, a light lunch, or even as a side dish next to roasted chicken or grilled fish. It always fits beautifully into any meal.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Most importantly, Simple Goat Cheese Salad reminds me that cooking doesn\u2019t have to be complicated to be meaningful.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ingredients &amp; Little Kitchen Secrets<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">To make the perfect Simple Goat Cheese Salad, I always focus on fresh, high-quality ingredients. Here\u2019s exactly what I use in my kitchen:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>6 cups mixed salad greens (arugula, spinach, or lettuce)<\/li>\n\n\n\n<li>120g goat cheese log, sliced into rounds<\/li>\n\n\n\n<li>1\/2 cup walnuts, lightly toasted<\/li>\n\n\n\n<li>1 medium pear, thinly sliced (optional but highly recommended)<\/li>\n\n\n\n<li>1\/4 cup dried cranberries<\/li>\n\n\n\n<li>2 tablespoons extra virgin olive oil<\/li>\n\n\n\n<li>1 tablespoon balsamic vinegar<\/li>\n\n\n\n<li>1 tablespoon honey<\/li>\n\n\n\n<li>1 teaspoon Dijon mustard<\/li>\n\n\n\n<li>Salt to taste<\/li>\n\n\n\n<li>Black pepper to taste<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">My Little Kitchen Secrets<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">When I make Simple Goat Cheese Salad, I always toast the walnuts lightly in a dry pan. This brings out their natural oils and makes the flavor deeper and richer. I also like to let the goat cheese sit at room temperature for about 10 minutes so it becomes softer and creamier when added to the salad.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If I want a more luxurious version of Simple Goat Cheese Salad, I sometimes add roasted beetroot or fresh figs when they are in season. It transforms the dish completely while keeping its simple heart.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How I Make Simple Goat Cheese Salad Step by Step<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Making Simple Goat Cheese Salad is incredibly easy, but I always follow a gentle rhythm to keep everything fresh and balanced.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/marilynrecipes.com\/wp-content\/uploads\/2026\/05\/RECIPES_Simple_goat_cheese_salad_in_a_rustic_ceramic_bowl_fresh_c511165c-d7e1-4680-957a-b3155dfcc865.png\" alt=\"\" class=\"wp-image-2482\" srcset=\"https:\/\/marilynrecipes.com\/wp-content\/uploads\/2026\/05\/RECIPES_Simple_goat_cheese_salad_in_a_rustic_ceramic_bowl_fresh_c511165c-d7e1-4680-957a-b3155dfcc865.png 1024w, https:\/\/marilynrecipes.com\/wp-content\/uploads\/2026\/05\/RECIPES_Simple_goat_cheese_salad_in_a_rustic_ceramic_bowl_fresh_c511165c-d7e1-4680-957a-b3155dfcc865-300x300.png 300w, https:\/\/marilynrecipes.com\/wp-content\/uploads\/2026\/05\/RECIPES_Simple_goat_cheese_salad_in_a_rustic_ceramic_bowl_fresh_c511165c-d7e1-4680-957a-b3155dfcc865-150x150.png 150w, https:\/\/marilynrecipes.com\/wp-content\/uploads\/2026\/05\/RECIPES_Simple_goat_cheese_salad_in_a_rustic_ceramic_bowl_fresh_c511165c-d7e1-4680-957a-b3155dfcc865-768x768.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ol class=\"wp-block-list\">\n<li>I start by washing and drying my salad greens thoroughly. I want them crisp and fresh because they are the base of Simple Goat Cheese Salad.<\/li>\n\n\n\n<li>In a small dry pan, I toast the walnuts for about 2\u20133 minutes until they smell warm and nutty. I set them aside to cool.<\/li>\n\n\n\n<li>I slice the goat cheese into thick, creamy rounds and let them rest while I prepare the dressing.<\/li>\n\n\n\n<li>In a small bowl, I whisk olive oil, balsamic vinegar, honey, Dijon mustard, salt, and black pepper until smooth and slightly thick.<\/li>\n\n\n\n<li>I place the greens in a large serving bowl and gently layer the pear slices and cranberries over them.<\/li>\n\n\n\n<li>I scatter the toasted walnuts across the salad for crunch.<\/li>\n\n\n\n<li>I add the goat cheese on top, making sure each piece is evenly placed.<\/li>\n\n\n\n<li>Finally, I drizzle the dressing slowly over the entire Simple Goat Cheese Salad and serve immediately.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Every step feels intentional, and I love how quickly it all comes together.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How I Serve It at Home<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">When I serve Simple Goat Cheese Salad at home, I like to present it in a wide, shallow bowl so all the colors and textures are visible.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sometimes I serve it as a starter before a cozy dinner with friends. Other times, I make it a full lunch by adding crusty bread on the side.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On warmer days, I enjoy Simple Goat Cheese Salad with a chilled glass of sparkling water with lemon. It feels refreshing and light, almost like a reset for my body and mind.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If I\u2019m hosting guests, I often double the recipe because Simple Goat Cheese Salad disappears quickly from the table.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Storage, Reheating &amp; Make-Ahead Tips<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Simple Goat Cheese Salad is best enjoyed fresh, but I still have a few tricks for preparing ahead of time.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I always wash and dry the greens in advance and store them in an airtight container with a paper towel to keep them crisp. I also prepare the dressing ahead and keep it in a small jar in the fridge.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">However, I never assemble the full Simple Goat Cheese Salad until just before serving. If it sits too long, the greens lose their crunch and the goat cheese becomes too soft.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If I have leftovers, I store them without dressing and add fresh greens the next day if needed.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">100-Word Short Version<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Simple Goat Cheese Salad is a fresh, creamy, and elegant dish I love making when I want something light yet satisfying. I combine crisp greens, creamy goat cheese, toasted walnuts, sweet pear slices, and dried cranberries, then finish everything with a honey balsamic dressing. It takes less than 15 minutes to prepare and always feels special. I enjoy serving Simple Goat Cheese Salad as a starter or light lunch, especially on warm days. It\u2019s simple, comforting, and full of balanced flavors that make every bite refreshing and delicious.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/marilynrecipes.com\/wp-content\/uploads\/2026\/05\/RECIPES_Simple_goat_cheese_salad_in_a_rustic_ceramic_bowl_fresh_c45c21f0-777b-4c15-ba5e-005c5674196e.png\" alt=\"\" class=\"wp-image-2481\" srcset=\"https:\/\/marilynrecipes.com\/wp-content\/uploads\/2026\/05\/RECIPES_Simple_goat_cheese_salad_in_a_rustic_ceramic_bowl_fresh_c45c21f0-777b-4c15-ba5e-005c5674196e.png 1024w, https:\/\/marilynrecipes.com\/wp-content\/uploads\/2026\/05\/RECIPES_Simple_goat_cheese_salad_in_a_rustic_ceramic_bowl_fresh_c45c21f0-777b-4c15-ba5e-005c5674196e-300x300.png 300w, https:\/\/marilynrecipes.com\/wp-content\/uploads\/2026\/05\/RECIPES_Simple_goat_cheese_salad_in_a_rustic_ceramic_bowl_fresh_c45c21f0-777b-4c15-ba5e-005c5674196e-150x150.png 150w, https:\/\/marilynrecipes.com\/wp-content\/uploads\/2026\/05\/RECIPES_Simple_goat_cheese_salad_in_a_rustic_ceramic_bowl_fresh_c45c21f0-777b-4c15-ba5e-005c5674196e-768x768.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Recipe Card Section<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u23f1\ufe0f Time<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Prep Time: 15 minutes<br>Cook Time: 3 minutes<br>Total Time: 18 minutes<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\uded2 Ingredients<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>6 cups mixed greens<\/li>\n\n\n\n<li>120g goat cheese<\/li>\n\n\n\n<li>1\/2 cup walnuts<\/li>\n\n\n\n<li>1 pear sliced<\/li>\n\n\n\n<li>1\/4 cup dried cranberries<\/li>\n\n\n\n<li>2 tbsp olive oil<\/li>\n\n\n\n<li>1 tbsp balsamic vinegar<\/li>\n\n\n\n<li>1 tbsp honey<\/li>\n\n\n\n<li>1 tsp Dijon mustard<\/li>\n\n\n\n<li>Salt &amp; pepper<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udc69\u200d\ud83c\udf73 Instructions<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Wash and dry greens.<\/li>\n\n\n\n<li>Toast walnuts lightly.<\/li>\n\n\n\n<li>Slice goat cheese.<\/li>\n\n\n\n<li>Whisk dressing ingredients.<\/li>\n\n\n\n<li>Assemble greens in bowl.<\/li>\n\n\n\n<li>Add pear, cranberries, walnuts.<\/li>\n\n\n\n<li>Top with goat cheese.<\/li>\n\n\n\n<li>Drizzle dressing and serve.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udcdd Notes<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">I always recommend serving this salad fresh. You can swap pear for apple or figs. Add grilled chicken if you want a fuller meal.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83c\udf7d\ufe0f Nutrition<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Calories: 320 per serving<br>Protein: Moderate<br>Fat: Healthy fats from nuts and cheese<br>Carbs: Low to moderate<br>Fiber: Good source<\/p>\n\n\n<svg aria-hidden=\"true\" style=\"position: absolute;width: 0;height: 0;overflow: hidden\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<defs>\n<symbol viewbox=\"9 9 46 42\" id=\"wpt-star-full\">\n\t<path d=\"m46.3 52-14.4-9.5-14.4 9.4L22 35.3 8.7 24.5l17.1-.9 6.2-16 6 16 17.2 1-13.4 10.7z\" \/>\n<\/symbol>\n<\/defs>\n<\/svg>\n<a class=\"button tasty-recipes-print-button tasty-recipes-no-print tasty-recipes-print-above-card\" href=\"https:\/\/marilynrecipes.com\/index.php\/2026\/05\/21\/simple-goat-cheese-salad\/print\/2432\/\">Print<\/a><span class=\"tasty-recipes-jump-target\" id=\"tasty-recipes-2432-jump-target\" style=\"display:block;padding-top:2px;margin-top:-2px;\"><\/span><div id=\"tasty-recipes-2432\" data-tr-id=\"2432\" class=\"tasty-recipes tasty-recipes-2432 tasty-recipes-display tasty-recipes-has-image\">\n\n\n<h2 class=\"tasty-recipes-title\" data-tasty-recipes-customization=\"h2-color.color h2-transform.text-transform\">Simple Goat Cheese Salad<\/h2>\n<div class=\"tasty-recipes-image-button-container\">\n\t\t\t<div class=\"tasty-recipes-image\">\n\t\t\t<img decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/marilynrecipes.com\/wp-content\/uploads\/2026\/05\/RECIPES_Simple_goat_cheese_salad_in_a_rustic_ceramic_bowl_fresh_461367ce-176e-403b-9f5b-2636cb070e0f-150x150.png\" class=\"attachment-thumbnail size-thumbnail\" alt=\"Simple Goat Cheese Salad\" data-pin-nopin=\"true\" \/>\t\t<\/div>\n\t\t<div class=\"tasty-recipes-buttons\">\n\t\t\t\t<div class=\"tasty-recipes-button-wrap\">\n\t\t\t\n<a class=\"button tasty-recipes-print-button tasty-recipes-no-print\" href=\"https:\/\/marilynrecipes.com\/index.php\/2026\/05\/21\/simple-goat-cheese-salad\/print\/2432\/\" target=\"_blank\" data-tasty-recipes-customization=\"\">\n\t\t\t<svg viewBox=\"0 0 24 24\" class=\"svg-print\" aria-hidden=\"true\"><use xlink:href=\"#tasty-recipes-icon-print\"><\/use><\/svg>\n\t\tPrint Recipe<\/a>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n<\/div>\n\t<div class=\"tasty-recipes-rating\" data-tasty-recipes-customization=\"body-color.color\">\n\t\t\t\t\t<p><svg aria-hidden=\"true\" style=\"position: absolute;width: 0;height: 0;overflow: hidden\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<defs>\n<symbol viewbox=\"9 9 46 42\" id=\"wpt-star-full\">\n\t<path d=\"m46.3 52-14.4-9.5-14.4 9.4L22 35.3 8.7 24.5l17.1-.9 6.2-16 6 16 17.2 1-13.4 10.7z\" \/>\n<\/symbol>\n<\/defs>\n<\/svg>\n<span class=\"tasty-recipes-ratings-buttons tasty-recipes-no-ratings-buttons\"\tdata-tr-default-rating=\"0\"\t>\t\t<span class=\"tasty-recipes-rating\" >\t\t<i class=\"checked\" data-rating=\"5\">\t\t\t<span class=\"tasty-recipes-rating-solid\" data-tr-clip=\"0\">\t\t\t\t<svg class=\"tasty-recipes-svg\" width=\"18\" height=\"17\"><use href=\"#wpt-star-full\" \/><\/svg>\t\t\t<\/span>\t\t\t<span class=\"tasty-recipes-screen-reader\">\t\t\t\t5 Stars\t\t\t<\/span>\t\t<\/i>\t<\/span>\t\t<span class=\"tasty-recipes-rating\" >\t\t<i class=\"checked\" data-rating=\"4\">\t\t\t<span class=\"tasty-recipes-rating-solid\" data-tr-clip=\"0\">\t\t\t\t<svg class=\"tasty-recipes-svg\" width=\"18\" height=\"17\"><use href=\"#wpt-star-full\" \/><\/svg>\t\t\t<\/span>\t\t\t<span class=\"tasty-recipes-screen-reader\">\t\t\t\t4 Stars\t\t\t<\/span>\t\t<\/i>\t<\/span>\t\t<span class=\"tasty-recipes-rating\" >\t\t<i class=\"checked\" data-rating=\"3\">\t\t\t<span class=\"tasty-recipes-rating-solid\" data-tr-clip=\"0\">\t\t\t\t<svg class=\"tasty-recipes-svg\" width=\"18\" height=\"17\"><use href=\"#wpt-star-full\" \/><\/svg>\t\t\t<\/span>\t\t\t<span class=\"tasty-recipes-screen-reader\">\t\t\t\t3 Stars\t\t\t<\/span>\t\t<\/i>\t<\/span>\t\t<span class=\"tasty-recipes-rating\" >\t\t<i class=\"checked\" data-rating=\"2\">\t\t\t<span class=\"tasty-recipes-rating-solid\" data-tr-clip=\"0\">\t\t\t\t<svg class=\"tasty-recipes-svg\" width=\"18\" height=\"17\"><use href=\"#wpt-star-full\" \/><\/svg>\t\t\t<\/span>\t\t\t<span class=\"tasty-recipes-screen-reader\">\t\t\t\t2 Stars\t\t\t<\/span>\t\t<\/i>\t<\/span>\t\t<span class=\"tasty-recipes-rating\" >\t\t<i class=\"checked\" data-rating=\"1\">\t\t\t<span class=\"tasty-recipes-rating-solid\" data-tr-clip=\"0\">\t\t\t\t<svg class=\"tasty-recipes-svg\" width=\"18\" height=\"17\"><use href=\"#wpt-star-full\" \/><\/svg>\t\t\t<\/span>\t\t\t<span class=\"tasty-recipes-screen-reader\">\t\t\t\t1 Star\t\t\t<\/span>\t\t<\/i>\t<\/span><\/span><\/p>\n\t\t\t\t\t\t\t<p><span data-tasty-recipes-customization=\"detail-label-color.color\" class=\"rating-label\">No reviews<\/span><\/p>\n\t\t\t<\/div>\n\n\n\t<div class=\"tasty-recipes-description\" data-tasty-recipes-customization=\"body-color.color\">\n\t\t<p>Simple Goat Cheese Salad is a fresh, elegant, and easy-to-make salad combining creamy goat cheese, crisp greens, toasted walnuts, sweet fruit, and a light honey balsamic dressing. It\u2019s perfect for a quick lunch, starter, or healthy side dish that feels both comforting and gourmet.<\/p>\n\t<\/div>\n\n\t<div class=\"tasty-recipes-details\" data-tasty-recipes-customization=\"body-color.color\">\n\t\t<ul>\n\t\t\t\t\t\t\t<li class=\"author\"><strong data-tasty-recipes-customization=\"detail-label-color.color\" class=\"tasty-recipes-label\">Author:<\/strong> <span data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-author-name\">MARILYN<\/span><\/li>\n\t\t\t\t\t\t\t<li class=\"prep-time\"><strong data-tasty-recipes-customization=\"detail-label-color.color\" class=\"tasty-recipes-label\">Prep Time:<\/strong> <span data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-prep-time\">15 minutes<\/span><\/li>\n\t\t\t\t\t\t\t<li class=\"cook-time\"><strong data-tasty-recipes-customization=\"detail-label-color.color\" class=\"tasty-recipes-label\">Cook Time:<\/strong> <span data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-cook-time\">3 minutes<\/span><\/li>\n\t\t\t\t\t\t\t<li class=\"total-time\"><strong data-tasty-recipes-customization=\"detail-label-color.color\" class=\"tasty-recipes-label\">Total Time:<\/strong> <span data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-total-time\">18 minutes<\/span><\/li>\n\t\t\t\t\t\t\t<li class=\"yield\"><strong data-tasty-recipes-customization=\"detail-label-color.color\" class=\"tasty-recipes-label\">Yield:<\/strong> <span data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-yield\"><span data-amount=\"4\">4<\/span> servings <span class=\"tasty-recipes-yield-scale\"><span data-amount=\"1\">1<\/span>x<\/span><\/span><\/li>\n\t\t\t\t\t\t\t<li class=\"category\"><strong data-tasty-recipes-customization=\"detail-label-color.color\" class=\"tasty-recipes-label\">Category:<\/strong> <span data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-category\">Salad<\/span><\/li>\n\t\t\t\t\t\t\t<li class=\"method\"><strong data-tasty-recipes-customization=\"detail-label-color.color\" class=\"tasty-recipes-label\">Method:<\/strong> <span data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-method\">No-Cook<\/span><\/li>\n\t\t\t\t\t\t\t<li class=\"cuisine\"><strong data-tasty-recipes-customization=\"detail-label-color.color\" class=\"tasty-recipes-label\">Cuisine:<\/strong> <span data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-cuisine\">Mediterranean<\/span><\/li>\n\t\t\t\t\t\t\t<li class=\"diet\"><strong data-tasty-recipes-customization=\"detail-label-color.color\" class=\"tasty-recipes-label\">Diet:<\/strong> <span data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-diet\">Vegetarian<\/span><\/li>\n\t\t\t\t\t<\/ul>\n\t<\/div>\n\n\t<div class=\"tasty-recipes-ingredients\">\n\t\t<div class=\"tasty-recipes-ingredients-header\">\n\t\t\t<div class=\"tasty-recipes-ingredients-clipboard-container\">\n\t\t\t\t<h3 data-tasty-recipes-customization=\"h3-color.color h3-transform.text-transform\">Ingredients<\/h3>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t<div class=\"tasty-recipes-units-scale-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"tasty-recipes-scale-container\">\n\t\t\t\t\t\t<span class=\"tasty-recipes-scale-label\">Scale<\/span>\n\t\t\t\t\t\t<button class=\"tasty-recipes-scale-button tasty-recipes-scale-button-active\" data-amount=\"1\" type=\"button\">1x<\/button><button class=\"tasty-recipes-scale-button\" data-amount=\"2\" type=\"button\">2x<\/button><button class=\"tasty-recipes-scale-button\" data-amount=\"3\" type=\"button\">3x<\/button>\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t<div class=\"tasty-recipes-ingredients-body\" data-tasty-recipes-customization=\"body-color.color\">\n\t\t\t<ul>\n<li><span data-amount=\"6\" data-unit=\"cup\">6 cups<\/span> mixed salad greens<\/li>\n<li><span data-amount=\"120\" data-unit=\"g\">120g<\/span> goat cheese log, sliced<\/li>\n<li><span data-amount=\"0.5\" data-unit=\"cup\">1\/2 cup<\/span> walnuts, toasted<\/li>\n<li><span data-amount=\"1\">1<\/span> pear, sliced<\/li>\n<li><span data-amount=\"0.25\" data-unit=\"cup\">1\/4 cup<\/span> dried cranberries<\/li>\n<li><span data-amount=\"2\" data-unit=\"tablespoon\">2 tablespoons<\/span> olive oil<\/li>\n<li><span data-amount=\"1\" data-unit=\"tablespoon\">1 tablespoon<\/span> balsamic vinegar<\/li>\n<li><span data-amount=\"1\" data-unit=\"tablespoon\">1 tablespoon<\/span> honey<\/li>\n<li><span data-amount=\"1\" data-unit=\"teaspoon\">1 teaspoon<\/span> Dijon mustard<\/li>\n<li>Salt and black pepper to taste<\/li>\n<\/ul>\n<!--INSIDE_INGREDIENTS-->\t\t<\/div>\n\t\t<div class=\"tasty-recipes-cook-mode\">\n\t<div class=\"tasty-recipes-cook-mode__container\">\n\t\t<label class=\"tasty-recipes-cook-mode__switch\">\n\t\t\t<input type=\"checkbox\" id=\"tasty_recipes_6a0f41819fe97_cookmode\">\n\t\t\t<span class=\"tasty-recipes-cook-mode__switch-slider tasty-recipes-cook-mode__switch-round\"\n\t\t\t\tdata-tasty-recipes-customization=\"button-color.background button-text-color.color\"><\/span>\n\t\t<\/label>\n\t\t<label for=\"tasty_recipes_6a0f41819fe97_cookmode\">\n\t\t\t<span class=\"tasty-recipes-cook-mode__label\">Cook Mode<\/span>\n\t\t\t<span class=\"tasty-recipes-cook-mode__helper\">\n\t\t\t\tPrevent your screen from going dark\t\t\t<\/span>\n\t\t<\/label>\n\t<\/div>\n<\/div>\n\t<\/div>\n\n\t<div class=\"tasty-recipe-instructions\">\n\t\t<div class=\"tasty-recipes-instructions-header\">\n\t\t\t<h3 data-tasty-recipes-customization=\"h3-color.color h3-transform.text-transform\">Instructions<\/h3>\n\t\t\t\t\t<\/div>\n\t\t<div class=\"tasty-recipes-instructions-body\" data-tasty-recipes-customization=\"body-color.color\">\n\t\t\t<ol>\n<li id=\"instruction-step-1\">Wash and dry salad greens thoroughly.<\/li>\n<li id=\"instruction-step-2\">Toast walnuts in a dry pan for 2\u20133 minutes.<\/li>\n<li id=\"instruction-step-3\">Slice goat cheese and set aside.<\/li>\n<li id=\"instruction-step-4\">Whisk olive oil, balsamic vinegar, honey, mustard, salt, and pepper to make dressing.<\/li>\n<li id=\"instruction-step-5\">Arrange greens in a large bowl.<\/li>\n<li id=\"instruction-step-6\">Add pear slices, cranberries, and walnuts.<\/li>\n<li id=\"instruction-step-7\">Top with goat cheese slices.<\/li>\n<li id=\"instruction-step-8\">Drizzle dressing and serve immediately.<\/li>\n<\/ol>\n\t\t<\/div>\n\t<\/div>\n\n\n\n\t<div class=\"tasty-recipes-notes\">\n\t\t<h3 data-tasty-recipes-customization=\"h3-color.color h3-transform.text-transform\">Notes<\/h3>\n\t\t<div class=\"tasty-recipes-notes-body\" data-tasty-recipes-customization=\"body-color.color\">\n\t\t\t<p>Serve fresh for best texture. You can substitute pear with apple or figs. Add grilled chicken for a more filling meal. Store dressing separately if preparing ahead.<\/p>\n\t\t<\/div>\n\t<\/div>\n\n\n\n\t<div class=\"tasty-recipes-nutrition\">\n\t\t<h3 data-tasty-recipes-customization=\"h3-color.color h3-transform.text-transform\">Nutrition<\/h3>\n\t\t<ul>\n\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" data-tasty-recipes-customization=\"body-color.color\">Serving Size:<\/strong> <span data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-serving-size\">1 bowl<\/span><\/li>\n\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" data-tasty-recipes-customization=\"body-color.color\">Calories:<\/strong> <span data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-calories\">320<\/span><\/li>\n\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" data-tasty-recipes-customization=\"body-color.color\">Sugar:<\/strong> <span data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-sugar\">14g<\/span><\/li>\n\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" data-tasty-recipes-customization=\"body-color.color\">Sodium:<\/strong> <span data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-sodium\">210mg<\/span><\/li>\n\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" data-tasty-recipes-customization=\"body-color.color\">Fat:<\/strong> <span data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-fat\">22g<\/span><\/li>\n\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" data-tasty-recipes-customization=\"body-color.color\">Saturated Fat:<\/strong> <span data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-saturated-fat\">7g<\/span><\/li>\n\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" data-tasty-recipes-customization=\"body-color.color\">Unsaturated Fat:<\/strong> <span data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-unsaturated-fat\">13g<\/span><\/li>\n\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" data-tasty-recipes-customization=\"body-color.color\">Trans Fat:<\/strong> <span data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-trans-fat\">0g<\/span><\/li>\n\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" data-tasty-recipes-customization=\"body-color.color\">Carbohydrates:<\/strong> <span data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-carbohydrates\">22g<\/span><\/li>\n\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" data-tasty-recipes-customization=\"body-color.color\">Fiber:<\/strong> <span data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-fiber\">4g<\/span><\/li>\n\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" data-tasty-recipes-customization=\"body-color.color\">Protein:<\/strong> <span data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-protein\">10g<\/span><\/li>\n\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" data-tasty-recipes-customization=\"body-color.color\">Cholesterol:<\/strong> <span data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-cholesterol\">20mg<\/span><\/li>\n\t\t\t\t\t<\/ul>\n\t<\/div>\n\n\n<footer class=\"tasty-recipes-entry-footer\">\n\t<h3 data-tasty-recipes-customization=\"footer-heading-color.color h3-transform.text-transform footer-heading.innerText\">Did you make this recipe?<\/h3>\n\t<div data-tasty-recipes-customization=\"footer-description-color.color footer-description.innerHTML\"><p>Share a photo and tag us \u2014 we can&#8217;t wait to see what you&#8217;ve made!<\/p><\/div>\n<\/footer>\n\n\n\n<script>\nwindow.trCommon={\"minRating\":6,\"ajaxurl\":\"https:\\\/\\\/marilynrecipes.com\\\/wp-admin\\\/admin-ajax.php\",\"ratingNonce\":\"\",\"postId\":2431};\nwindow.TastyRecipes = window.TastyRecipes || {};\n\nwindow.TastyRecipes.smoothScroll = {\ninit() {\ndocument.addEventListener( 'click', ( e ) => {\nlet anchor = e.target;\nif ( anchor.tagName !== 'A' ) {\nanchor = anchor.closest( 'a.tasty-recipes-scrollto' );\n}\n\nif ( ! anchor || ! anchor.classList.contains( 'tasty-recipes-scrollto' ) ) {\nreturn;\n}\n\nconst elementHref = anchor.getAttribute( 'href' );\nif ( ! elementHref ) {\nreturn;\n}\n\ne.preventDefault();\nthis.goToSelector( elementHref );\n});\n},\ngoToSelector( selector ) {\nconst element = document.querySelector( selector );\nif ( ! element ) {\nreturn;\n}\nelement.scrollIntoView( { behavior: 'smooth' } );\n}\n};\n\ndocument.addEventListener(\n'DOMContentLoaded',\n() => window.TastyRecipes.smoothScroll.init()\n);\n\n(function(){\n\n\nvar bothEquals = function( d1, d2, D ) {\nvar ret = 0;\nif (d1<=D) {\nret++;\n}\nif (d2<=D) {\nret++;\n}\nreturn ret === 2;\n};\n\nvar frac =function frac(x,D,mixed){var n1=Math.floor(x),d1=1;var n2=n1+1,d2=1;if(x!==n1){while(bothEquals(d1,d2,D)){var m=(n1+n2)\/(d1+d2);if(x===m){if(d1+d2<=D){d1+=d2;n1+=n2;d2=D+1}else if(d1>d2){d2=D+1;}else {d1=D+1;}break}else if(x<m){n2=n1+n2;d2=d1+d2}else{n1=n1+n2;d1=d1+d2}}}if(d1>D){d1=d2;n1=n2}if(!mixed){return[0,n1,d1];}var q=Math.floor(n1\/d1);return[q,n1-q*d1,d1]};frac.cont=function cont(x,D,mixed){var sgn=x<0?-1:1;var B=x*sgn;var P_2=0,P_1=1,P=0;var Q_2=1,Q_1=0,Q=0;var A=Math.floor(B);while(Q_1<D){A=Math.floor(B);P=A*P_1+P_2;Q=A*Q_1+Q_2;if(B-A<5e-8){break;}B=1\/(B-A);P_2=P_1;P_1=P;Q_2=Q_1;Q_1=Q}if(Q>D){if(Q_1>D){Q=Q_2;P=P_2}else{Q=Q_1;P=P_1}}if(!mixed){return[0,sgn*P,Q];}var q=Math.floor(sgn*P\/Q);return[q,sgn*P-q*Q,Q]};\n\n\nwindow.tastyRecipesVulgarFractions = JSON.parse(decodeURIComponent(\"%7B%22%C2%BC%22%3A%221%2F4%22%2C%22%C2%BD%22%3A%221%2F2%22%2C%22%C2%BE%22%3A%223%2F4%22%2C%22%E2%85%93%22%3A%221%2F3%22%2C%22%E2%85%94%22%3A%222%2F3%22%2C%22%E2%85%95%22%3A%221%2F5%22%2C%22%E2%85%96%22%3A%222%2F5%22%2C%22%E2%85%97%22%3A%223%2F5%22%2C%22%E2%85%98%22%3A%224%2F5%22%2C%22%E2%85%99%22%3A%221%2F6%22%2C%22%E2%85%9A%22%3A%225%2F6%22%2C%22%E2%85%9B%22%3A%221%2F8%22%2C%22%E2%85%9C%22%3A%223%2F8%22%2C%22%E2%85%9D%22%3A%225%2F8%22%2C%22%E2%85%9E%22%3A%227%2F8%22%7D\"));\n\nwindow.tastyRecipesFormatAmount = function(amount, el) {\nif ( parseFloat( amount ) === parseInt( amount ) ) {\nreturn amount;\n}\nvar roundType = 'frac';\nif (typeof el.dataset.amountShouldRound !== 'undefined') {\nif ('false' !== el.dataset.amountShouldRound) {\nif ( 'number' === el.dataset.amountShouldRound ) {\nroundType = 'number';\n} else if ('frac' === el.dataset.amountShouldRound) {\nroundType = 'frac';\n} else if ('vulgar' === el.dataset.amountShouldRound) {\nroundType = 'vulgar';\n} else {\nroundType = 'integer';\n}\n}\n}\nif ('number' === roundType) {\namount = Number.parseFloat(amount).toPrecision(2);\n} else if ('integer' === roundType) {\namount = Math.round(amount);\n} else if ('frac' === roundType || 'vulgar' === roundType) {\nvar denom = 8;\nif (typeof el.dataset.unit !== 'undefined') {\nvar unit = el.dataset.unit;\nif (['cups','cup','c'].includes(unit)) {\ndenom = 4;\nif (0.125 === amount) {\ndenom = 8;\n}\nif (\"0.1667\" === Number.parseFloat( amount ).toPrecision(4)) {\ndenom = 6;\n}\n}\nif (['tablespoons','tablespoon','tbsp'].includes(unit)) {\ndenom = 2;\n}\nif (['teaspoons','teaspoon','tsp'].includes(unit)) {\ndenom = 8;\n}\n}\nvar amountArray = frac.cont( amount, denom, true );\nvar newAmount = '';\nif ( amountArray[1] !== 0 ) {\nnewAmount = amountArray[1] + '\/' + amountArray[2];\nif ('vulgar' === roundType) {\nObject.keys(window.tastyRecipesVulgarFractions).forEach(function(vulgar) {\nif (newAmount === window.tastyRecipesVulgarFractions[vulgar]) {\nnewAmount = vulgar;\n}\n});\n}\n}\nif ( newAmount ) {\nnewAmount = ' ' + newAmount;\n}\nif ( amountArray[0] ) {\nnewAmount = amountArray[0] + newAmount;\n}\namount = newAmount;\n}\nreturn amount;\n};\n\n\nwindow.tastyRecipesUpdatePrintLink = () => {\n\nconst printButton = document.querySelector( '.tasty-recipes-print-button' );\n\n\nif ( ! printButton ) {\nreturn;\n}\n\nconst printURL = new URL( printButton.href );\nconst searchParams = new URLSearchParams( printURL.search );\n\nconst unitButton = document.querySelector( '.tasty-recipes-convert-button-active' );\nconst scaleButton = document.querySelector( '.tasty-recipes-scale-button-active' );\n\nlet unit = '';\nlet scale = '';\n\nif ( unitButton ) {\nunit = unitButton.dataset.unitType;\nsearchParams.delete('unit');\nsearchParams.set( 'unit', unit );\n}\n\nif ( scaleButton ) {\nscale = scaleButton.dataset.amount;\nsearchParams.set( 'scale', scale );\n}\n\nconst paramString = searchParams.toString();\nconst newURL = '' === paramString ? printURL.href : printURL.origin + printURL.pathname + '?' + paramString;\nconst printLinks = document.querySelectorAll( '.tasty-recipes-print-link' );\n\nprintLinks.forEach( ( el ) => {\nel.href = newURL;\n});\n\nconst printButtons = document.querySelectorAll( '.tasty-recipes-print-button' );\nprintButtons.forEach( ( el ) => {\nel.href = newURL;\n});\n};\n\n\ndocument.addEventListener( 'DOMContentLoaded', () => {\n\n\nif ( ! window.location.href.includes( '\/print\/' ) ) {\nreturn;\n}\n\nconst searchParams = new URLSearchParams( window.location.search );\n\nconst unit = searchParams.get( 'unit' );\nconst scale = searchParams.get( 'scale' );\n\nif ( unit && ( 'metric' === unit || 'usc' === unit ) ) {\ndocument.querySelector( '.tasty-recipes-convert-button[data-unit-type=\"' + unit + '\"]' ).click();\n}\n\nif ( scale && Number(scale) > 0 ) {\ndocument.querySelector( '.tasty-recipes-scale-button[data-amount=\"' + Number(scale) + '\"]' ).click();\n}\n});\n}());\n\n(function(){\nvar buttonClass = 'tasty-recipes-scale-button',\nbuttonActiveClass = 'tasty-recipes-scale-button-active',\nbuttons = document.querySelectorAll('.tasty-recipes-scale-button');\nif ( ! buttons ) {\nreturn;\n}\n\nbuttons.forEach(function(button){\nbutton.addEventListener('click', function(event){\nevent.preventDefault();\nvar recipe = event.target.closest('.tasty-recipes');\nif ( ! recipe ) {\nreturn;\n}\nvar otherButtons = recipe.querySelectorAll('.' + buttonClass);\notherButtons.forEach(function(bt){\nbt.classList.remove(buttonActiveClass);\n});\nbutton.classList.add(buttonActiveClass);\n\n\nvar scalables = recipe.querySelectorAll('span[data-amount]');\nvar buttonAmount = parseFloat( button.dataset.amount );\nscalables.forEach(function(scalable){\nif (typeof scalable.dataset.amountOriginalType === 'undefined'\n&& typeof scalable.dataset.nfOriginal === 'undefined') {\nif (-1 !== scalable.innerText.indexOf('\/')) {\nscalable.dataset.amountOriginalType = 'frac';\n}\nif (-1 !== scalable.innerText.indexOf('.')) {\nscalable.dataset.amountOriginalType = 'number';\n}\nObject.keys(window.tastyRecipesVulgarFractions).forEach(function(vulgar) {\nif (-1 !== scalable.innerText.indexOf(vulgar)) {\nscalable.dataset.amountOriginalType = 'vulgar';\n}\n});\nif (typeof scalable.dataset.amountOriginalType !== 'undefined') {\nscalable.dataset.amountShouldRound = scalable.dataset.amountOriginalType;\n}\n}\nvar amount = parseFloat( scalable.dataset.amount ) * buttonAmount;\namount = window.tastyRecipesFormatAmount(amount, scalable);\nif ( typeof scalable.dataset.unit !== 'undefined' ) {\nif ( ! scalable.classList.contains('nutrifox-quantity') ) {\nif ( ! scalable.classList.contains('nutrifox-second-quantity') ) {\namount += ' ' + scalable.dataset.unit;\n}\n}\n}\nscalable.innerText = amount;\n});\n\nvar nonNumerics = recipe.querySelectorAll('[data-has-non-numeric-amount]');\nnonNumerics.forEach(function(nonNumeric){\nvar indicator = nonNumeric.querySelector('span[data-non-numeric-label]');\nif ( indicator ) {\nnonNumeric.removeChild(indicator);\n}\nif ( 1 !== buttonAmount ) {\nindicator = document.createElement('span');\nindicator.setAttribute('data-non-numeric-label', true);\nvar text = document.createTextNode(' (x' + buttonAmount + ')');\nindicator.appendChild(text);\nnonNumeric.appendChild(indicator);\n}\n});\n\nwindow.tastyRecipesUpdatePrintLink();\n});\n});\n}());\n\nwindow.TastyRecipes = window.TastyRecipes || {};\nwindow.TastyRecipes.cookMode = {\nwakeLockApi: false,\nwakeLock: false,\ncookModeSelector: '.tasty-recipes-cook-mode',\ninit() {\nif (\"wakeLock\" in navigator && \"request\" in navigator.wakeLock) {\nthis.wakeLockApi = navigator.wakeLock;\n}\n\nconst cookModes = document.querySelectorAll(this.cookModeSelector);\n\nif (cookModes.length > 0) {\nfor (const cookMode of cookModes) {\nif (this.wakeLockApi) {\ncookMode.querySelector('input[type=\"checkbox\"]').addEventListener(\"change\", event => {\nthis.checkboxChange(event.target);\n}, false);\n} else {\ncookMode.style.display = \"none\";\n}\n}\n}\n},\ncheckboxChange(checkbox) {\nif (checkbox.checked) {\nthis.lock();\n} else {\nthis.unlock();\n}\n},\nsetCheckboxesState(state) {\nconst checkboxes = document.querySelectorAll(this.cookModeSelector + ' input[type=\"checkbox\"]');\nfor (const checkbox of checkboxes) {\ncheckbox.checked = state;\n}\n},\nasync lock() {\ntry {\nthis.wakeLock = await this.wakeLockApi.request(\"screen\");\nthis.wakeLock.addEventListener(\"release\", () => {\nthis.wakeLock = false;\nthis.setCheckboxesState(false);\n});\nthis.setCheckboxesState(true);\n} catch (error) {\nthis.setCheckboxesState(false);\n}\n},\nunlock() {\nif (this.wakeLock) {\nthis.wakeLock.release();\nthis.wakeLock = false;\n}\nthis.setCheckboxesState(false);\n}\n};\n\n(function(callback) {\nif (document.readyState !== \"loading\") {\ncallback();\n} else {\ndocument.addEventListener(\"DOMContentLoaded\", callback);\n}\n})(() => {\nwindow.TastyRecipes.cookMode.init();\n});\n\n\n\nwindow.TastyRecipes = window.TastyRecipes || {};\n\nwindow.TastyRecipes.staticTooltip = {\nelement: null,\ntooltipElement: null,\ndeleting: false,\ninit( element ) {\nif ( this.deleting ) {\nreturn;\n}\nthis.element = element;\nthis.buildElements();\n},\ndestroy() {\nif ( ! this.tooltipElement || this.deleting ) {\nreturn;\n}\n\nthis.deleting = true;\nthis.tooltipElement.classList.remove( 'opened' );\n\nsetTimeout( () => {\nthis.tooltipElement.remove();\nthis.deleting = false;\n}, 500 );\n},\nbuildElements() {\nconst tooltipElement = document.createElement( 'div' );\ntooltipElement.classList.add( 'tasty-recipes-static-tooltip');\ntooltipElement.setAttribute( 'id', 'tasty-recipes-tooltip' );\n\nconst currentTooltipElement = document.getElementById( 'tasty-recipes-tooltip' );\nif ( currentTooltipElement ) {\ndocument.body.replaceChild( tooltipElement, currentTooltipElement );\n} else {\ndocument.body.appendChild( tooltipElement );\n}\n\nthis.tooltipElement = document.getElementById( 'tasty-recipes-tooltip' );\n},\nshow() {\nif ( ! this.tooltipElement ) {\nreturn;\n}\n\nconst tooltipTop = this.element.getBoundingClientRect().top\n+ window.scrollY\n- 10 \/\/ 10px offset.\n- this.tooltipElement.getBoundingClientRect().height;\nconst tooltipLeft = this.element.getBoundingClientRect().left\n- ( this.tooltipElement.getBoundingClientRect().width \/ 2 )\n+ ( this.element.getBoundingClientRect().width \/ 2 ) - 1;\nconst posLeft = Math.max( 10, tooltipLeft );\nthis.maybeRemoveTail( posLeft !== tooltipLeft );\n\nthis.tooltipElement.setAttribute( 'style', 'top:' + tooltipTop + 'px;left:' + posLeft + 'px;' );\nthis.tooltipElement.classList.add( 'opened' );\n\n},\nmaybeRemoveTail( removeTail ) {\nif ( removeTail ) {\nthis.tooltipElement.classList.add( 'tr-hide-tail' );\n} else {\nthis.tooltipElement.classList.remove( 'tr-hide-tail' );\n}\n},\nchangeMessage( message ) {\nif ( ! this.tooltipElement ) {\nreturn;\n}\nthis.tooltipElement.innerHTML = message;\n}\n};\n\nwindow.TastyRecipes.ajax = {\nsendPostRequest( url, data, success, failure ) {\nconst xhr = new XMLHttpRequest();\nxhr.open( 'POST', url, true );\nxhr.send( this.preparePostData( data ) );\n\nxhr.onreadystatechange = () => {\nif ( 4 !== xhr.readyState ) {\nreturn;\n}\nif ( xhr.status === 200 ) {\nsuccess( JSON.parse( xhr.responseText ) );\nreturn;\n}\n\nfailure( xhr );\n};\n\nxhr.onerror = () => {\nfailure( xhr );\n};\n},\npreparePostData( data ) {\nconst formData = new FormData();\n\nfor ( const key in data ) {\nformData.append( key, data[key] );\n}\nreturn formData;\n},\n};\n\nwindow.TastyRecipes.ratings = {\ndefaultRating: 0,\ncurrentRatingPercentage: 100,\nsavingRating: false,\ninit( minRating ) {\nthis.minRating = minRating;\n\nthis.formWatchRating();\nthis.closeTooltipWhenClickOutside();\nthis.addBodyClassBasedOnSelectedRating();\nthis.backwardCompFormRatingPosition();\n},\nformWatchRating() {\nconst ratings = document.querySelectorAll('.tasty-recipes-no-ratings-buttons [data-rating]');\nif ( ratings.length <= 0 ) {\nreturn;\n}\nfor ( const rating of ratings ) {\nrating.addEventListener( 'click', event => {\nevent.preventDefault();\nthis.defaultRating = event.target.closest( '.checked' ).dataset.rating;\nthis.setCheckedStar( event.target );\nthis.maybeSendRating( this.defaultRating, event.target );\nthis.setRatingInForm( this.defaultRating );\n} );\n}\n},\ncloseTooltipWhenClickOutside() {\nwindow.addEventListener( 'click', e => {\n\/\/ Bailout (don't remove the tooltip) when the clicked element is a rating star, or it's the tooltip itself.\nif ( e.target.closest( '.tasty-recipes-rating' ) || e.target.classList.contains( 'tasty-recipes-static-tooltip' ) ) {\nreturn;\n}\n\nwindow.TastyRecipes.staticTooltip.destroy();\n} );\n},\n setRatingInForm( rating ) {\nconst ratingInput = document.querySelector( '#respond .tasty-recipes-rating[value=\"' + rating + '\"]' );\nif ( ! ratingInput ) {\nreturn;\n}\nratingInput.click();\n},\naddBodyClassBasedOnSelectedRating() {\nconst ratingInputs = document.querySelectorAll( 'input.tasty-recipes-rating' );\nif ( ! ratingInputs ) {\nreturn;\n}\nfor ( const ratingInput of ratingInputs ) {\nratingInput.addEventListener( 'click', currentEvent => {\nconst selectedRating = currentEvent.target.getAttribute( 'value' );\nthis.handleBodyClassByRating( selectedRating );\nthis.toggleCommentTextareaRequired( selectedRating );\n} );\n}\n},\nhandleBodyClassByRating( rating ) {\nif ( rating < this.minRating ) {\ndocument.body.classList.remove( 'tasty-recipes-selected-minimum-rating' );\nreturn;\n}\ndocument.body.classList.add( 'tasty-recipes-selected-minimum-rating' );\n},\ntoggleCommentTextareaRequired( rating ) {\nconst commentTextarea = document.getElementById( 'comment' );\nif ( ! commentTextarea ) {\nreturn;\n}\n\nif ( rating < this.minRating ) {\ncommentTextarea.setAttribute( 'required', '' );\nreturn;\n}\n\ncommentTextarea.removeAttribute( 'required' );\n},\nmaybeSendRating( rating, element ) {\nif ( this.savingRating === rating ) {\nreturn;\n}\n\nthis.savingRating = rating;\nwindow.TastyRecipes.staticTooltip.init( element );\n\nconst recipeCardElement = element.closest( '.tasty-recipes' );\nif ( ! recipeCardElement ) {\nwindow.TastyRecipes.staticTooltip.destroy();\nreturn;\n}\n\nwindow.TastyRecipes.ajax.sendPostRequest(\nwindow.trCommon.ajaxurl,\n{\naction: 'tasty_recipes_save_rating',\nrating,\nnonce: window.trCommon.ratingNonce,\npost_id: window.trCommon.postId,\nrecipe_id: recipeCardElement.dataset.trId,\n},\n( response ) => {\nwindow.TastyRecipes.staticTooltip.changeMessage( response.data.message );\nwindow.TastyRecipes.staticTooltip.show();\nthis.updateAverageText( response.data, recipeCardElement );\nthis.maybeFillCommentForm( response.data );\n\n\/\/ Hide the tooltip after 5 seconds.\nsetTimeout( () => {\nthis.maybeResetTooltip( recipeCardElement, response.data, rating );\n}, 5000 );\n},\n() => {\nthis.resetTooltip( recipeCardElement );\n}\n);\n},\nupdateAverageText( data, recipeCardElement ) {\nif ( ! data.average ) {\nreturn;\n}\nthis.setRatingPercent( data );\n\nif ( ! data.count ) {\nreturn;\n}\n\nconst quickLink = document.querySelector( '.tasty-recipes-rating-link' );\nif ( quickLink ) {\nthis.setTextInContainer( quickLink, data );\nthis.setPartialStar( quickLink );\n}\n\nconst cardStars = recipeCardElement.querySelector( '.tasty-recipes-ratings-buttons' );\ncardStars.dataset.trDefaultRating = data.average;\nthis.setTextInContainer( recipeCardElement.querySelector( '.tasty-recipes-rating' ), data );\n},\nsetTextInContainer( container, data ) {\nif ( ! container ) {\nreturn;\n}\n\nif ( data.label ) {\nconst ratingLabelElement = container.querySelector( '.rating-label' );\nif ( ratingLabelElement ) {\nratingLabelElement.innerHTML = data.label;\n}\nreturn;\n}\n\nconst averageElement = container.querySelector( '.average' );\nif ( averageElement ) {\naverageElement.textContent = data.average;\n}\n\nconst countElement = container.querySelector( '.count' );\nif ( countElement ) {\ncountElement.textContent = data.count;\n}\n},\nsetPartialStar( container ) {\nconst highestStar = container.querySelector( '[data-rating=\"' + Math.ceil( this.defaultRating ) + '\"]' );\nif ( highestStar ) {\nhighestStar.dataset.trClip = this.currentRatingPercentage;\n}\n},\nsetRatingPercent( data ) {\nthis.defaultRating = data.average.toFixed( 1 );\nconst parts = data.average.toFixed( 2 ).toString().split( '.' );\nthis.currentRatingPercentage = parts[1] ? parts[1] : 100;\nif ( this.currentRatingPercentage === '00' ) {\nthis.currentRatingPercentage = 100;\n}\n},\nsetCheckedStar( target ) {\nconst cardRatingContainer = target.closest( '.tasty-recipes-ratings-buttons' );\nconst selectedRatingElement = cardRatingContainer.querySelector( '[data-tr-checked]' );\nif ( selectedRatingElement ) {\ndelete selectedRatingElement.dataset.trChecked;\n}\n\nconst thisStar = target.closest( '.tasty-recipes-rating' );\nthisStar.dataset.trChecked = 1;\nthisStar.querySelector( '[data-tr-clip]' ).dataset.trClip = 100;\n},\nmaybeFillCommentForm( data ) {\nif ( ! data.comment || ! data.comment.content ) {\nreturn;\n}\n\nconst commentForm = document.querySelector( '#commentform' );\nif ( ! commentForm ) {\nreturn;\n}\n\nconst commentBox = commentForm.querySelector( '[name=comment]' );\nif ( ! commentBox || commentBox.value ) {\nreturn;\n}\n\n\/\/ Add comment details for editing.\ncommentBox.innerHTML = data.comment.content;\nif ( data.comment.name ) {\ncommentForm.querySelector( '[name=author]' ).value = data.comment.name;\ncommentForm.querySelector( '[name=email]' ).value = data.comment.email;\n}\n},\nmaybeResetTooltip( recipeCardElement, data, rating ) {\nif ( this.savingRating === rating ) {\nthis.resetTooltip( recipeCardElement, data );\n}\n},\nresetTooltip( recipeCardElement, data ) {\nwindow.TastyRecipes.staticTooltip.destroy();\nthis.savingRating = false;\n\n\/\/ Reset the default rating.\nconst cardRatingContainer = recipeCardElement.querySelector( '.tasty-recipes-ratings-buttons' );\nif ( cardRatingContainer ) {\nthis.defaultRating = ( data && data.average ) ? data.average.toFixed(1) : cardRatingContainer.dataset.trDefaultRating;\ncardRatingContainer.dataset.trDefaultRating = this.defaultRating;\n\nthis.resetSelectedStar( cardRatingContainer, data );\n}\n},\nresetSelectedStar( cardRatingContainer ) {\nconst selectedRatingElement = cardRatingContainer.querySelector( '[data-rating=\"' + Math.ceil( this.defaultRating ) + '\"]' );\nif ( selectedRatingElement ) {\nselectedRatingElement.querySelector( '[data-tr-clip]' ).dataset.trClip = this.currentRatingPercentage;\nselectedRatingElement.parentNode.dataset.trChecked = 1;\n}\n\nconst previousSelectedElement= cardRatingContainer.querySelector( '[data-tr-checked]' );\nif ( previousSelectedElement ) {\nconst currentSelectedRating = previousSelectedElement.querySelector('[data-rating]');\nif ( currentSelectedRating !== selectedRatingElement ) {\ndelete previousSelectedElement.dataset.trChecked;\n}\n}\n},\nbackwardCompFormRatingPosition() {\nconst ratingsButtons = document.querySelector( '#respond .tasty-recipes-ratings-buttons, #tasty-recipes-comment-rating .tasty-recipes-ratings-buttons' );\nif ( ! ratingsButtons ) {\nreturn;\n}\nconst ratingsButtonsStyles = window.getComputedStyle(ratingsButtons);\nif ( ! ratingsButtonsStyles.display.includes( 'flex' ) ) {\nratingsButtons.style.direction = 'rtl';\n}\n\nif ( typeof tastyRecipesRating !== 'undefined' ) {\n\/\/ Select the rating that was previously selected in admin.\nratingsButtons.querySelector( '.tasty-recipes-rating[value=\"' + tastyRecipesRating + '\"]' ).checked = true;\n}\n\nconst ratingSpans = ratingsButtons.querySelectorAll( '.tasty-recipes-rating' );\nfor (const ratingSpan of ratingSpans) {\nratingSpan.addEventListener( 'click', event => {\nif ( ratingSpan === event.target ) {\nreturn;\n}\nratingSpan.previousElementSibling.click();\n} );\n}\n}\n};\n\n(function(callback) {\nif (document.readyState !== \"loading\") {\ncallback();\n} else {\nwindow.addEventListener( 'load', callback );\n}\n})(() => {\nwindow.TastyRecipes.ratings.init( window.trCommon ? window.trCommon.minRating : 4 );\n});\n<\/script><\/div>\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Simple Goat Cheese Salad will always hold a special place in my kitchen because it proves that simplicity can still feel luxurious. Every time I make it, I\u2019m reminded that good food doesn\u2019t need to be complicated. It just needs fresh ingredients, a little care, and a moment to slow down.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Story &amp; Intro (My Kitchen Memory) Simple Goat Cheese Salad has always been one of those recipes I turn to when I want something light but still deeply satisfying. &#8230; <\/p>\n<p class=\"read-more-container\"><a title=\"Simple Goat Cheese Salad Fresh, Creamy &amp; Perfectly Light\" class=\"read-more button\" href=\"https:\/\/marilynrecipes.com\/index.php\/2026\/05\/21\/simple-goat-cheese-salad\/#more-2431\" aria-label=\"Read more about Simple Goat Cheese Salad Fresh, Creamy &amp; Perfectly Light\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":2484,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-2431","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-trends-recipes","generate-columns","tablet-grid-50","mobile-grid-100","grid-parent","grid-50","no-featured-image-padding"],"_links":{"self":[{"href":"https:\/\/marilynrecipes.com\/index.php\/wp-json\/wp\/v2\/posts\/2431","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/marilynrecipes.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/marilynrecipes.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/marilynrecipes.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/marilynrecipes.com\/index.php\/wp-json\/wp\/v2\/comments?post=2431"}],"version-history":[{"count":1,"href":"https:\/\/marilynrecipes.com\/index.php\/wp-json\/wp\/v2\/posts\/2431\/revisions"}],"predecessor-version":[{"id":2485,"href":"https:\/\/marilynrecipes.com\/index.php\/wp-json\/wp\/v2\/posts\/2431\/revisions\/2485"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/marilynrecipes.com\/index.php\/wp-json\/wp\/v2\/media\/2484"}],"wp:attachment":[{"href":"https:\/\/marilynrecipes.com\/index.php\/wp-json\/wp\/v2\/media?parent=2431"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/marilynrecipes.com\/index.php\/wp-json\/wp\/v2\/categories?post=2431"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/marilynrecipes.com\/index.php\/wp-json\/wp\/v2\/tags?post=2431"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}