{"id":3817,"date":"2026-09-08T19:24:52","date_gmt":"2026-09-08T17:24:52","guid":{"rendered":"http:\/\/sju-sjar.local\/christmas-buffet-parties-2026\/"},"modified":"2026-09-23T11:41:30","modified_gmt":"2026-09-23T09:41:30","slug":"christmas-buffet-parties-2026","status":"publish","type":"sjs_retreat","link":"https:\/\/www.sjusjoar.se\/en\/retreats-courses\/christmas-buffet-parties-2026\/","title":{"rendered":"Christmas Buffet &#038; Christmas Party at Sju Sj\u00f6ar"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">The flavors of Christmas. Time for each other. <\/h2>\n\n<p class=\"wp-block-paragraph\">As the evenings grow darker, we gather around food, warmth, and each other. At our family-owned farm, surrounded by forests and lakes, we set the table with a traditional, homemade Christmas feast and cozy mulled wine. Here, there\u2019s time to sit back, let the conversations flow, and enjoy Christmas together.  <\/p>\n\n<div class=\"wp-block-media-text is-stacked-on-mobile is-vertically-aligned-center has-background\" style=\"background-color:#faf8f3;margin-top:40px;margin-bottom:40px;grid-template-columns:43% auto\"><figure class=\"wp-block-media-text__media\"><a href=\"https:\/\/www.sjusjoar.se\/wp-content\/uploads\/2026\/09\/sju-sjoar-julbord-2026.png\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1054\" height=\"1492\" src=\"https:\/\/www.sjusjoar.se\/wp-content\/uploads\/2026\/09\/sju-sjoar-julbord-2026.png\" alt=\"Julbord p\u00e5 Sju Sj\u00f6ar 2026 \u2013 julbord med gl\u00f6ggmys och \u00f6vernattningspaket\" class=\"wp-image-3808 size-full\" srcset=\"https:\/\/www.sjusjoar.se\/wp-content\/uploads\/2026\/09\/sju-sjoar-julbord-2026.png 1054w, https:\/\/www.sjusjoar.se\/wp-content\/uploads\/2026\/09\/sju-sjoar-julbord-2026-212x300.png 212w, https:\/\/www.sjusjoar.se\/wp-content\/uploads\/2026\/09\/sju-sjoar-julbord-2026-723x1024.png 723w, https:\/\/www.sjusjoar.se\/wp-content\/uploads\/2026\/09\/sju-sjoar-julbord-2026-768x1087.png 768w, https:\/\/www.sjusjoar.se\/wp-content\/uploads\/2026\/09\/sju-sjoar-julbord-2026-600x849.png 600w\" sizes=\"(max-width: 1054px) 100vw, 1054px\" \/><\/a><\/figure><div class=\"wp-block-media-text__content\">\n<h3 class=\"wp-block-heading\" style=\"font-size:28px\">Christmas Buffet at Sju Sj\u00f6ar<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Bring the family or gather your friends to enjoy the flavors of Christmas. An evening of homemade food and mulled wine in a cozy setting close to nature. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Christmas buffet with mulled wine<br\/>695 SEK per person<\/strong><br\/>Children ages 5\u201312: 250 SEK.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Fridays and Saturdays during weeks 48\u201351. Select your date when booking. <\/p>\n<\/div><\/div>\n\n<h2 class=\"wp-block-heading\">Let the evening be a little getaway<\/h2>\n\n<p class=\"wp-block-paragraph\">Stay a while after dinner is over. With a sauna, warm baths, and a made-up bed on the farm, you can treat yourselves to a little more time together. The breakfast buffet awaits you the next morning.  <\/p>\n\n<p class=\"wp-block-paragraph\">Our overnight package costs <strong>1,450 SEK per person in a shared double room<\/strong>. It includes a Christmas buffet with mulled wine, one night\u2019s stay, a breakfast buffet, a sauna, and hot baths. <\/p>\n\n<div class=\"wp-block-media-text has-media-on-the-right is-stacked-on-mobile is-vertically-aligned-center has-background\" style=\"background-color:#faf8f3;margin-top:40px;margin-bottom:40px;grid-template-columns:auto 43%\"><div class=\"wp-block-media-text__content\">\n<h3 class=\"wp-block-heading\" style=\"font-size:28px\">Your Christmas party. The whole farm. <\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Celebrate Christmas your way. Gather your colleagues at a farm that you\u2019ll have all to yourselves. We\u2019ll tailor the evening to your preferences, with food, fellowship, and space for both celebration and relaxation.  <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Choose the Christmas buffet or stay overnight. The corporate offer is valid for weeks 48\u201351 and includes up to 60 beds. We\u2019ll plan the dates and details together.  <\/p>\n<\/div><figure class=\"wp-block-media-text__media\"><a href=\"https:\/\/www.sjusjoar.se\/wp-content\/uploads\/2026\/09\/sju-sjoar-julfest-foretag-2026.png\"><img decoding=\"async\" width=\"1024\" height=\"1536\" src=\"https:\/\/www.sjusjoar.se\/wp-content\/uploads\/2026\/09\/sju-sjoar-julfest-foretag-2026.png\" alt=\"Julfest f\u00f6r f\u00f6retag p\u00e5 Sju Sj\u00f6ar 2026 \u2013 g\u00e5rden exklusivt och paket med \u00f6vernattning\" class=\"wp-image-3806 size-full\" srcset=\"https:\/\/www.sjusjoar.se\/wp-content\/uploads\/2026\/09\/sju-sjoar-julfest-foretag-2026.png 1024w, https:\/\/www.sjusjoar.se\/wp-content\/uploads\/2026\/09\/sju-sjoar-julfest-foretag-2026-200x300.png 200w, https:\/\/www.sjusjoar.se\/wp-content\/uploads\/2026\/09\/sju-sjoar-julfest-foretag-2026-683x1024.png 683w, https:\/\/www.sjusjoar.se\/wp-content\/uploads\/2026\/09\/sju-sjoar-julfest-foretag-2026-768x1152.png 768w, https:\/\/www.sjusjoar.se\/wp-content\/uploads\/2026\/09\/sju-sjoar-julfest-foretag-2026-600x900.png 600w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><\/div>\n\n<h2 class=\"wp-block-heading\">We&#8217;ll help you get everyone together<\/h2>\n\n<p class=\"wp-block-paragraph\">For Christmas buffets and overnight packages: <a href=\"https:\/\/www.sjusjoar.se\/en\/accommodations-nature\/#package-3816\">select a date and view the available options during the booking process<\/a>. All Christmas buffet dates are also listed in the date overview here on this page. <\/p>\n\n<p class=\"wp-block-paragraph\">For a private Christmas party with your company: let us know how many people will be attending, your preferred date, and what you\u2019d like the evening to include. <a href=\"mailto:kontakt@sjusjoar.se\">Email us at kontakt@sjusjoar.se<\/a> or call <a href=\"tel:+4632083313\">0320\u2013833 13<\/a>, and we\u2019ll work out the details together.<\/p>\n\n<!-- Sju Sj\u00f6ar: frist\u00e5ende bokningsdel. Klistra in hela filen i ett HTML-block.\n     \u00c4ndra datum och Sirvoy-ID:n i CONFIG l\u00e4ngst ned. En bokningsdel per eventsida. -->\n<style>\n\/* CSS-undantag: fristaende-sirvoy-val\n   Syfte: Ge bes\u00f6karen tydliga datum- och paketval f\u00f6re Sirvoy.\n   Omfattning: Endast #sjs-booking-julbord.sjs-event-booking och dess inneh\u00e5ll.\n   Begr\u00e4nsning i Elementor: Anv\u00e4ndaren \u00f6nskar uttryckligen portabel HTML att klistra in.\n   Kan tas bort n\u00e4r: Denna frist\u00e5ende HTML-del tas bort eller ers\u00e4tts. *\/\n#sjs-booking-julbord.sjs-event-booking{--sjs-forest:#2f4638;--sjs-cream:#f4f0eb;--sjs-paper:#fcfaf6;--sjs-ink:#2b2521;--sjs-line:#c6cdc2;color:var(--sjs-ink);margin:48px 0;max-width:100%;scroll-margin-top:110px;text-align:left}\n#sjs-booking-julbord.sjs-event-booking,#sjs-booking-julbord.sjs-event-booking *{box-sizing:border-box}\n#sjs-booking-julbord.sjs-event-booking [hidden]{display:none!important}\n#sjs-booking-julbord.sjs-event-booking h2{font-size:clamp(32px,4vw,48px);line-height:1.08;margin:0 0 14px;color:var(--sjs-ink)}\n#sjs-booking-julbord.sjs-event-booking .sjs-intro{font-size:16px;line-height:1.65;margin:0 0 24px;max-width:54ch;color:var(--sjs-ink)}\n#sjs-booking-julbord.sjs-event-booking fieldset{min-width:0;border:0;padding:0;margin:0}\n#sjs-booking-julbord.sjs-event-booking legend{float:none;display:block;width:100%;padding:0;font:inherit;font-weight:600;font-size:20px;line-height:1.4;margin:0 0 18px;color:inherit}\n#sjs-booking-julbord.sjs-event-booking .sjs-date-panel{background:var(--sjs-forest);color:var(--sjs-paper);padding:clamp(20px,3vw,30px);margin-bottom:28px}\n#sjs-booking-julbord.sjs-event-booking .sjs-date-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}\n#sjs-booking-julbord.sjs-event-booking .sjs-date-grid[data-count=\"1\"]{grid-template-columns:minmax(0,220px)}\n#sjs-booking-julbord.sjs-event-booking .sjs-choice{position:relative;display:block;margin:0;cursor:pointer;font:inherit}\n#sjs-booking-julbord.sjs-event-booking .sjs-choice input{position:absolute;opacity:0;width:1px;height:1px;margin:0;padding:0;pointer-events:none}\n#sjs-booking-julbord.sjs-event-booking .sjs-date-face{display:flex;min-height:82px;flex-direction:column;justify-content:center;padding:13px 10px;border:1px solid #90a194;background:transparent;color:var(--sjs-paper);text-align:center;line-height:1.35}\n#sjs-booking-julbord.sjs-event-booking .sjs-date-face small{font-size:13px;font-weight:400;margin-bottom:3px;color:inherit}\n#sjs-booking-julbord.sjs-event-booking .sjs-date-face strong{font-size:22px;font-weight:500;color:inherit;white-space:nowrap}\n#sjs-booking-julbord.sjs-event-booking .sjs-choice:hover .sjs-date-face{background:#3e5947;border-color:var(--sjs-paper)}\n#sjs-booking-julbord.sjs-event-booking .sjs-choice input:checked+.sjs-date-face{background:var(--sjs-paper);color:var(--sjs-forest);border-color:var(--sjs-paper)}\n#sjs-booking-julbord.sjs-event-booking .sjs-choice input:focus-visible+span{outline:3px solid #a7b19a;outline-offset:4px}\n#sjs-booking-julbord.sjs-event-booking .sjs-choice input:disabled+span{opacity:.4;cursor:not-allowed;text-decoration:line-through}\n#sjs-booking-julbord.sjs-event-booking .sjs-packages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}\n#sjs-booking-julbord.sjs-event-booking .sjs-package-face{height:100%;min-height:128px;display:flex;flex-direction:column;padding:22px;border:1px solid var(--sjs-line);background:var(--sjs-paper);color:var(--sjs-ink);line-height:1.45}\n#sjs-booking-julbord.sjs-event-booking .sjs-package-face strong{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:500;color:inherit;margin-bottom:9px}\n#sjs-booking-julbord.sjs-event-booking .sjs-package-face strong::before{content:\"\";display:block;flex:none;width:17px;height:17px;border:1px solid var(--sjs-forest);border-radius:50%;background:transparent}\n#sjs-booking-julbord.sjs-event-booking .sjs-package-face small{display:block;font-size:15px;font-weight:400;color:inherit}\n#sjs-booking-julbord.sjs-event-booking .sjs-choice:hover .sjs-package-face{border-color:var(--sjs-forest);background:var(--sjs-cream)}\n#sjs-booking-julbord.sjs-event-booking .sjs-choice input:checked+.sjs-package-face{border-color:var(--sjs-forest);box-shadow:inset 0 0 0 1px var(--sjs-forest);background:#e8ece5}\n#sjs-booking-julbord.sjs-event-booking .sjs-choice input:checked+.sjs-package-face strong::before{background:var(--sjs-forest);box-shadow:inset 0 0 0 4px #e8ece5}\n#sjs-booking-julbord.sjs-event-booking .sjs-help{font-size:14px;line-height:1.5;margin:12px 0 0;max-width:52ch;color:#6c5b51}\n#sjs-booking-julbord.sjs-event-booking .sjs-start,#sjs-booking-julbord.sjs-event-booking .sjs-change,#sjs-booking-julbord.sjs-event-booking .sjs-retry{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:20px;width:auto;min-height:48px;font:inherit;font-size:16px;font-weight:500;line-height:1.4;text-transform:none;text-decoration:none;border-radius:0;box-shadow:none;cursor:pointer;padding:15px 24px;border:1px solid var(--sjs-forest);background:var(--sjs-forest);color:var(--sjs-paper)}\n#sjs-booking-julbord.sjs-event-booking .sjs-start:hover,#sjs-booking-julbord.sjs-event-booking .sjs-retry:hover{background:var(--sjs-ink);border-color:var(--sjs-ink);color:var(--sjs-paper)}\n#sjs-booking-julbord.sjs-event-booking button:focus-visible{outline:3px solid #7e9292;outline-offset:4px}\n#sjs-booking-julbord.sjs-event-booking .sjs-start:disabled{opacity:.5;cursor:not-allowed;background:var(--sjs-forest);color:var(--sjs-paper)}\n#sjs-booking-julbord.sjs-event-booking .sjs-start svg{width:22px;height:22px;flex:none}\n#sjs-booking-julbord.sjs-event-booking .sjs-change{background:transparent;color:var(--sjs-forest);border-color:var(--sjs-line);font-size:15px;padding:10px 14px;min-height:44px}\n#sjs-booking-julbord.sjs-event-booking .sjs-change:hover{background:var(--sjs-cream);border-color:var(--sjs-forest);color:var(--sjs-ink)}\n#sjs-booking-julbord.sjs-event-booking .sjs-result{scroll-margin-top:110px}\n#sjs-booking-julbord.sjs-event-booking .sjs-result-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-top:1px solid var(--sjs-line);border-bottom:1px solid var(--sjs-line);margin-bottom:20px}\n#sjs-booking-julbord.sjs-event-booking .sjs-summary{font-size:18px;line-height:1.5;font-weight:500;color:var(--sjs-forest);margin:0}\n#sjs-booking-julbord.sjs-event-booking .sjs-engine{min-height:180px;max-width:100%;background:#fff}\n#sjs-booking-julbord.sjs-event-booking .sjs-engine iframe{display:block;max-width:100%;border:0}\n#sjs-booking-julbord.sjs-event-booking .sjs-feedback{font-size:16px;line-height:1.6;color:var(--sjs-ink);margin:16px 0}\n#sjs-booking-julbord.sjs-event-booking .sjs-edit-note{font-size:14px;line-height:1.6;border-left:3px solid #a7b19a;padding:0 0 0 15px;margin:0 0 20px;color:var(--sjs-ink)}\n@media(max-width:600px){#sjs-booking-julbord.sjs-event-booking{scroll-margin-top:90px}#sjs-booking-julbord.sjs-event-booking .sjs-date-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#sjs-booking-julbord.sjs-event-booking .sjs-packages{grid-template-columns:1fr}#sjs-booking-julbord.sjs-event-booking .sjs-package-face{min-height:0;padding:20px}#sjs-booking-julbord.sjs-event-booking .sjs-start{width:100%}#sjs-booking-julbord.sjs-event-booking .sjs-result-head{align-items:flex-start;flex-direction:column;gap:14px}#sjs-booking-julbord.sjs-event-booking .sjs-result{scroll-margin-top:90px}}\n\n#sjs-booking-julbord.sjs-event-booking .sjs-start{margin-top:24px}\n<\/style>\n<section class=\"sjs-event-booking\" id=\"sjs-booking-julbord\" aria-label=\"Bokning\">\n  <h2 data-copy=\"title\">Boka ert julbord<\/h2>\n  <p class=\"sjs-intro\" data-copy=\"intro\">V\u00e4lj datum och med eller utan \u00f6vernattning. Se sedan lediga alternativ och boka direkt h\u00e4r.<\/p>\n  <form class=\"sjs-choices\">\n    <p class=\"sjs-edit-note\" data-copy=\"editNote\" hidden=\"\">Om ni byter datum eller paket startar formul\u00e4ret om.<\/p>\n    <div class=\"sjs-date-panel\"><fieldset><legend data-copy=\"dateLegend\">1. V\u00e4lj datum<\/legend><div class=\"sjs-date-grid\"><\/div><\/fieldset><\/div>\n    <fieldset><legend data-copy=\"packageLegend\">2. V\u00e4lj ert paket<\/legend><div class=\"sjs-packages\"><\/div><\/fieldset>\n    <button class=\"sjs-start\" type=\"submit\" disabled=\"\"><span data-copy=\"start\">Visa lediga alternativ<\/span><svg viewbox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M4 12h16m-6-6 6 6-6 6\" stroke=\"currentColor\" stroke-width=\"1.5\" fill=\"none\"><\/path><\/svg><\/button>\n    <p class=\"sjs-help\" role=\"status\" aria-live=\"polite\"><\/p>\n  <\/form>\n  <p class=\"sjs-feedback sjs-closed\" data-copy=\"closed\" hidden=\"\">Det finns inga kommande bokningsbara tillf\u00e4llen just nu.<\/p>\n  <div class=\"sjs-result\" hidden=\"\">\n    <div class=\"sjs-result-head\"><p class=\"sjs-summary\"><\/p><button type=\"button\" class=\"sjs-change\" data-copy=\"change\">\u00c4ndra datum eller paket<\/button><\/div>\n    <p class=\"sjs-feedback sjs-loading\" role=\"status\" aria-live=\"polite\"><\/p>\n    <button type=\"button\" class=\"sjs-retry\" data-copy=\"retry\" hidden=\"\">F\u00f6rs\u00f6k igen<\/button>\n    <div class=\"sjs-engine\" aria-busy=\"false\"><\/div>\n  <\/div>\n  <noscript><p>Aktivera JavaScript f\u00f6r att v\u00e4lja datum och boka. Ni kan \u00e4ven kontakta <a href=\"mailto:kontakt@sjusjoar.se\">kontakt@sjusjoar.se<\/a>.<\/p><\/noscript>\n<\/section>\n<script data-cfasync=\"false\" data-no-optimize=\"1\">\n(function(){\n  'use strict';\n  \/\/ INST\u00c4LLNINGAR: datum (\u00c5\u00c5\u00c5\u00c5-MM-DD), eventets namn och de tv\u00e5 Sirvoy-ID:na.\n  \/\/ Uppdatera datumen h\u00e4r n\u00e4r koden \u00e5teranv\u00e4nds. Datum\/priser\/kapacitet i Sirvoy\n  \/\/ m\u00e5ste vara inst\u00e4llda f\u00f6r samma tillf\u00e4llen; HTML-koden \u00e4ndrar inte Sirvoy.\n  const CONFIG = {\n  \"root\": \"sjs-booking-julbord\",\n  \"language\": \"auto\",\n  \"title\": {\n    \"sv\": \"Boka ert julbord\",\n    \"en\": \"Book your Christmas buffet\"\n  },\n  \"dates\": [\n    \"2026-11-27\",\n    \"2026-11-28\",\n    \"2026-12-04\",\n    \"2026-12-05\",\n    \"2026-12-11\",\n    \"2026-12-12\",\n    \"2026-12-18\",\n    \"2026-12-19\"\n  ],\n  \"closesAt\": \"\",\n  \"engines\": {\n    \"day\": \"a933eb8882829d0f\",\n    \"stay\": \"85851a22d3ce09d6\"\n  },\n  \"description\": {\n    \"day\": {\n      \"sv\": \"Julbord och gl\u00f6ggmys. F\u00f6r er som \u00e5ker hem efter kv\u00e4llen.\",\n      \"en\": \"Christmas buffet and mulled wine. For those going home afterwards.\"\n    },\n    \"stay\": {\n      \"sv\": \"Julbord, \u00f6vernattning och frukost. Med bastu och varma bad.\",\n      \"en\": \"Christmas buffet, an overnight stay and breakfast. With sauna and hot tubs.\"\n    }\n  }\n};\n  const root = document.getElementById(CONFIG.root);\n  if (!root || root.dataset.ready === 'yes') return;\n  root.dataset.ready = 'yes';\n  const english = (CONFIG.language === 'auto' ? document.documentElement.lang : CONFIG.language).toLowerCase().startsWith('en');\n  const locale = english ? 'en-GB' : 'sv-SE';\n  const t = english ? {\n    title:CONFIG.title.en,intro:'Choose your date and whether you would like to stay overnight.',dateLegend:'1. Choose your date',packageLegend:'2. Choose your package',start:'Show available options',change:'Change date or package',retry:'Try again',editNote:'If you change the date or package, the booking form will start over.',closed:'There are no upcoming dates available to book right now.',pickBoth:'Choose a date and a package to continue.',pickDate:'Choose your date to continue.',pickPackage:'Choose with or without accommodation to continue.',ready:'Your selection is ready. Continue to see availability and prices.',loading:'Loading your booking options\u2026',slow:'The booking form is taking longer than expected. Try again, or contact us at kontakt@sjusjoar.se.',error:'The booking form could not load. Try again, or contact us at kontakt@sjusjoar.se.',datePassed:'This date is no longer available. Choose another date.',day:'Without accommodation',stay:'With accommodation',booking:'Booking',priceHint:'Availability and final prices are shown below.'\n  } : {\n    title:CONFIG.title.sv,intro:'V\u00e4lj datum och om ni vill stanna \u00f6ver natten.',dateLegend:'1. V\u00e4lj datum',packageLegend:'2. V\u00e4lj ert paket',start:'Visa lediga alternativ',change:'\u00c4ndra datum eller paket',retry:'F\u00f6rs\u00f6k igen',editNote:'Om ni byter datum eller paket startar bokningsformul\u00e4ret om.',closed:'Det finns inga kommande bokningsbara tillf\u00e4llen just nu.',pickBoth:'V\u00e4lj ett datum och ett paket f\u00f6r att forts\u00e4tta.',pickDate:'V\u00e4lj ert datum f\u00f6r att forts\u00e4tta.',pickPackage:'V\u00e4lj med eller utan \u00f6vernattning f\u00f6r att forts\u00e4tta.',ready:'Era val \u00e4r klara. Forts\u00e4tt f\u00f6r att se tillg\u00e4nglighet och priser.',loading:'H\u00e4mtar era bokningsalternativ\u2026',slow:'Bokningen tar l\u00e4ngre tid \u00e4n v\u00e4ntat att ladda. F\u00f6rs\u00f6k igen eller kontakta oss p\u00e5 kontakt@sjusjoar.se.',error:'Bokningen kunde inte laddas. F\u00f6rs\u00f6k igen eller kontakta oss p\u00e5 kontakt@sjusjoar.se.',datePassed:'Det datumet g\u00e5r inte l\u00e4ngre att boka. V\u00e4lj ett annat datum.',day:'Utan \u00f6vernattning',stay:'Med \u00f6vernattning',booking:'Bokning',priceHint:'Tillg\u00e4nglighet och slutligt pris visas nedan.'\n  };\n  if(CONFIG.dates.length===1){\n    t.intro=english?'Choose with or without an overnight stay.':'V\u00e4lj om ni vill stanna \u00f6ver natten eller bara boka kv\u00e4llen.';\n    t.packageLegend=english?'Choose your package':'V\u00e4lj ert paket';\n    t.change=english?'Change package':'\u00c4ndra paket';\n    t.editNote=english?'If you change the package, the booking form will start over.':'Om ni byter paket startar bokningsformul\u00e4ret om.';\n    root.querySelector('.sjs-date-panel').hidden=true;\n  }\n  root.setAttribute('aria-label', t.booking);\n  root.querySelectorAll('[data-copy]').forEach(el => { el.textContent = t[el.dataset.copy] || ''; });\n  const form=root.querySelector('form'),help=root.querySelector('.sjs-help'),start=root.querySelector('.sjs-start'),result=root.querySelector('.sjs-result'),engine=root.querySelector('.sjs-engine'),loading=root.querySelector('.sjs-loading'),retry=root.querySelector('.sjs-retry');\n  const state={date:'',kind:'',loadedKey:'',container:'',version:0,timer:null};\n  function today(){const parts=new Intl.DateTimeFormat('en-CA',{timeZone:'Europe\/Stockholm',year:'numeric',month:'2-digit',day:'2-digit'}).formatToParts(new Date());return ['year','month','day'].map(key=>parts.find(p=>p.type===key).value).join('-');}\n  function isOpen(date){return date>today()&&(!CONFIG.closesAt||Date.now()<Date.parse(CONFIG.closesAt));}\n  function asDate(date){return new Date(date+'T12:00:00Z');}\n  function nextDay(date){const next=asDate(date);next.setUTCDate(next.getUTCDate()+1);return next.toISOString().slice(0,10);}\n  function format(date,options){return new Intl.DateTimeFormat(locale,{timeZone:'UTC',...options}).format(asDate(date));}\n  function element(tag,classes,text){const node=document.createElement(tag);if(classes)node.className=classes;if(text)node.textContent=text;return node;}\n  const dates=[...new Set(CONFIG.dates)].filter(d=>\/^\\d{4}-\\d{2}-\\d{2}$\/.test(d)&&!isNaN(asDate(d))&&asDate(d).toISOString().slice(0,10)===d).sort();\n  const available=dates.filter(isOpen);\n  root.querySelector('.sjs-date-grid').dataset.count=String(dates.length);\n  dates.forEach(date=>{\n    const label=element('label','sjs-choice'),input=element('input'),face=element('span','sjs-date-face');\n    input.type='radio';input.name=CONFIG.root+'-date';input.value=date;input.disabled=!isOpen(date);input.setAttribute('aria-label',format(date,{weekday:'long',day:'numeric',month:'long',year:'numeric'}));\n    face.append(element('small','',format(date,{weekday:'long'})),element('strong','',format(date,{day:'numeric',month:'short'})));\n    label.append(input,face);root.querySelector('.sjs-date-grid').append(label);\n    if(available.length===1&&date===available[0]){input.checked=true;state.date=date;}\n  });\n  ['day','stay'].forEach(kind=>{\n    const label=element('label','sjs-choice'),input=element('input'),face=element('span','sjs-package-face');\n    input.type='radio';input.name=CONFIG.root+'-package';input.value=kind;\n    face.append(element('strong','',t[kind]),element('small','',CONFIG.description[kind][english?'en':'sv']));\n    label.append(input,face);root.querySelector('.sjs-packages').append(label);\n  });\n  function update(){start.disabled=!(state.date&&state.kind);help.hidden=Boolean(state.date&&state.kind);help.textContent=state.date?(state.kind?t.ready:t.pickPackage):(state.kind?t.pickDate:t.pickBoth);}\n  form.addEventListener('change',event=>{if(event.target.name===CONFIG.root+'-date')state.date=event.target.value;if(event.target.name===CONFIG.root+'-package')state.kind=event.target.value;update();});\n  if(!available.length){form.hidden=true;root.querySelector('.sjs-closed').hidden=false;}\n  update();\n  function notice(text){loading.textContent=text;loading.hidden=false;engine.setAttribute('aria-busy','false');retry.hidden=false;}\n  function mount(force){\n    if(!state.date||!state.kind)return;\n    if(!isOpen(state.date)){help.hidden=false;help.textContent=t.datePassed;start.disabled=true;return;}\n    const key=state.date+'|'+state.kind;\n    form.hidden=true;result.hidden=false;\n    root.querySelector('.sjs-summary').textContent=format(state.date,{weekday:'long',day:'numeric',month:'long',year:'numeric'})+' \u00b7 '+t[state.kind].toLowerCase();\n    if(force||key!==state.loadedKey){\n      clearTimeout(state.timer);state.loadedKey=key;state.container=CONFIG.root+'-engine-'+(++state.version);\n      engine.replaceChildren();engine.setAttribute('aria-busy','true');loading.textContent=t.loading;loading.hidden=false;retry.hidden=true;\n      \/\/ Sirvoy ger befintliga URL-parametrar f\u00f6retr\u00e4de framf\u00f6r data-attribut.\n      \/\/ Uppdatera endast dessa om de redan finns, s\u00e5 de inte skriver \u00f6ver valt datum.\n      const url=new URL(location.href);let changed=false;\n      const current={check_in:state.date,check_out:nextDay(state.date),target:'results',language:english?'en':'sv'};\n      Object.keys(current).forEach(k=>{if(url.searchParams.has(k)&&url.searchParams.get(k)!==current[k]){url.searchParams.set(k,current[k]);changed=true;}});\n      if(changed)history.replaceState(history.state,'',url);\n      const script=document.createElement('script');\n      script.async=true;script.src='https:\/\/secured.sirvoy.com\/widget\/sirvoy.js';\n      script.dataset.formId=CONFIG.engines[state.kind];script.dataset.containerId=state.container;\n      script.dataset.checkIn=state.date;script.dataset.checkOut=nextDay(state.date);script.dataset.lang=english?'en':'sv';script.dataset.target='results';\n      script.setAttribute('data-no-optimize','1');script.setAttribute('data-cfasync','false');\n      const version=state.version;\n      script.onerror=()=>{if(version===state.version){clearTimeout(state.timer);notice(t.error);}};\n      engine.append(script);\n      state.timer=setTimeout(()=>{if(version===state.version)notice(t.slow);},20000);\n    }\n    result.scrollIntoView({block:'start',behavior:'auto'});\n    root.querySelector('.sjs-change').focus({preventScroll:true});\n  }\n  form.addEventListener('submit',event=>{event.preventDefault();mount(false);});\n  retry.addEventListener('click',()=>mount(true));\n  root.querySelector('.sjs-change').addEventListener('click',()=>{\n    result.hidden=true;form.hidden=false;root.querySelector('.sjs-edit-note').hidden=false;\n    form.scrollIntoView({block:'start',behavior:'auto'});const selected=form.querySelector(CONFIG.dates.length===1?'input[name$=\"-package\"]:checked':'input:checked');if(selected)selected.focus({preventScroll:true});\n  });\n  function ready(event){\n    if(!root.isConnected){window.removeEventListener('message',ready);return;}\n    const frame=engine.querySelector('iframe'),data=event.data;\n    if(event.origin!=='https:\/\/secured.sirvoy.com'||!frame||event.source!==frame.contentWindow||!data||typeof data!=='object'||data.container_id!==state.container)return;\n    if(data.event==='page_resize'&&Number(data.height)>0){clearTimeout(state.timer);loading.hidden=true;retry.hidden=true;engine.setAttribute('aria-busy','false');}\n  }\n  window.addEventListener('message',ready);\n  \/\/ Befintliga l\u00e4nkar till denna HTML-del ska stanna p\u00e5 samma sida.\n  function localLinks(){document.querySelectorAll('a[href]').forEach(link=>{const url=new URL(link.href,location.href);if(url.origin===location.origin&&url.pathname===location.pathname&&url.hash==='#'+CONFIG.root)link.removeAttribute('target');});}\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',localLinks,{once:true});else localLinks();\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>A homemade Christmas feast and cozy mulled wine at our family-owned farm. Gather your family, friends, or coworkers\u2014for an evening together or a full stay. <\/p>\n","protected":false},"featured_media":3809,"template":"","sjs_retreat_category":[],"class_list":["post-3817","sjs_retreat","type-sjs_retreat","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/www.sjusjoar.se\/en\/wp-json\/wp\/v2\/retreats\/3817","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sjusjoar.se\/en\/wp-json\/wp\/v2\/retreats"}],"about":[{"href":"https:\/\/www.sjusjoar.se\/en\/wp-json\/wp\/v2\/types\/sjs_retreat"}],"version-history":[{"count":17,"href":"https:\/\/www.sjusjoar.se\/en\/wp-json\/wp\/v2\/retreats\/3817\/revisions"}],"predecessor-version":[{"id":5998,"href":"https:\/\/www.sjusjoar.se\/en\/wp-json\/wp\/v2\/retreats\/3817\/revisions\/5998"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.sjusjoar.se\/en\/wp-json\/wp\/v2\/media\/3809"}],"wp:attachment":[{"href":"https:\/\/www.sjusjoar.se\/en\/wp-json\/wp\/v2\/media?parent=3817"}],"wp:term":[{"taxonomy":"sjs_retreat_category","embeddable":true,"href":"https:\/\/www.sjusjoar.se\/en\/wp-json\/wp\/v2\/sjs_retreat_category?post=3817"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}