{"id":2399,"date":"2024-09-06T12:32:15","date_gmt":"2024-09-06T11:32:15","guid":{"rendered":"https:\/\/foxinaboxgames.com\/stockholm\/?post_type=product&#038;p=2399"},"modified":"2026-03-10T09:08:09","modified_gmt":"2026-03-10T08:08:09","slug":"teslas-mystery","status":"publish","type":"product","link":"https:\/\/foxinabox.se\/se\/p\/rooms\/teslas-mystery\/","title":{"rendered":"TESLA`S MYSTERY"},"content":{"rendered":"<div class=\"wp-block-group alignfull has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\" style=\"margin-top:0;margin-bottom:0\">\n<div class=\"wp-block-cover alignfull has-custom-content-position is-position-bottom-center\" style=\"padding-bottom:2rem\"><img decoding=\"async\" width=\"2000\" height=\"674\" class=\"wp-block-cover__image-background wp-image-2268\" alt=\"Vector image of an escape room with scientific and technological props and wall drawings.\" src=\"https:\/\/foxinaboxgames.com\/stockholm\/wp-content\/uploads\/sites\/17\/2024\/05\/tesla-1.jpg\" data-object-fit=\"cover\" srcset=\"https:\/\/foxinabox.se\/wp-content\/uploads\/sites\/17\/2024\/05\/tesla-1.jpg 2000w, https:\/\/foxinabox.se\/wp-content\/uploads\/sites\/17\/2024\/05\/tesla-1-300x101.jpg 300w, https:\/\/foxinabox.se\/wp-content\/uploads\/sites\/17\/2024\/05\/tesla-1-1024x345.jpg 1024w, https:\/\/foxinabox.se\/wp-content\/uploads\/sites\/17\/2024\/05\/tesla-1-768x259.jpg 768w, https:\/\/foxinabox.se\/wp-content\/uploads\/sites\/17\/2024\/05\/tesla-1-1536x518.jpg 1536w, https:\/\/foxinabox.se\/wp-content\/uploads\/sites\/17\/2024\/05\/tesla-1-18x6.jpg 18w, https:\/\/foxinabox.se\/wp-content\/uploads\/sites\/17\/2024\/05\/tesla-1-600x202.jpg 600w\" sizes=\"(max-width: 2000px) 100vw, 2000px\" \/><span aria-hidden=\"true\" class=\"wp-block-cover__background has-background-dim-0 has-background-dim\" style=\"background-color:#4a2d1e\"><\/span><div class=\"wp-block-cover__inner-container has-global-padding is-layout-constrained wp-block-cover-is-layout-constrained\">\n<div class=\"wp-block-group alignwide has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\" style=\"padding-top:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--40)\">\n<h1 class=\"wp-block-heading alignwide has-text-align-left has-custom-white-color has-text-color has-link-color has-larger-font-size wp-elements-e75c18f23a353bcc076c0e05fa65d362\" style=\"margin-top:var(--wp--preset--spacing--30);margin-bottom:var(--wp--preset--spacing--50);line-height:0.9\">TESLA`S MYSTERY<\/h1>\n<\/div>\n<\/div><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group alignfull has-tertiary-background-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"margin-top:0;margin-bottom:0;padding-top:5rem;padding-bottom:5rem\">\n<div class=\"wp-block-group alignwide has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-columns alignwide stack-on-tablet-portrait is-layout-flex wp-container-core-columns-is-layout-123045d2 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<h2 class=\"wp-block-heading\" style=\"padding-bottom:var(--wp--preset--spacing--50)\">EN GENIALSK UPPFINNING FR\u00c5N ETT AV DE ST\u00d6RSTA HJ\u00c4LLAN I M\u00c4NSKLIGHETENS HISTORIA RISKAR ATT HALLA I ORE H\u00c4NDER.<\/h2>\n\n\n\n<p>Tesla dog 1943 i det ber\u00f6mda New Yorker Hotels rum 3327. Efter hans d\u00f6d har du f\u00e5tt ett brev fr\u00e5n Nikola Tesla sj\u00e4lv. I brevet ber han dig att komma till hans rum f\u00f6r att hitta ritningar f\u00f6r hans sista uppfinning och dela den med m\u00e4nskligheten innan FBI kommer till den. N\u00e4r du anl\u00e4nder till rummet \u00e4r FBI redan p\u00e5 v\u00e4g ... du har 60 minuter innan de kommer dit och arresterar dig f\u00f6r olaga intr\u00e5ng.&nbsp;<br><strong><br><strong>Sv\u00e5righetsgrad:\u00a0\u2605\u2605\u2605\u2605\u2730<\/strong><\/strong><\/p>\n\n\n\n<p><strong>Inneh\u00e5ller blinkande lampor<br>Kan anpassas f\u00f6r d\u00f6va och h\u00f6rselskadade spelare<\/strong><\/p>\n\n\n\n<p><em>Observera att vi \u00e4r ett engelsktalande f\u00f6retag och alla spel \u00e4r utformade f\u00f6r att spelas p\u00e5 engelska.<\/em><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<div class=\"wp-block-group has-custom-white-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-b91ec625 wp-block-group-is-layout-constrained\" style=\"border-radius:4px;padding-top:var(--wp--preset--spacing--50);padding-right:var(--wp--preset--spacing--60);padding-bottom:var(--wp--preset--spacing--50);padding-left:var(--wp--preset--spacing--60)\">\n<div class=\"wp-block-group is-content-justification-space-between is-layout-flex wp-container-core-group-is-layout-6edfc491 wp-block-group-is-layout-flex\" style=\"border-bottom-color:var(--wp--preset--color--offwhite);border-bottom-width:1px;padding-top:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--50)\">\n<h3 class=\"wp-block-heading has-small-font-size\">Antal spelare<\/h3>\n\n\n\n<h3 class=\"wp-block-heading has-small-font-size\">2-6<\/h3>\n<\/div>\n\n\n\n<div class=\"wp-block-group is-content-justification-space-between is-layout-flex wp-container-core-group-is-layout-f335b412 wp-block-group-is-layout-flex\" style=\"border-bottom-color:var(--wp--preset--color--offwhite);border-bottom-width:1px;padding-top:var(--wp--preset--spacing--50);padding-bottom:var(--wp--preset--spacing--50)\">\n<h3 class=\"wp-block-heading has-small-font-size\">Rekommenderad l\u00e4gsta \u00e5lder<\/h3>\n\n\n\n<h3 class=\"wp-block-heading has-small-font-size\">+11<\/h3>\n<\/div>\n\n\n\n<p class=\"has-primary-color has-text-color has-link-color has-small-font-size wp-elements-b385eb6579e1c7d4b289aa5366c2c8dc\" style=\"margin-bottom:var(--wp--preset--spacing--70)\">Perfekt f\u00f6r vuxna \/ ton\u00e5ringar \/ familjer<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button is-style-button-arrow\"><a class=\"wp-block-button__link wp-element-button\" href=\"#Book-Now\">BOKA NU<\/a><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group alignwide has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\" style=\"padding-top:5rem;padding-bottom:5rem\">\n<figure class=\"wp-block-gallery alignwide has-nested-images columns-4 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-full has-custom-border\"><img decoding=\"async\" width=\"690\" height=\"800\" data-id=\"2270\" src=\"https:\/\/foxinabox.se\/wp-content\/uploads\/sites\/17\/2024\/05\/Mask-group-1-3.jpeg\" alt=\"High-tech escape room generator at Fox in a Box Stockholm with futuristic props.\" class=\"wp-image-2270\" style=\"border-radius:4px\" srcset=\"https:\/\/foxinabox.se\/wp-content\/uploads\/sites\/17\/2024\/05\/Mask-group-1-3.jpeg 690w, https:\/\/foxinabox.se\/wp-content\/uploads\/sites\/17\/2024\/05\/Mask-group-1-3-259x300.jpeg 259w, https:\/\/foxinabox.se\/wp-content\/uploads\/sites\/17\/2024\/05\/Mask-group-1-3-10x12.jpeg 10w, https:\/\/foxinabox.se\/wp-content\/uploads\/sites\/17\/2024\/05\/Mask-group-1-3-600x696.jpeg 600w\" sizes=\"(max-width: 690px) 100vw, 690px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full has-custom-border\"><img decoding=\"async\" width=\"690\" height=\"800\" data-id=\"2273\" src=\"https:\/\/foxinabox.se\/wp-content\/uploads\/sites\/17\/2024\/05\/Mask-group-6.jpeg\" alt=\"Escape room Stockholm, industrial design, metal ventilation duct, science-themed decor, black wall with chalkboard sketches.\" class=\"wp-image-2273\" style=\"border-radius:4px\" srcset=\"https:\/\/foxinabox.se\/wp-content\/uploads\/sites\/17\/2024\/05\/Mask-group-6.jpeg 690w, https:\/\/foxinabox.se\/wp-content\/uploads\/sites\/17\/2024\/05\/Mask-group-6-259x300.jpeg 259w, https:\/\/foxinabox.se\/wp-content\/uploads\/sites\/17\/2024\/05\/Mask-group-6-10x12.jpeg 10w, https:\/\/foxinabox.se\/wp-content\/uploads\/sites\/17\/2024\/05\/Mask-group-6-600x696.jpeg 600w\" sizes=\"(max-width: 690px) 100vw, 690px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full has-custom-border\"><img decoding=\"async\" width=\"690\" height=\"800\" data-id=\"2271\" src=\"https:\/\/foxinabox.se\/wp-content\/uploads\/sites\/17\/2024\/05\/Mask-group-2-3.jpeg\" alt=\"Electricity gauges and switches inside an escape room game at Fox in a Box Stockholm, game room with vintage control panel and warm lighting.\" class=\"wp-image-2271\" style=\"border-radius:4px\" srcset=\"https:\/\/foxinabox.se\/wp-content\/uploads\/sites\/17\/2024\/05\/Mask-group-2-3.jpeg 690w, https:\/\/foxinabox.se\/wp-content\/uploads\/sites\/17\/2024\/05\/Mask-group-2-3-259x300.jpeg 259w, https:\/\/foxinabox.se\/wp-content\/uploads\/sites\/17\/2024\/05\/Mask-group-2-3-10x12.jpeg 10w, https:\/\/foxinabox.se\/wp-content\/uploads\/sites\/17\/2024\/05\/Mask-group-2-3-600x696.jpeg 600w\" sizes=\"(max-width: 690px) 100vw, 690px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full has-custom-border\"><img decoding=\"async\" width=\"690\" height=\"800\" data-id=\"2272\" src=\"https:\/\/foxinabox.se\/wp-content\/uploads\/sites\/17\/2024\/05\/Mask-group-3-3.jpeg\" alt=\"Cozy vintage living room with fireplace, antique clock, and ornate rug in Stockholm escape room setting.\" class=\"wp-image-2272\" style=\"border-radius:4px\" srcset=\"https:\/\/foxinabox.se\/wp-content\/uploads\/sites\/17\/2024\/05\/Mask-group-3-3.jpeg 690w, https:\/\/foxinabox.se\/wp-content\/uploads\/sites\/17\/2024\/05\/Mask-group-3-3-259x300.jpeg 259w, https:\/\/foxinabox.se\/wp-content\/uploads\/sites\/17\/2024\/05\/Mask-group-3-3-10x12.jpeg 10w, https:\/\/foxinabox.se\/wp-content\/uploads\/sites\/17\/2024\/05\/Mask-group-3-3-600x696.jpeg 600w\" sizes=\"(max-width: 690px) 100vw, 690px\" \/><\/figure>\n<\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-group alignfull has-offwhite-background-color has-background is-layout-flow wp-block-group-is-layout-flow\" id=\"Book-Now\" style=\"margin-top:0;margin-bottom:0;padding-top:3rem;padding-bottom:3rem\">\n<div class=\"wp-block-group alignwide has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\"><h2 style=\"margin-bottom:var(--wp--preset--spacing--20);\" class=\"alignwide wp-block-post-title has-extra-large-font-size\">TESLA`S MYSTERY<\/h2>\n\n\n<h4 class=\"wp-block-heading alignwide\" style=\"margin-top:var(--wp--preset--spacing--30);margin-bottom:4rem\">BOKA ETT SPEL<\/h4>\n\n\n\n<div class=\"wp-block-group alignwide has-global-padding is-content-justification-left is-layout-constrained wp-container-core-group-is-layout-4753cb3c wp-block-group-is-layout-constrained\" style=\"margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60)\">\n<p class=\"has-text-align-left\">For bookings before 12:30 Monday \u2013 Thursday please call us.<br><br>PLEASE NOTE:&nbsp;<strong>two player games have a fixed price of 850 SEK<\/strong>. This does not change depending on the day or time.<br><br>ALL TIMES LISTED ARE GAME START TIMES. YOU MUST ARRIVE 15 MINUTES BEFORE YOUR GAME IS DUE TO BEGIN.&nbsp;<\/p>\n\n\n\n<p class=\"has-text-align-left\"><strong>You are booking for Sveav\u00e4gen 14, 11157 Stockholm<\/strong><\/p>\n\n\n\n<div class=\"wp-block-group is-content-justification-left is-layout-flex wp-container-core-group-is-layout-bc8e6f51 wp-block-group-is-layout-flex\">\n<p class=\"has-text-align-center has-secondary-background-color has-background wp-container-content-9cfa9a5a\">350 SEK per person<\/p>\n\n\n\n<p class=\"has-text-align-center has-primary-background-color has-background wp-container-content-9cfa9a5a\">375 SEK per person<\/p>\n\n\n\n<p class=\"has-text-align-center has-custom-white-color has-text-color has-background has-link-color wp-elements-6cf71190620c59daedd3621bc9eb43e8 wp-container-content-9cfa9a5a\" style=\"background-color:#336699\">400 SEK per person<\/p>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-columns alignwide is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<div class=\"wp-block-group alignwide is-layout-flow wp-block-group-is-layout-flow\"><div data-block-name=\"woocommerce\/add-to-cart-form\" class=\"wp-block-add-to-cart-form wc-block-add-to-cart-form wc-block-add-to-cart-form--input wp-block-woocommerce-add-to-cart-form\" >\n<script type=\"text\/javascript\">\n  var siteData = {\n    id: 17  };\n  window.fiabBookingContext = {\n    product_id: 2399,\n    product_name: \"TESLA`S MYSTERY\",\n    currency: \"SEK\",\n    city: \"Stockholm\",\n    affiliation: \"Fox in a Box Stockholm\",\n    site_id: 17,\n    item_location_id: \"stockholm_\",\n    is_staff: false,\n\tenable_last_minute_reservations: \"no\",\n\tlast_minute_fee: 0,\n\tdisable_sleep_mode: \"no\"};\n  window.fiabOperatingHours = {\n    first: \"09:30\", \/\/ e.g. \"09:30:00\"\n    last: \"21:30\"     \/\/ e.g. \"21:30:00\"\n  };\n<\/script>\n\n<style>\n  .single-product .fc-daygrid-event.booked .fc-event-title:after {\n    content: \"Booked\" !important;\n  }\n\n  .single-product .fc-daygrid-event.booked .fc-event-title[data-booked-time]:after {\n    content: \"Booked\\A\" attr(data-booked-time) !important;\n\twhite-space: pre;\n  }\n\n  .single-product .fc-daygrid-event.booked.selected .fc-event-title:after {\n    content: \"Selected \" !important;\n  }\n\n  .fc-header-toolbar {\n    width: 100% !important;\n  }\n\n  .booking-form.multiple .fc-header-toolbar,\n  .booking-form.single .fc-header-toolbar {\n    background: #ED6B06 !important;\n    padding: 20px 30px !important;\n    border-top-left-radius: 5px !important;\n    border-top-right-radius: 5px !important;\n  }\n<\/style>\n\n<noscript>Din webbl\u00e4sare m\u00e5ste st\u00f6dja JavaScript f\u00f6r att kunna g\u00f6ra en bokning.<\/noscript>\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/hammer.js\/2.0.8\/hammer.min.js\"><\/script>\n\n\n<script type=\"text\/javascript\">\n\n\t\/\/ WordPress time format settings\n\tconst wpTimeFormat = {\n\t\tis24h: true,\n\t\tformat: \"H:i\"\t};\n\n\t\/\/ Function to format time according to WordPress settings\n\tfunction formatTimeAccordingToWP(date) {\n\t\tif (wpTimeFormat.is24h) {\n\t\t\treturn date.toLocaleString('en-US', { \n\t\t\t\thour: '2-digit', \n\t\t\t\tminute: '2-digit', \n\t\t\t\thour12: false \n\t\t\t});\n\t\t} else {\n\t\t\treturn date.toLocaleString('en-US', { \n\t\t\t\thour: 'numeric', \n\t\t\t\tminute: '2-digit', \n\t\t\t\thour12: true \n\t\t\t});\n\t\t}\n\t}\n\n\t\t\tfunction getOperationalReferenceTime(eventDate) {\n\n\t\t\tconst now = new Date();\n\t\t\tif (!window.fiabOperatingHours) {\n\t\t\t\treturn now; \/\/ fallback safety\n\t\t\t}\n\n\t\t\t \/\/ NEW: bypass sleep mode completely\n\t\t\tif (fiabBookingContext.disable_sleep_mode === 'yes') {\n\t\t\t\treturn now;\n\t\t\t}\n\n\t\t\tconst [firstHour, firstMin] = fiabOperatingHours.first.split(':').map(Number);\n\t\t\tconst [lastHour, lastMin] = fiabOperatingHours.last.split(':').map(Number);\n\t\t\t\n\n\t\t\t\/\/ First slot today\n\t\t\tconst firstSlotToday = new Date(now);\n\t\t\tfirstSlotToday.setHours(firstHour, firstMin, 0, 0);\n\n\t\t\t\/\/ Last slot today\n\t\t\tconst lastSlotToday = new Date(now);\n\t\t\tlastSlotToday.setHours(lastHour, lastMin, 0, 0);\n\n\t\t\t\/\/ First slot tomorrow\n\t\t\tconst firstSlotTomorrow = new Date(firstSlotToday);\n\t\t\tfirstSlotTomorrow.setDate(firstSlotTomorrow.getDate() + 1);\n\n\t\t\t\/\/ --- Sleep mode logic ---\n\t\t\tif (now < firstSlotToday) {\n\t\t\t\t\/\/ Before opening \u2192 freeze at today opening\n\t\t\t\treturn firstSlotToday;\n\t\t\t}\n\t\t\tif (now > lastSlotToday) {\n\t\t\t\t\/\/ After closing \u2192 freeze at tomorrow opening\n\t\t\t\treturn firstSlotTomorrow;\n\t\t\t}\n\t\t\t\/\/ During working hours\n\t\t\treturn now;\n\t\t}\n\n\n\tdocument.addEventListener('DOMContentLoaded', function() {\n\n\t\tconst defaultPlayers = product_data.default_players;\n\n\t\t\/\/ Find the radio input for the default number of players and select it\n\t\tconst playerInputs = document.querySelectorAll(\".persons-number-selector\");\n\t\t\t\tplayerInputs.forEach(input => {\n\t\t\t\t\tif (input.value === defaultPlayers) {\n\t\t\t\t\t\t\tinput.checked = true;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\tvar myTranslations = {\"changeDate\":\"Change Date\"};\n\t\tconst locale = document.documentElement.lang;\t\n\t\t\n\t\t\/\/ Show initial loading state\n\t\tjQuery('#calendar-single').addClass('loading-spinner');\n\t\t\n\t\t\/\/ Set proper height and positioning for loading state\n\t\tjQuery('#calendar-single').css({\n\t\t\t'min-height': '500px',\n\t\t\t'position': 'relative',\n\t\t\t'background': '#f9f9f9',\n\t\t\t'width': '100%',\n\t\t\t'overflow': 'hidden'\n\t\t});\n\t\t\n\t\t\/\/ Ensure calendar content maintains width\n\t\tjQuery('#calendar-single .fc-view-harness, #calendar-single .fc-scrollgrid').css({\n\t\t\t'width': '100%',\n\t\t\t'min-width': '100%',\n\t\t\t'max-width': '100%'\n\t\t});\n\t\t\n\t\t\/\/ Add initial loading message with fade-in effect\n\t\tif (!jQuery('#calendar-single .initial-loading').length) {\n\t\t\tjQuery('#calendar-single').append('<div class=\"initial-loading\">Loading calendar...<\/div>');\n\t\t\t\/\/ Trigger fade-in animation\n\t\t\tsetTimeout(function() {\n\t\t\t\tjQuery('#calendar-single .initial-loading').css('opacity', '1');\n\t\t\t}, 100);\n\t\t}\n\n\t    var calendarEl = document.getElementById('calendar-single');\n\t    var calendar = new FullCalendar.Calendar(calendarEl, {\n\t    \tlocale: 'sv',\n\t\t\tinitialView: 'dayGridFourDay',\n\t\t\theight:'auto',\n\t\t\tinitialDate: '' || new Date().toISOString().split('T')[0],\n\t\t\teventDisplay: 'block',\n\t\t\ttimeZone: 'local', \n\t\t\tviews: {\n\t\t\t    dayGridFourDay: {\n\t\t\t        type: 'dayGridWeek',\n\t\t\t        slotMinTime: '09:30',\n\t    \t\t\tslotMaxTime: '23:30',\n\t\t\t        duration: { days: jQuery(window).width() < 765 ? 3 : 7 },\n\t\t\t        \/\/ dayHeaderFormat: { weekday: 'short', month: 'short', day: 'numeric', omitCommas: false },\n\t\t\t        \/\/ eventTimeFormat: { \/\/ like '14:30:00'\n\t\t\t\t\t\/\/     hour: '2-digit',\n\t\t\t\t\t\/\/     minute: '2-digit',\n\t\t\t\t\t\/\/     meridiem: 'short',\n\t\t\t\t\t\/\/     hour12: true\n\t\t\t\t\t\/\/ },\n\t\t\t\t\tdayHeaderFormat: { weekday: 'short', month: 'short', day: 'numeric', omitCommas: false },\n\t\t\t\t\t\/\/ \u2b07\ufe0f Time format depends on WP time format\n\t\t\t\t\teventTimeFormat: {\n\t\t\t\t\t\thour: '2-digit',\n\t\t\t\t\t\tminute: '2-digit',\n\t\t\t\t\t\thour12: false,\n\t\t\t\t\t\tmeridiem: false\t\t\t\t\t},\n\n\t\t\t\t\t\/\/ If you also want the slot labels to follow WP format:\n\t\t\t\t\tslotLabelFormat: {\n\t\t\t\t\t\thour: '2-digit',\n\t\t\t\t\t\tminute: '2-digit',\n\t\t\t\t\t\thour12: false,\n\t\t\t\t\t\tmeridiem: false\t\t\t\t\t}\n\t\t\t    }\n\t\t\t},\n\t\t\tbuttonIcons: false,\n\t\t\theaderToolbar: {\n\t\t\t    left: 'prev',\n\t\t\t    center: 'title',\n\t\t\t    right: 'next' \/\/ user can switch between the two\n\t\t\t},\n\t\t\t\/\/ validRange: function(nowDate) {\n\t\t\t\/\/   return {\n\t\t\t\/\/     start: nowDate\n\t\t\t\/\/   };\n\t\t\t\/\/ },\n\t\t\tcustomButtons: {\n\t\t\t\tdatepicker: {\n\t\t\t\t\ttext: (locale === 'fr-CA') ? 'Changer la date' :\n\t\t\t\t\t\t(locale === 'zh-HK') ? '\u66f4\u6539\u65e5\u671f' :\n\t\t\t\t\t\t(locale === 'hr')    ? 'Promijeni datum' :\n\t\t\t\t\t\t(locale === 'hr_HR') ? 'Promijeni datum' :\n\t\t\t\t\t\t(locale === 'bs-BA') ? 'Promijeni datum' :\n\t\t\t\t\t\t(locale === 'es-MX') ? 'Cambiar fecha' :\n\t\t\t\t\t\t(locale === 'de-AT') ? 'Datum \u00e4ndern' :\n\t\t\t\t\t\t(myTranslations?.changeDate ?? 'Change date'),\n\t\t\t\t\tclick: function (e) {\n\t\t\t\t\t\tpicker.show();\n\t\t\t\t\t}\n\t\t\t\t}\n\t        },\n\t        headerToolbar: {\n\t            left: 'prev',\n\t            center: 'datepicker title',\n\t            right: 'next'\n\t        },\n\t\t\tfirstDay: 1,\n\t\t\tallDaySlot: false,\n\t\t\tloading: function(isLoading) {\n\t\t\t\tif (isLoading) {\n\t\t\t\t\t\/\/ Simple loading state - just add loading class\n\t\t\t\t\tjQuery('#calendar-single').addClass('loading-spinner');\n\t\t\t\t} else {\n\t\t\t\t\t\/\/ Remove loading class when done\n\t\t\t\t\tjQuery('#calendar-single').removeClass('loading-spinner');\n\t\t\t\t}\n\t\t\t},\n\n\t\t\teventClick: function(calEvent, jsEvent, view) {\n\t\t\t\t  \tvar el = calEvent.el;\n\t\t\t\t\tvar ev = calEvent.event;\n\t\t\t\t\tvar $el = jQuery(el);\n\n\n\t\t\t\t\tif (jQuery(el).hasClass('selected-block')) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\n\t\t\t\tif ( jQuery(calEvent.el).hasClass(\"available\") ) {\n\t\t\t\t\ttry {\n\t\t\t\t\tconst blockId  = calEvent.event.id || calEvent.event._def.publicId;\n\t\t\t\t\tconst startISO = calEvent.event.startStr;\n\t\t\t\t\tconst startDate = new Date(startISO);\n\n\t\t\t\t\tfireSelectTimeSlot({\n\t\t\t\t\t\titem_id: fiabBookingContext.product_id.toString(),\n\t\t\t\t\t\titem_location_id: fiabBookingContext.item_location_id,\n\t\t\t\t\t\tlocation_name: fiabBookingContext.city,\n\n\t\t\t\t\t\tbooking_date: startDate.toISOString().split('T')[0], \/\/ YYYY-MM-DD\n\t\t\t\t\t\tbooking_time: startDate.toTimeString().slice(0, 5),  \/\/ HH:mm\n\t\t\t\t\t\tblock_id: blockId,\n\t\t\t\t\t\tselection_source: \"calendar\"\n\t\t\t\t\t});\n\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\/\/ silent fail (UI must not break)\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t\t}\n\n\n\n\t\t\t\t\tdocument.querySelector('.wc-booking-product-id').value = calEvent.event._def.extendedProps.product_id;\n\n\t\t\t\t\tjQuery( \".submit-form-book\" ).css(\"display\", \"block\");\n\t\t\t\t\tjQuery( \".last-minute-notice\" ).css(\"display\", \"none\");\n\n\t\t\t\t\tif(siteData.id !== 17){\n\t\t\t\t\t\tlet x = document.getElementsByClassName(\"selected-block\");\n\t\t\t\t\t\tif( x.length > 0) { x[0].classList.remove(\"selected-block\"); }\n\t\t\t\t\t\tjQuery( calEvent.el ).addClass( 'selected-block' );\n\t\t\t\t\t}else {\n\t\t\t\t\t\tapplyPaletteToEl(el, SELECTED_PALETTE);\n\n\t\t\t\t\t\t\/\/ --- repaint previous selection first ---\n\t\t\t\t\t\trestorePrevSelection();\n\n\t\t\t\t\t\t\/\/ --- mark new selection + paint selected inline (no CSS) ---\n\t\t\t\t\t\t_selEvent = ev;\n\t\t\t\t\t\t_selEl = el;\n\t\t\t\t\t\tel.classList.remove('selected-block');\n\t\t\t\t\t\tel.classList.add('selected-block');\n\t\t\t\t\t}\n\t\t\t\t   \n\t\t\t\t\tjQuery( \".empty-state\" ).remove();\n\n\t\t\t\t    var timestamp = new Date().getUTCMilliseconds();\n\n\t\t\t\t\t\/\/ jQuery('input[name=\"wc_bookings_field_persons\"]').prop('checked', false);\n\n\t\t\t\t\t\/\/ \/\/ Select the first radio button\n\t\t\t\t\t\/\/ jQuery('input[name=\"wc_bookings_field_persons\"]').first().prop('checked', true);\n\n\t\t\t\t\t\/\/ Remove focus from all radio buttons\n\t\t\t\t\t\/\/ jQuery('input[name=\"wc_bookings_field_persons\"]').blur();\n\n\t\t\t\t    jQuery( \"#wc_bookings_field_start_date\" ).val( calEvent.event.startStr ).change();\n\n\t\t\t\t\tvar event_date = new Date(calEvent.event.startStr);\n\n\t\t\t\t\t\/\/ Sleep-mode aware reference time\n\t\t\t\t\tvar referenceTime = getOperationalReferenceTime(event_date);\n\n\t\t\t\t\tvar diff = event_date - referenceTime;\n\t\t\t\t\tvar minsDiff = Math.floor(diff \/ 60000);\n\n\t\t\t\t\t\/\/ Format time according to WordPress settings\n\t\t\t\t\tvar time = formatTimeAccordingToWP(event_date);\n\t\t\t\t\tvar dd = event_date.getDate();\n\t\t\t\t\tvar mm = event_date.getMonth()+1;\n\t\t\t\t\tvar month = event_date.toLocaleString('default', { month: 'long' });\n\t\t\t\t\tvar yyyy = event_date.getFullYear();\n\n\t\t\t\t\tjQuery( '.booking-date-text' ).empty();\n\t\t\t        jQuery( '.booking-date-text' ).prepend( month + ' ' + dd + ', ' + yyyy );\n\n\t\t\t        jQuery( '.booking-time-text' ).empty();\n\t\t\t        jQuery( '.booking-time-text' ).prepend( time );\n\n\n\t\t\t        jQuery( \".selected-room.data\" ).css(\"display\", \"block\");\n\n\t\t\t\t\tif (minsDiff < product_data.advance_call_confirmation_window) {\n\n\t\t\t\t\t\tif (Boolean(fiabBookingContext.is_staff) === false) {\n\n\t\t\t\t\t\t\tjQuery(\".last-minute-notice\").css(\"display\", \"block\");\n\n\t\t\t\t\t\t\tif (fiabBookingContext.enable_last_minute_reservations === 'no') {\n\t\t\t\t\t\t\t\tjQuery(\".submit-form-book\").css(\"display\", \"none\");\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\t\t\t\t\tif ( product_data.maximum_bookable_days_in_future > 0 ) {\n\n\t\t\t\t\t\tlet currentDate = new Date();\n\t\t\t\t\t\tlet timestampDaysFromToday = currentDate.getTime() + (product_data.maximum_bookable_days_in_future * 24 * 60 * 60 * 1000); \/\/ 90 days in milliseconds\n\n\t\t\t\t\t\t\/\/ Check if the event start date is no later than 90 days from today\n\t\t\t\t\t\tif (event_date <= timestampDaysFromToday) {\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tjQuery( \".submit-form-book\" ).css(\"display\", \"none\");\n\t\t\t        \t\tjQuery( \".maximum-days-in-future-notice\" ).css(\"display\", \"block\");\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t    jQuery(\"#trigger_calc\").val(timestamp).change();\n\n\t\t\t\t    jQuery([document.documentElement, document.body]).animate({\n\t\t\t\t        scrollTop: jQuery(\".booking-form-right\").offset().top\n\t\t\t\t    }, 1000);\n\t\t\t\t\n\t\t\t\t} else if ( jQuery(calEvent.el).hasClass(\"selected\") ) {\n\t\t\t\t\t\/\/console.log( 'selected' );\n\t\t\t\t\twindow.location.href = ajax_script.woo_cart_url;\n\t\t\t\t} else {\n\t\t\t\t\t\/\/console.log( 'booked' );\n\t\t\t\t}\t\n\n\t\t\t},\n\t\t\t\n\t\t\tevents: function(info, successCallback, failureCallback) {\n\t\t\t\t\/\/ Safely check if window.is_single_h2h is defined and parse it only if it is.\n\t\t\t\tvar isSingleH2h = window.is_single_h2h !== undefined ? JSON.parse(window.is_single_h2h) : false;\n\n\t\t\t\tvar data = {\n\t\t\t\t\taction: 'get_blocks',\n\t\t\t\t\tstart: info.startStr.valueOf(),\n\t\t\t\t\tend: info.endStr.valueOf(),\n\t\t\t\t\tid: jQuery(\".wc-booking-product-id\").val()\n\t\t\t\t};\n\n\t\t\t\tif (!isSingleH2h) {\n\t\t\t\t\t\/\/ Fetch events for the single room\n\t\t\t\t\tjQuery.post(ajax_script.ajaxurl, data, function(response) {\n\t\t\t\t\t\tvar obj = jQuery.parseJSON(response);\n\t\t\t\t\t\tif (obj.success) {\n\t\t\t\t\t\t\tvar events = jQuery.parseJSON(obj.data);\n\n\t\t\t\t\t\t\t\/\/ COLOR BLOCKS FOR STOCKHOLM\n\t\t\t\t\t\t\tif(siteData.id === 17){\n\t\t\t\t\t\t\t\tevents = decorateByTier(events);       \n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tsuccessCallback(events);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconsole.log('Error fetching events for single room');\n\t\t\t\t\t\t}\n\t\t\t\t\t}).fail(function() {\n\t\t\t\t\t\tconsole.log('AJAX request failed');\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t\/\/ Fetch events for both Room 1 and Room 2\n\t\t\t\t\tvar dataRoom1 = { ...data, id: jQuery(\".wc-booking-product-id\").val() };\n\t\t\t\t\tvar dataRoom2 = { ...data, id: window.second_room_product_id };\n\n\t\t\t\t\t\/\/ Use Promise.all to fetch both requests in parallel\n\t\t\t\t\tPromise.all([\n\t\t\t\t\t\tjQuery.post(ajax_script.ajaxurl, dataRoom1),\n\t\t\t\t\t\tjQuery.post(ajax_script.ajaxurl, dataRoom2)\n\t\t\t\t\t]).then(function(responses) {\n\t\t\t\t\t\tvar responseRoom1 = responses[0];\n\t\t\t\t\t\tvar responseRoom2 = responses[1];\n\t\t\t\t\t\t\n\t\t\t\t\t\tvar objRoom1 = jQuery.parseJSON(responseRoom1);\n\t\t\t\t\t\tvar objRoom2 = jQuery.parseJSON(responseRoom2);\n\n\t\t\t\t\t\tif (objRoom1.success || objRoom2.success) {\n\t\t\t\t\t\t\t\/\/ Combine both events (Room 1 and Room 2)\n\t\t\t\t\t\t\tvar eventsRoom1 = objRoom1.success ? jQuery.parseJSON(objRoom1.data) : [];\n\t\t\t\t\t\t\tvar eventsRoom2 = objRoom2.success ? jQuery.parseJSON(objRoom2.data) : [];\n\n\t\t\t\t\t\t\t\/\/ Merge events and handle duplicate filtering\n\t\t\t\t\t\t\tvar allEvents = eventsRoom1.concat(eventsRoom2);\n\t\t\t\t\t\t\tlet mergedBookings;\n\t\t\t\t\t\t\tvar hasAnotherProduct = window.has_another_product !== undefined ? JSON.parse(window.has_another_product) : false;\n\t\t\t\t\t\t\tif(!hasAnotherProduct){\n\t\t\t\t\t\t\t\tmergedBookings = mergeBookings(eventsRoom1, eventsRoom2);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tmergedBookings = mergeBookingsSameRoom(eventsRoom1, eventsRoom2);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\/\/ COLOR BLOCKS FOR STOCKHOLM\n\t\t\t\t\t\t\tif(siteData.id === 17){\n       \t\t\t\t\t\t\tmergedBookings = decorateByTier(mergedBookings);     \n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\/\/ Pass the merged events to the success callback\n\t\t\t\t\t\t\tsuccessCallback(mergedBookings);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconsole.log('Error fetching events for both rooms');\n\t\t\t\t\t\t}\n\t\t\t\t\t}).catch(function(error) {\n\t\t\t\t\t\tconsole.log('Error fetching events:', error);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t\/\/ Ensure that the time is added after the event is rendered\n\t\t\teventsSet: function(info) {\n\t\t\t\twaitForElement('.fc-event.booked', function(el) {\n\t\t\t\t\tdocument.querySelectorAll('.fc-event.booked').forEach(function(event) {\n\t\t\t\t\tconst eventTitle = event.querySelector('.fc-event-title');\n\t\t\t\t\tconst eventTime = event.querySelector('.fc-event-time');\n\t\t\t\t\t\n\t\t\t\t\tif (eventTitle) {\n\t\t\t\t\t\tconst time = eventTime.textContent.trim();\n\t\t\t\t\t\t\/\/ Add a data attribute to event title to store the time\n\t\t\t\t\t\teventTitle.setAttribute('data-booked-time', time);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t\t}\n\n\t    });\n\n\t    calendar.render();\n\n\t\t\/\/ Remove initial loading state after calendar is rendered\n\t\tsetTimeout(function() {\n\t\t\t\/\/ Fade out initial loading message\n\t\t\tjQuery('#calendar-single .initial-loading').css({\n\t\t\t\t'opacity': '0',\n\t\t\t\t'transition': 'opacity 0.3s ease-in-out'\n\t\t\t});\n\t\t\t\n\t\t\t\/\/ Wait for fade-out, then clean up\n\t\t\tsetTimeout(function() {\n\t\t\t\t\/\/ Remove initial loading styling\n\t\t\t\tjQuery('#calendar-single').css({\n\t\t\t\t\t'min-height': 'auto',\n\t\t\t\t\t'background': 'transparent',\n\t\t\t\t\t'position': 'relative'\n\t\t\t\t});\n\t\t\t\t\/\/ Remove initial loading message\n\t\t\t\tjQuery('#calendar-single .initial-loading').remove();\n\t\t\t}, 300); \/\/ Match the fade-out duration\n\t\t}, 500);\n\n\t\t\/\/ Add Hammer.js to detect swipe gestures\n\t\tvar hammer = new Hammer(document.getElementById('calendar-single'));\n\n\t\t\/\/ Detect swipe left (to go to the next week or day)\n\t\thammer.on('swipeleft', function() {\n\t\t  calendar.next(); \/\/ Go to the next week or day\n\t\t});\n\n\t\t\/\/ Detect swipe right (to go to the previous week or day)\n\t\thammer.on('swiperight', function() {\n\t\t  calendar.prev(); \/\/ Go to the previous week or day\n\t\t});\n\n\t    jQuery(calendarEl).data('fullCalendarObj', calendar);\n\n\t\tvar picker = new Pikaday({\n\t\t\tfield: document.querySelector('.fc-datepicker-button'),\n\t\t\tformat: 'yy-mm-dd',\n\t\t\tfirstDay: 1, \/\/ Make Monday the first day of the week\n\t\t\tonSelect: function(dateString) {\n\t\t\t\tpicker.gotoDate(new Date(dateString));\n\t\t\t\tcalendar.gotoDate(new Date(dateString));\n\t\t\t}\n\t\t});\n\n\n\t\tfunction mergeBookings(response1, response2) {\n\t\t\t\tlet mergedEvents = [];\n\n\t\t\t\t\/\/ Create a mapping of block IDs from both responses\n\t\t\t\tlet events1 = response1.reduce((map, event) => {\n\t\t\t\t\tmap[event.id] = event; \/\/ Map block ID to event\n\t\t\t\t\treturn map;\n\t\t\t\t}, {});\n\n\t\t\t\tlet events2 = response2.reduce((map, event) => {\n\t\t\t\t\tmap[event.id] = event; \/\/ Map block ID to event\n\t\t\t\t\treturn map;\n\t\t\t\t}, {});\n\n\t\t\t\t\/\/ Iterate through each event in the first response\n\t\t\t\tfor (let id in events1) {\n\t\t\t\t\tlet event1 = events1[id];\n\t\t\t\t\tlet event2 = events2[id];\n\n\t\t\t\t\t\/\/ If the block is booked in Room 1 but available in Room 2\n\t\t\t\t\tif (event1.classNames.includes('booked') && event2.classNames.includes('available')) {\n\t\t\t\t\t\t\/\/ Replace the booked event from Room 1 with the available event from Room 2\n\t\t\t\t\t\tevent1 = { ...event1, ...event2 }; \/\/ Replace properties of event1 with event2\n\t\t\t\t\t}\n\n\t\t\t\t\t\/\/ If the block is booked in Room 2 but available in Room 1\n\t\t\t\t\tif (event2.classNames.includes('booked') && event1.classNames.includes('available')) {\n\t\t\t\t\t\t\/\/ Replace the booked event from Room 2 with the available event from Room 1\n\t\t\t\t\t\tevent2 = { ...event2, ...event1 }; \/\/ Replace properties of event2 with event1\n\t\t\t\t\t}\n\n\t\t\t\t\t\/\/ Add the merged event (from either Room 1 or Room 2)\n\t\t\t\t\tif (event1.classNames.includes('booked') || event2.classNames.includes('booked')) {\n\t\t\t\t\t\t\/\/ Keep it as booked if both are booked\n\t\t\t\t\t\tmergedEvents.push(event1.classNames.includes('booked') ? event1 : event2);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t\/\/ Keep it available if either is available\n\t\t\t\t\t\tmergedEvents.push(event1.classNames.includes('available') ? event1 : event2);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t\/\/ Return the merged events array\n\t\t\t\treturn mergedEvents;\n\t\t\t}\n\n\n\t\tfunction mergeBookingsSameRoom(response1, response2) {\n\t\t\tconst byId = (arr = []) => {\n\t\t\t\tconst m = new Map();\n\t\t\t\tfor (const ev of arr) m.set(ev.id, ev);\n\t\t\t\treturn m;\n\t\t\t};\n\n\t\t\tconst map1 = byId(response1);\n\t\t\tconst map2 = byId(response2);\n\n\t\t\tconst ids = new Set([...map1.keys(), ...map2.keys()]);\n\n\t\t\tconst hasClass = (ev, cls) =>\n\t\t\t\t!!ev && !!ev.classNames && ev.classNames.split(\/\\s+\/).includes(cls);\n\n\t\t\tconst stripAvailability = (classes = \"\") =>\n\t\t\t\tclasses.split(\/\\s+\/).filter(c => c && c !== \"booked\" && c !== \"available\" && c !== \"not-available\");\n\n\t\t\tconst merged = [];\n\n\t\t\tfor (const id of ids) {\n\t\t\t\tconst e1 = map1.get(id);\n\t\t\t\tconst e2 = map2.get(id);\n\n\t\t\t\t\/\/ Determine availability states for each room\n\t\t\t\tconst r1Booked = hasClass(e1, \"booked\");\n\t\t\t\tconst r2Booked = hasClass(e2, \"booked\");\n\t\t\t\tconst r1Available = hasClass(e1, \"available\");\n\t\t\t\tconst r2Available = hasClass(e2, \"available\");\n\n\t\t\t\t\/\/ Merge rule:\n\t\t\t\t\/\/ 1) booked if any is booked\n\t\t\t\t\/\/ 2) else available only if both available\n\t\t\t\t\/\/ 3) else not-available\n\t\t\t\tlet availabilityClass;\n\t\t\t\tif (r1Booked || r2Booked) {\n\t\t\t\tavailabilityClass = \"booked\";\n\t\t\t\t} else if (r1Available && r2Available) {\n\t\t\t\tavailabilityClass = \"available\";\n\t\t\t\t} else {\n\t\t\t\tavailabilityClass = \"not-available\";\n\t\t\t\t}\n\n\t\t\t\t\/\/ Base event (prefer response1\u2019s metadata if present, else response2)\n\t\t\t\tconst base = e1 || e2 || { id };\n\n\t\t\t\t\/\/ Build classNames: keep all non-availability classes, add the computed one\n\t\t\t\tconst classes = new Set([\n\t\t\t\t...stripAvailability(e1?.classNames),\n\t\t\t\t...stripAvailability(e2?.classNames),\n\t\t\t\tavailabilityClass,\n\t\t\t\t]);\n\n\t\t\t\tmerged.push({\n\t\t\t\t...base,\n\t\t\t\tclassNames: [...classes].join(\" \"),\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t\/\/ Optional: stable sort by start time if present\n\t\t\tmerged.sort((a, b) => (a.start || \"\").localeCompare(b.start || \"\"));\n\t\t\treturn merged;\n\t\t}\n\n\t});\n\n<\/script>\n\n<form class=\"cart\" method=\"post\" enctype='multipart\/form-data' data-nonce=\"f05144509a\" action=\"\">\n\n\t<div class=\"form-loader\" style=\"display:none\">\n\t\t<div class=\"left-element\"><\/div>\n\t\t<div class=\"right-element\"><\/div>\n\t<\/div>\n\n\t<div id=\"wc-bookings-booking-form\" class=\"wc-bookings-booking-form\" style=\"display:none\">\n\n\t\t\n\t\t<div class=\"booking-form single\">\n\t\t\t<div class=\"booking-form-inner booking-form-left woo\">\n\t\t\t\t<div id=\"calendar-single\"><\/div>\n\t\t\t\t<p class=\"form-field form-field-wide wc_bookings_field_persons\">\n\t<label for=\"wc_bookings_field_persons\">Personer:<\/label>\n\t<input\n\t\ttype=\"number\"\n\t\tvalue=\"2\"\n\t\tstep=\"1\"\n\t\tmin=\"2\"\n\t\tmax=\"6\"\n\t\tname=\"wc_bookings_field_persons\"\n\t\tid=\"wc_bookings_field_persons\"\n\t\t\/> <\/p>\n<fieldset class=\"wc-bookings-date-picker wc_bookings_field_start_date\">\n\t<p class=\"wc-bookings-date-picker-timezone-block\" style=\"\" align=\"center\">\n\t\tTider anges i\t\t<span class=\"wc-bookings-date-picker-timezone\">Europe\/Stockholm<\/span>\n\t<\/p>\n\t<div class=\"picker\" data-display=\"always_visible\" data-default-availability=\"false\" data-min_date=\"0\" data-max_date=\"+12m\" data-default_date=\"2026-04-11\"><\/div>\n\t\t<div class=\"wc-bookings-date-picker-date-fields\">\n\t\t\t\t<label>\n\t\t\t<input type=\"text\" autocomplete=\"off\" name=\"wc_bookings_field_start_date_day\" placeholder=\"dd\" size=\"2\" class=\"required_for_calculation booking_date_day\" \/>\n\t\t\t<span>Dag<\/span>\n\t\t<\/label> \/ <label>\n\t\t\t<input type=\"text\" autocomplete=\"off\" name=\"wc_bookings_field_start_date_month\" placeholder=\"mm\" size=\"2\" class=\"required_for_calculation booking_date_month\" \/>\n\t\t\t<span>M\u00e5nad<\/span>\n\t\t<\/label>\n\t\t\t\t\/ <label>\n\t\t\t<input type=\"text\" autocomplete=\"off\" value=\"2026\" name=\"wc_bookings_field_start_date_year\" placeholder=\"\u00c5\u00c5\u00c5\u00c5\" size=\"4\" class=\"required_for_calculation booking_date_year\" \/>\n\t\t\t<span>\u00e5r<\/span>\n\t\t<\/label>\n\t<\/div>\n<\/fieldset>\n<div class=\"form-field form-field-wide\">\n\t\t\t<ul class=\"block-picker\">\n\t\t\t<li>V\u00e4lj ett datum ovan f\u00f6r att se tillg\u00e4ngliga tider.<\/li>\n\t\t<\/ul>\n\t\t<input type=\"hidden\" class=\"required_for_calculation\" name=\"wc_bookings_field_start_date_time\" id=\"wc_bookings_field_start_date\" \/>\n<\/div>\n<div class=\"timezone-details\" style=\"display: none;\">\n\t<input type=\"hidden\" name=\"wc_bookings_field_start_date_local_timezone\" \/>\n<\/div>\n\t\t\t<\/div>\n\t\t\t<div class=\"booking-form-inner booking-form-right woo\" id=\"Players\">\n\t\t\t\t\n\t\t\t\t<div class='single-room-booking-summary'>\n\t\t\t\t\t\t<div class='section-title'>Boknings\u00f6versikt<\/div>\n\t\t\t\t\t\t<p class='empty-state'>V\u00e4nligen v\u00e4lj tillg\u00e4ngligt tidsintervall f\u00f6r detta rum.<\/p>\n\t                <div class=\"additional-booking-data\" style=\"display: none !important;\"><\/div>\n\n\t\t\t\t<div class=\"multiple-booking-check\">\n\t\t\t\t\n\t\t\t\t<div class=\"title\">Beh\u00f6ver du boka f\u00f6r fler \u00e4n 6 personer?<\/div>\n\t\t\t\t\t<div class=\"link\"><a href=\"https:\/\/foxinabox.se\/se\/multiple-rooms-booking\/\">BOKA FLERA RUM \u2192<\/a><\/div>\n\t\t\t\t<\/div>\n\n\t\t\t\t\n\n\t\t\t\t<div class=\"selected-room data\" style=\"display: none;\">\n\t\t            <div class=\"room-name\">TESLA`S MYSTERY<\/div>\n\t\t            <div class=\"room-booking-data\"><span><span>Bokningsdatum:<\/span>:<\/span> <span class=\"booking-date-text\"><\/span><\/div>\n\t\t            <div class=\"room-booking-data\" style=\"margin-bottom: .8rem;\"><span><span>Bokningstid:<\/span>:<\/span> <span class=\"booking-time-text\"><\/span><\/div>\n\t\t\t\t\t\n            \t\t\t<div class=\"number-of-persons-selector has-primary-color\"><div class=\"number-of-persons-selector has-primary-color\">V\u00c4LJ ANTAL SPELARE<\/div><\/div>\n\n            \t\t\t<ul class=\"persons-type\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t    <li><input type=\"radio\" class=\"persons-number-selector\" name=\"wc_bookings_field_persons\" id=\"2\" value=\"2\" checked><label for=\"2\">2<\/label><\/li>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t    <li><input type=\"radio\" class=\"persons-number-selector\" name=\"wc_bookings_field_persons\" id=\"3\" value=\"3\" ><label for=\"3\">3<\/label><\/li>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t    <li><input type=\"radio\" class=\"persons-number-selector\" name=\"wc_bookings_field_persons\" id=\"4\" value=\"4\" ><label for=\"4\">4<\/label><\/li>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t    <li><input type=\"radio\" class=\"persons-number-selector\" name=\"wc_bookings_field_persons\" id=\"5\" value=\"5\" ><label for=\"5\">5<\/label><\/li>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t    <li><input type=\"radio\" class=\"persons-number-selector\" name=\"wc_bookings_field_persons\" id=\"6\" value=\"6\" ><label for=\"6\">6<\/label><\/li>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/ul>\n\n\t\t\t\t\t\t<script type=\"text\/javascript\">\n\n\t\t\t\t\t\t\tjQuery('input[name=wc_bookings_field_persons]').on('change', function (e) {\n\t\t\t\t\t\t\t\tjQuery('#wc_bookings_field_persons').val(e.target.value);\n\t\t\t\t\t\t\t\tconst players = parseInt(e.target.value, 10);\n\t\t\t\t\t\t\tif (!players) return;\n\n\t\t\t\t\t\t\tif (!window.__fiab_last_selected_block_id) return;\n\n\t\t\t\t\t\t\twindow.__fiab_pending_players = players;\n\t\t\t\t\t\t\t});\n\n\n\t\t\t\t\t\t<\/script>\n\n\t\t\t\t\t\t\t        <\/div>\n\n\n\t\t\t\t<div class=\"wc-bookings-booking-cost price\" style=\"display:none\" data-raw-price=\"\"><\/div>\n\t\t\t\t<div class=\"wc-bookings-booking-cost_per_person\" style=\"display:none\" data-raw-price=\"\"><\/div>\n\t\t\t\t<input type=\"hidden\" name=\"add-to-cart\" value=\"2399\" class=\"wc-booking-product-id\" \/>\t\t\n\t\t\t\t<div class=\"room-price-from\"><\/div>\n\t\t\t\t<button type=\"submit\" class=\"submit-form-book wc-bookings-booking-form-button single_add_to_cart_button button alt\">BOKA DETTA SPEL<\/button>\n\n\t\t\t\t\n\t\t\t\t<div class=\"last-minute-notice\">\n\t\t\t\t\t<span class=\"last-minute-notice-title\">\n\t\t\t\t\t\tIMPORTANT NOTICE!\t\t\t\t\t<\/span>\n\t\t\t\t\t<br\/><br\/>\n\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"maximum-days-in-future-notice\"><span class=\"maximum-days-in-future-notice-title\">IMPORTANT NOTICE!<\/span><br\/><br\/>\n\t\t\t\tPlease note that our online booking system allows reservations for events within a -day period. For bookings beyond this timeframe, we\u2019d love to assist you directly. To discuss availability and secure your preferred date, please call us at <br\/><a href=\"tel:+46 70 979 61 31\">+46 70 979 61 31<\/a><\/div>\n\t\t\t\t<input type=\"hidden\" id=\"timezone_offset\" name=\"timezone_offset\" value=\"0\"\/>\n\n\t\t\t\t<input type=\"hidden\" id=\"trigger_calc\" name=\"trigger_calc\" class=\"trigger_calc\" value=\"0\">\n\n\t            <\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\n\t<\/div>\n\n\t\n\t<script type=\"text\/javascript\">\n\n\t\twindow.__fiab_last_selected_block_id = null;\n\t\twindow.__fiab_last_players = null;\n\t\twindow.__fiab_add_to_cart_fired = false;\n\n\n\t\tfunction fireSelectTimeSlot(payload) {\n\t\tif (!payload || !payload.block_id) return;\n\n\t\t\/\/ \u274c isti slot ponovo \u2192 ne \u0161alji\n\t\tif (window.__fiab_last_selected_block_id === payload.block_id) return;\n\n\t\twindow.__fiab_last_selected_block_id = payload.block_id;\n\t\t  window.__fiab_add_to_cart_fired = false; \/\/ \u2705 RESET\n\n\n\n\t\tfiabPushEvent(\"select_time_slot\", payload);\n\t\t}\n\n\t\tfunction fireUpdatePlayers(payload) {\n  if (!payload || typeof payload.players !== 'number') return;\n\n  \/\/ \u274c isti broj kao prethodni\n  if (window.__fiab_last_players === payload.players) return;\n\n  window.__fiab_last_players = payload.players;\n  window.__fiab_add_to_cart_fired = false; \/\/ \u2705 RESET\n\n\n  fiabPushEvent(\"update_players\", payload);\n}\n\njQuery(document).on('click', '.submit-form-book', function (e) {\n\n  if (window.__fiab_add_to_cart_fired) return;\n  window.__fiab_add_to_cart_fired = true;\n\n    const price = fiabGetBookingPrice();\n\tconst players = fiabGetSelectedPlayersFromDOM();\n\n\n  \/\/ mora postojati kompletan booking kontekst\n  if (\n    !window.__fiab_last_selected_block_id ||\n    players === null ||\n    !price\n  ) {\n\tconsole.log(window.__fiab_last_selected_block_id)\n\tconsole.log(window.__fiab_last_players)\n\t\tconsole.log(price)\n\n    return;\n  }\n\n  const bookingDate = document.querySelector('.booking-date-text')?.textContent || null;\n  const bookingTime = document.querySelector('.booking-time-text')?.textContent || null;\n\n  \/\/ --- A4: GA4 ecommerce ---\n  fiabPushEcommerceEvent(\n    \"add_to_cart\",\n    [{\n      item_id: fiabBookingContext.product_id.toString(),\n      item_name: fiabBookingContext.product_name,\n      item_category: \"escape_room\",\n\n      price: price,\n      quantity: 1,\n\n      booking_date: fiabNormalizeDate(bookingDate),\n      booking_time: bookingTime,\n      block_id: window.__fiab_last_selected_block_id,\n      number_of_players: players\n    }],\n    {\n      value: price,\n      commerce_flow: \"booking\"\n    }\n  );\n\n  \/\/ --- A5: hold_started ---\n  fiabPushEvent(\"hold_started\", {\n    hold_minutes: 15\n  });\n});\n\nfunction fiabNormalizeDate(dateInput) {\n  const d = new Date(dateInput);\n  if (isNaN(d)) return null;\n\n  return d.toISOString().split('T')[0]; \/\/ YYYY-MM-DD\n}\n\n\nfunction fiabGetBookingPrice() {\n  \/\/ 1\ufe0f\u20e3 Ideal case \u2013 raw price (ako postoji)\n  const rawEl = document.querySelector('.wc-bookings-booking-cost[data-raw-price]');\n  if (rawEl) {\n    const raw = parseFloat(rawEl.getAttribute('data-raw-price'));\n    if (!isNaN(raw) && raw > 0) return raw;\n  }\n\n  \/\/ 2\ufe0f\u20e3 Visible calculated price (naj\u010de\u0161\u0107i real case)\n  const priceEl = document.querySelector(\n    '.woocommerce-Price-amount .price-number-only'\n  );\n  if (priceEl) {\n    const val = parseFloat(\n      priceEl.textContent.replace(',', '.')\n    );\n    if (!isNaN(val) && val > 0) return val;\n  }\n\n  \/\/ 3\ufe0f\u20e3 Fallback \u2013 ni\u0161ta jo\u0161 nije spremno\n  return null;\n}\n\nfunction fiabGetSelectedPlayersFromDOM() {\n  const el = document.querySelector('.persons-number-selector:checked');\n  if (!el) return null;\n\n  const val = parseInt(el.value, 10);\n  return isNaN(val) ? null : val;\n}\n\n\n\n\nlet priceTimeout = null;\nlet lastPrice = null;\n\nconst bookingCostEl = document.querySelector('.wc-bookings-booking-cost');\n\nif (bookingCostEl) {\n  console.log('FIAB: observing booking cost');\n\n  const observer = new MutationObserver(() => {\n    clearTimeout(priceTimeout);\n\n    priceTimeout = setTimeout(() => {\n      const text = bookingCostEl.textContent || '';\n      const normalized = text.replace(\/[^\\d.,]\/g, '').replace(',', '.');\n      const newPrice = parseFloat(normalized);\n\n      if (!newPrice || newPrice === lastPrice) return;\n\n      lastPrice = newPrice;\n\n      if (\n        window.__fiab_pending_players !== null &&\n        window.__fiab_last_selected_block_id\n      ) {\n        fireUpdatePlayers({\n          item_id: fiabBookingContext.product_id.toString(),\n          block_id: window.__fiab_last_selected_block_id,\n          players: window.__fiab_pending_players,\n          currency: fiabBookingContext.currency,\n          value: newPrice\n        });\n\n        window.__fiab_pending_players = null;\n      }\n    }, 400);\n  });\n\n  observer.observe(bookingCostEl, {\n    childList: true,\n    subtree: true,\n    characterData: true\n  });\n}\n\n\n\n\n\t\t\n\t\tfunction convertTimestampToISO(timestamp) {\n\t\t\tlet date = new Date(timestamp * 1000); \/\/ Convert seconds to milliseconds\n\t\t\tlet isoString = date.toISOString(); \/\/ Convert to ISO format\n\n\t\t\t\/\/ adjust the timezone offset manually (+01:00)\n\t\t\tlet formattedDate = isoString.split('.')[0] + ''; \/\/ Remove milliseconds and add timezone\n\n\t\t\treturn formattedDate;\n\t\t}\n\n\t\tfunction checkSelected() {\n\t\t\t\n\n\t\t\tif ( block_data.block_id !== '' ) {\n\t\t\t\t\tlet convertedDate = convertTimestampToISO(block_data.block_id);\n\t\t\t\t\tconst url = new URL(window.location.href);\n\t\t\t\t\tconst params = url.searchParams;\n\t\t\t\t\tconst source   = params.get('source');\n\t\t\t\t\tconst position = params.get('position');\n\n\t\t\t\t\t\t\t\tfireSelectTimeSlot({\n\t\t\t\t\titem_id: fiabBookingContext.product_id.toString(),\n\t\t\t\t\titem_location_id: fiabBookingContext.item_location_id,\n\t\t\t\t\tlocation_name: fiabBookingContext.city,\n\n\t\t\t\t\tbooking_date: convertedDate.split('T')[0],\n\t\t\t\t\tbooking_time: convertedDate.split('T')[1].slice(0, 5),\n\t\t\t\t\tblock_id: block_data.block_id,\n\t\t\t\t\tselection_source: source,\n\t\t\t\t\tindex: Number(position)\n\t\t\t\t\t});\n\n\n\t\t\t\t\/\/console.log(block_data.block_id);\n\n\t\t\t\tvar calendar = jQuery('#calendar-single').data('fullCalendarObj');\n\t    \t\tvar timestamp = new Date().getUTCMilliseconds();\n\n\t    \t\tvar event = calendar.getEventById( block_data.block_id );\n\t\t\t\t\tdocument.querySelector('.wc-booking-product-id').value = event._def.extendedProps.product_id;\n\n\t\t\t\t\/\/console.log(calendar);\n\t    \t\t\/\/console.log(event.startStr);\n\n\t\t\t    jQuery(\"#wc_bookings_field_start_date\").val(convertedDate).change();\n\n\t\t\t    if ( block_data_persons.persons !== '' ) {\n\t\t    \t\tjQuery(\"input[name=wc_bookings_field_persons][value=\" + block_data_persons.persons + \"]\").attr('checked', 'checked');\n\t\t    \t}\n\t\t\t    \n\t\t\t    jQuery( \".last-minute-notice\" ).css(\"display\", \"none\");\n\t\t\t    \n\t\t\t    var event_date = new Date(convertedDate);\n\t\t\t\tvar dd = event_date.getDate();\n\t\t\t\tvar mm = event_date.getMonth()+1;\n\t\t\t\tvar month = event_date.toLocaleString('default', { month: 'long' });\n\n\t\t\t\t\/\/ Format time according to WordPress settings\n\t\t\t\tvar time = formatTimeAccordingToWP(event_date);\n\n\t\t\t\tvar yyyy = event_date.getFullYear();\n\n\t\t\t\tjQuery( '.block-' + block_data.block_id ).addClass('selected-block');\n\t\t\t\tjQuery( \".empty-state\" ).remove();\n\n\t\t\t\tjQuery( '.booking-date-text' ).empty();\n\t\t        jQuery( '.booking-date-text' ).prepend( month + ' ' + dd + ', ' + yyyy );\n\n\t\t        jQuery( '.booking-time-text' ).empty();\n\t\t        jQuery( '.booking-time-text' ).prepend( time );\n\n\t\t        jQuery( \".selected-room.data\" ).css(\"display\", \"block\");\n\t\t\t\t\n\t\t\t\tconst defaultPlayers = product_data.default_players;\n\n\t\t\t\t\t\/\/ Find the radio input for the default number of players and select it\n\t\t\t\t\tconst playerInputs = document.querySelectorAll(\".persons-number-selector\");\n\t\t\t\t\tplayerInputs.forEach(input => {\n\t\t\t\t\t\tif (input.value === defaultPlayers) {\n\t\t\t\t\t\t\tinput.checked = true;\n\t\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t    jQuery( \"#trigger_calc\").val(timestamp).change();\n\n\t\t\t    jQuery( \".form-loader\" ).css(\"display\", \"none\");\n\t\t\t\tjQuery( \".booking-form-left.woo\" ).removeClass('hidden');\n\t\t\t\tjQuery( \".booking-form-right.woo\" ).removeClass('hidden');\n\n\t\t\t\tconst current_date = new Date();\n\t\t\t\tconst current_hour = current_date.getHours();\n\t\t\t\tconst current_min = current_date.getMinutes();\n\t\t\t\t\t\/\/ Sleep-mode aware reference time\n\t\t\t\t\tvar referenceTime = getOperationalReferenceTime(event_date);\n\n\t\t\t\t\tvar diff = event_date - referenceTime;\n\t\t\t\t\tvar minsDiff = Math.floor(diff \/ 60000);\n\n\t\t\t\t\tif (minsDiff < product_data.advance_call_confirmation_window) {\n\n\t\t\t\t\t\tif (Boolean(fiabBookingContext.is_staff) === false) {\n\n\t\t\t\t\t\t\tjQuery(\".last-minute-notice\").css(\"display\", \"block\");\n\n\t\t\t\t\t\t\tif (fiabBookingContext.enable_last_minute_reservations === 'no') {\n\t\t\t\t\t\t\t\tjQuery(\".submit-form-book\").css(\"display\", \"none\");\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\tjQuery( \".form-loader\" ).css(\"display\", \"none\");\n\t\t\t\tjQuery( \".booking-form-left.woo\" ).removeClass('hidden');\n\t\t\t\tjQuery( \".booking-form-right.woo\" ).removeClass('hidden');\n\n\t\t\t}\n\n\t\t}\n\t\t\n\t\tfunction loadFrame() {\n\t\t\tlet availableDate = document.querySelectorAll(\".single-product a.ui-state-default\");\n\t\t\tif ( document.contains(availableDate[0]) ) {\n\t\t\t\tavailableDate[0].click();\n\t\t\t}\n\t\t}\n\n\t\tfunction waitForElement(selector, callback) {\n\t\t\tlet observer = new MutationObserver((mutations, me) => {\n\t\t\t\tlet element = document.querySelector(selector);\n\t\t\t\tif (element) {\n\t\t\t\t\tme.disconnect(); \/\/ Stop observing once the element is found\n\t\t\t\t\tcallback(element);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tobserver.observe(document, { childList: true, subtree: true });\n\t\t}\n\n\t\t\/\/ Usage: Trigger function when element loads\n\t\twaitForElement('.single-product a.ui-state-default', function(el) {\n\t\t\twindow.onload = setTimeout(loadFrame, 1000);\n\t\t\twindow.onload = setTimeout(checkSelected, 1100);\n\n\t\t\tif ( block_data.block_id !== '' ) {\n\t\t\t\twindow.onload = setTimeout(enableifSelected, 2000);\n\t\t\t}\n\t\t});\n\n\t\t(function () {\n            if ((window.location.hash || '').toLowerCase() !== '#players') return;\n            if ('scrollRestoration' in history) history.scrollRestoration = 'manual';\n            function waitForElements(selector, callback) {\n                const existing = document.querySelectorAll(selector);\n                if (existing.length) return callback(existing);\n                const observer = new MutationObserver((mutations, me) => {\n                const els = document.querySelectorAll(selector);\n                if (els.length) {\n                    me.disconnect();\n                    callback(els);\n                }\n                });\n                observer.observe(document.documentElement, { childList: true, subtree: true });\n            }\n            function scrollToTarget(target, headerOffset) {\n                const y = target.getBoundingClientRect().top + window.pageYOffset - headerOffset;\n                \/\/ force visible movement (instant jump), then smooth adjust\n                window.scrollTo(0, y);\n                setTimeout(() => window.scrollTo({ top: y, behavior: 'smooth' }), 50);\n            }\n            const headerOffset = 0; \/\/ set if sticky header\n            window.addEventListener('load', function () {\n                waitForElements('#Players', function (els) {\n                \/\/ pick the LAST one (usually the actual section down the page)\n                const el = els[els.length - 1];\n                \/\/ scroll to a container around it (more \u201csection-like\u201d)\n                const target =\n                    el.closest('#Players') ||\n                    \/\/ el.closest(\u2018form\u2019) ||\n                    \/\/ el.closest(\u2018.elementor-section\u2019) ||\n                    el;\n                scrollToTarget(target, headerOffset);\n                \/\/ re-run after lazyload\/layout shifts\n                setTimeout(() => scrollToTarget(target, headerOffset), 800);\n                setTimeout(() => scrollToTarget(target, headerOffset), 1600);\n                });\n            });\n        })();\n\n\t\tfunction enableifSelected() {\n\t\t\tjQuery('.submit-form-book').removeClass('disabled').prop('disabled', false);\n\t\t\tjQuery( '.block-' + block_data.block_id ).addClass('selected-block');\n\t\t}\n\n\t\tjQuery( document ).ready(function() {\n\t\t\t\/\/ Usage: Trigger function when element loads\n\t\t\twaitForElement('.block-' + block_data.block_id, function(el) {\n\t\t\t\tjQuery( '.block-' + block_data.block_id ).addClass('selected-block');\n\t\t\t});\n\n\t\t\tif ( block_data.block_id !== '' ) {\n\t\t\t\twaitForElement('.submit-form-book', function(el) {\n\t\t\t\t\tjQuery('.submit-form-book').removeClass('disabled').prop('disabled', false);\n\t\t\t\t});\n\t\t\t\twindow.onload = setTimeout(enableifSelected, 2000);\n\t\t\t}\n\n\t\t\t(function () {\n\n\t\t\tif (!window.fiabBookingContext) return;\n\n\t\t\t\/\/ za\u0161tita od duplog fire-a\n\t\t\tif (window.__fiab_view_item_fired) return;\n\t\t\twindow.__fiab_view_item_fired = true;\n\n\t\t\tfiabPushEcommerceEvent(\n\t\t\t\t\"view_item\",\n\t\t\t\t[{\n\t\t\t\titem_id: fiabBookingContext.product_id.toString(),\n\t\t\t\titem_name: fiabBookingContext.product_name,\n\t\t\t\titem_category: \"escape_room\",\n\t\t\t\t}],\n\t\t\t\t{\n\t\t\t\tcommerce_flow: \"booking\"\n\t\t\t\t}\n\t\t\t);\n\t\t\t})();\n\n\n\n\t\t});\n\n\t\tjQuery(\"p.form-field.form-field-wide\").detach().prependTo( jQuery(\".additional-booking-data\") );\n\n\t<\/script>\n\n\t\t\n<input type=\"hidden\" name=\"trp-form-language\" value=\"se\"\/><\/form>\n\n<\/div><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group alignfull is-layout-flow wp-block-group-is-layout-flow\" style=\"padding-top:2rem;padding-bottom:4rem\">\n<div class=\"wp-block-group alignwide has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<h3 class=\"wp-block-heading alignwide has-extra-large-font-size\" style=\"padding-bottom:3rem\">\u00d6VRIGA RUM<\/h3>\n\n\n\n<div class=\"wp-block-columns alignwide is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\"><div class=\"available-rooms-holder home\"><div class=\"single-room-grid\">\n            <a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/golden-nugget-saloon\/\" title=\"GOLDEN NUGGET SALOON\">\n            <div style=\"background-image: url(https:\/\/foxinabox.se\/wp-content\/uploads\/sites\/17\/2024\/02\/Golden-Nugget-Saloon.jpg);\" class=\"room-top-section\">\n                <div class=\"tags\"><\/div>\n                \n                    <div class=\"room-price-overlay\">\n                        <div class=\"price-line-1\">Fr\u00e5n: 850.00 SEK inkl<\/div>\n                        <div class=\"price-line-2\">moms<\/div>\n                    <\/div>\n            <\/div>\n        <\/a>\n            <div class=\"room-middle-section\">\n                <div class=\"room-name\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/golden-nugget-saloon\/\">GOLDEN NUGGET SALOON<\/a><\/div>\n                <div class=\"room-info-link\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/golden-nugget-saloon\/\">Utforska detaljerna om escape roomet GOLDEN NUGGET SALOON<\/a><\/div>\n            <\/div>\n            <div class=\"room-bottom-section\">\n                <div class=\"book-today\">BOKA IDAG<\/div>\n                <div class=\"room-available-blocks\"><div class=\"single-block available block-1775899800 block-1775899800-11204\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/golden-nugget-saloon\/?date=2026-04-11&block_id=1775899800&source=other_rooms#Players\">09:30<\/a><\/div><div class=\"single-block booked block-1775905200 block-1775905200-11204\"><a>Bokad<\/a><\/div><div class=\"single-block available block-1775910600 block-1775910600-11204\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/golden-nugget-saloon\/?date=2026-04-11&block_id=1775910600&source=other_rooms#Players\">12:30<\/a><\/div><div class=\"single-block booked block-1775916000 block-1775916000-11204\"><a>Bokad<\/a><\/div><div class=\"single-block booked block-1775921400 block-1775921400-11204\"><a>Bokad<\/a><\/div><div class=\"single-block booked block-1775926800 block-1775926800-11204\"><a>Bokad<\/a><\/div><div class=\"single-block booked block-1775932200 block-1775932200-11204\"><a>Bokad<\/a><\/div><div class=\"single-block booked block-1775937600 block-1775937600-11204\"><a>Bokad<\/a><\/div><div class=\"single-block available block-1775943000 block-1775943000-11204\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/golden-nugget-saloon\/?date=2026-04-11&block_id=1775943000&source=other_rooms#Players\">21:30<\/a><\/div><\/div>\n            <\/div>\n        <\/div><div class=\"single-room-grid\">\n            <a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/the-bunker\/\" title=\"BUNKER\">\n            <div style=\"background-image: url(https:\/\/foxinabox.se\/wp-content\/uploads\/sites\/17\/2024\/05\/The-Bunker-1.jpeg);\" class=\"room-top-section\">\n                <div class=\"tags\"><\/div>\n                \n                    <div class=\"room-price-overlay\">\n                        <div class=\"price-line-1\">Fr\u00e5n: 850.00 SEK inkl<\/div>\n                        <div class=\"price-line-2\">moms<\/div>\n                    <\/div>\n            <\/div>\n        <\/a>\n            <div class=\"room-middle-section\">\n                <div class=\"room-name\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/the-bunker\/\">BUNKER<\/a><\/div>\n                <div class=\"room-info-link\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/the-bunker\/\">Utforska detaljerna om escape roomet BUNKER<\/a><\/div>\n            <\/div>\n            <div class=\"room-bottom-section\">\n                <div class=\"book-today\">BOKA IDAG<\/div>\n                <div class=\"room-available-blocks\"><div class=\"single-block available block-1775899800 block-1775899800-2246\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/the-bunker\/?date=2026-04-11&block_id=1775899800&source=other_rooms#Players\">09:30<\/a><\/div><div class=\"single-block booked block-1775905200 block-1775905200-2246\"><a>Bokad<\/a><\/div><div class=\"single-block available block-1775910600 block-1775910600-2246\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/the-bunker\/?date=2026-04-11&block_id=1775910600&source=other_rooms#Players\">12:30<\/a><\/div><div class=\"single-block booked block-1775916000 block-1775916000-2246\"><a>Bokad<\/a><\/div><div class=\"single-block booked block-1775921400 block-1775921400-2246\"><a>Bokad<\/a><\/div><div class=\"single-block booked block-1775926800 block-1775926800-2246\"><a>Bokad<\/a><\/div><div class=\"single-block available block-1775932200 block-1775932200-2246\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/the-bunker\/?date=2026-04-11&block_id=1775932200&source=other_rooms#Players\">18:30<\/a><\/div><div class=\"single-block booked block-1775937600 block-1775937600-2246\"><a>Bokad<\/a><\/div><div class=\"single-block available block-1775943000 block-1775943000-2246\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/the-bunker\/?date=2026-04-11&block_id=1775943000&source=other_rooms#Players\">21:30<\/a><\/div><\/div>\n            <\/div>\n        <\/div><div class=\"single-room-grid\">\n            <a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/zombie-lab\/\" title=\"ZOMBIE LAB\">\n            <div style=\"background-image: url(https:\/\/foxinabox.se\/wp-content\/uploads\/sites\/17\/2024\/05\/Rectangle-157-1.jpg);\" class=\"room-top-section\">\n                <div class=\"tags\"><\/div>\n                \n                    <div class=\"room-price-overlay\">\n                        <div class=\"price-line-1\">Fr\u00e5n: 850.00 SEK inkl<\/div>\n                        <div class=\"price-line-2\">moms<\/div>\n                    <\/div>\n            <\/div>\n        <\/a>\n            <div class=\"room-middle-section\">\n                <div class=\"room-name\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/zombie-lab\/\">ZOMBIE LAB<\/a><\/div>\n                <div class=\"room-info-link\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/zombie-lab\/\">Utforska detaljerna om escape roomet ZOMBIE LAB<\/a><\/div>\n            <\/div>\n            <div class=\"room-bottom-section\">\n                <div class=\"book-today\">BOKA IDAG<\/div>\n                <div class=\"room-available-blocks\"><div class=\"single-block available block-1775899800 block-1775899800-2239\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/zombie-lab\/?date=2026-04-11&block_id=1775899800&source=other_rooms#Players\">09:30<\/a><\/div><div class=\"single-block available block-1775905200 block-1775905200-2239\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/zombie-lab\/?date=2026-04-11&block_id=1775905200&source=other_rooms#Players\">11:00<\/a><\/div><div class=\"single-block booked block-1775910600 block-1775910600-2239\"><a>Bokad<\/a><\/div><div class=\"single-block booked block-1775916000 block-1775916000-2239\"><a>Bokad<\/a><\/div><div class=\"single-block booked block-1775921400 block-1775921400-2239\"><a>Bokad<\/a><\/div><div class=\"single-block booked block-1775926800 block-1775926800-2239\"><a>Bokad<\/a><\/div><div class=\"single-block available block-1775932200 block-1775932200-2239\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/zombie-lab\/?date=2026-04-11&block_id=1775932200&source=other_rooms#Players\">18:30<\/a><\/div><div class=\"single-block available block-1775937600 block-1775937600-2239\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/zombie-lab\/?date=2026-04-11&block_id=1775937600&source=other_rooms#Players\">20:00<\/a><\/div><div class=\"single-block available block-1775943000 block-1775943000-2239\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/zombie-lab\/?date=2026-04-11&block_id=1775943000&source=other_rooms#Players\">21:30<\/a><\/div><\/div>\n            <\/div>\n        <\/div><div class=\"single-room-grid\">\n            <a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/zodiac-killer\/\" title=\"ZODIAC KILLER\">\n            <div style=\"background-image: url(https:\/\/foxinabox.se\/wp-content\/uploads\/sites\/17\/2024\/05\/Zodiak-Killer-1.jpeg);\" class=\"room-top-section\">\n                <div class=\"tags\"><\/div>\n                \n                    <div class=\"room-price-overlay\">\n                        <div class=\"price-line-1\">Fr\u00e5n: 850.00 SEK inkl<\/div>\n                        <div class=\"price-line-2\">moms<\/div>\n                    <\/div>\n            <\/div>\n        <\/a>\n            <div class=\"room-middle-section\">\n                <div class=\"room-name\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/zodiac-killer\/\">ZODIAC KILLER<\/a><\/div>\n                <div class=\"room-info-link\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/zodiac-killer\/\">Utforska detaljerna om escape roomet ZODIAC KILLER<\/a><\/div>\n            <\/div>\n            <div class=\"room-bottom-section\">\n                <div class=\"book-today\">BOKA IDAG<\/div>\n                <div class=\"room-available-blocks\"><div class=\"single-block available block-1775899800 block-1775899800-2253\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/zodiac-killer\/?date=2026-04-11&block_id=1775899800&source=other_rooms#Players\">09:30<\/a><\/div><div class=\"single-block available block-1775905200 block-1775905200-2253\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/zodiac-killer\/?date=2026-04-11&block_id=1775905200&source=other_rooms#Players\">11:00<\/a><\/div><div class=\"single-block booked block-1775910600 block-1775910600-2253\"><a>Bokad<\/a><\/div><div class=\"single-block booked block-1775916000 block-1775916000-2253\"><a>Bokad<\/a><\/div><div class=\"single-block booked block-1775921400 block-1775921400-2253\"><a>Bokad<\/a><\/div><div class=\"single-block booked block-1775926800 block-1775926800-2253\"><a>Bokad<\/a><\/div><div class=\"single-block booked block-1775932200 block-1775932200-2253\"><a>Bokad<\/a><\/div><div class=\"single-block booked block-1775937600 block-1775937600-2253\"><a>Bokad<\/a><\/div><div class=\"single-block available block-1775943000 block-1775943000-2253\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/zodiac-killer\/?date=2026-04-11&block_id=1775943000&source=other_rooms#Players\">21:30<\/a><\/div><\/div>\n            <\/div>\n        <\/div><div class=\"single-room-grid\">\n            <a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/life-sentence\/\" title=\"LIFE SENTENCE\">\n            <div style=\"background-image: url(https:\/\/foxinabox.se\/wp-content\/uploads\/sites\/17\/2024\/05\/prison-f-1.jpg);\" class=\"room-top-section\">\n                <div class=\"tags\"><\/div>\n                \n                    <div class=\"room-price-overlay\">\n                        <div class=\"price-line-1\">Fr\u00e5n: 850.00 SEK inkl<\/div>\n                        <div class=\"price-line-2\">moms<\/div>\n                    <\/div>\n            <\/div>\n        <\/a>\n            <div class=\"room-middle-section\">\n                <div class=\"room-name\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/life-sentence\/\">LIFE SENTENCE<\/a><\/div>\n                <div class=\"room-info-link\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/life-sentence\/\">Utforska detaljerna om escape roomet LIFE SENTENCE<\/a><\/div>\n            <\/div>\n            <div class=\"room-bottom-section\">\n                <div class=\"book-today\">BOKA IDAG<\/div>\n                <div class=\"room-available-blocks\"><div class=\"single-block booked block-1775899800 block-1775899800-2260\"><a>Bokad<\/a><\/div><div class=\"single-block booked block-1775905200 block-1775905200-2260\"><a>Bokad<\/a><\/div><div class=\"single-block booked block-1775910600 block-1775910600-2260\"><a>Bokad<\/a><\/div><div class=\"single-block booked block-1775916000 block-1775916000-2260\"><a>Bokad<\/a><\/div><div class=\"single-block booked block-1775921400 block-1775921400-2260\"><a>Bokad<\/a><\/div><div class=\"single-block booked block-1775926800 block-1775926800-2260\"><a>Bokad<\/a><\/div><div class=\"single-block available block-1775932200 block-1775932200-2260\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/life-sentence\/?date=2026-04-11&block_id=1775932200&source=other_rooms#Players\">18:30<\/a><\/div><div class=\"single-block booked block-1775937600 block-1775937600-2260\"><a>Bokad<\/a><\/div><div class=\"single-block available block-1775943000 block-1775943000-2260\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/life-sentence\/?date=2026-04-11&block_id=1775943000&source=other_rooms#Players\">21:30<\/a><\/div><\/div>\n            <\/div>\n        <\/div><div class=\"single-room-grid\">\n            <a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/teslas-mystery\/\" title=\"TESLA`S MYSTERY\">\n            <div style=\"background-image: url(https:\/\/foxinabox.se\/wp-content\/uploads\/sites\/17\/2024\/05\/Teslas-Mystery-1.jpeg);\" class=\"room-top-section\">\n                <div class=\"tags\"><\/div>\n                \n                    <div class=\"room-price-overlay\">\n                        <div class=\"price-line-1\">Fr\u00e5n: 850.00 SEK inkl<\/div>\n                        <div class=\"price-line-2\">moms<\/div>\n                    <\/div>\n            <\/div>\n        <\/a>\n            <div class=\"room-middle-section\">\n                <div class=\"room-name\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/teslas-mystery\/\">TESLA`S MYSTERY<\/a><\/div>\n                <div class=\"room-info-link\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/teslas-mystery\/\">Utforska detaljerna om escape roomet TESLA\u2019S MYSTERY<\/a><\/div>\n            <\/div>\n            <div class=\"room-bottom-section\">\n                <div class=\"book-today\">BOKA IDAG<\/div>\n                <div class=\"room-available-blocks\"><div class=\"single-block available block-1775899800 block-1775899800-2399\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/teslas-mystery\/?date=2026-04-11&block_id=1775899800&source=other_rooms#Players\">09:30<\/a><\/div><div class=\"single-block available block-1775905200 block-1775905200-2399\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/teslas-mystery\/?date=2026-04-11&block_id=1775905200&source=other_rooms#Players\">11:00<\/a><\/div><div class=\"single-block booked block-1775910600 block-1775910600-2399\"><a>Bokad<\/a><\/div><div class=\"single-block booked block-1775916000 block-1775916000-2399\"><a>Bokad<\/a><\/div><div class=\"single-block booked block-1775921400 block-1775921400-2399\"><a>Bokad<\/a><\/div><div class=\"single-block booked block-1775926800 block-1775926800-2399\"><a>Bokad<\/a><\/div><div class=\"single-block available block-1775932200 block-1775932200-2399\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/teslas-mystery\/?date=2026-04-11&block_id=1775932200&source=other_rooms#Players\">18:30<\/a><\/div><div class=\"single-block booked block-1775937600 block-1775937600-2399\"><a>Bokad<\/a><\/div><div class=\"single-block available block-1775943000 block-1775943000-2399\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/teslas-mystery\/?date=2026-04-11&block_id=1775943000&source=other_rooms#Players\">21:30<\/a><\/div><\/div>\n            <\/div>\n        <\/div><div class=\"single-room-grid\">\n            <a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/life-sentence-h2h\/\" title=\"LIFE SENTENCE : HEAD-TO-HEAD\">\n            <div style=\"background-image: url(https:\/\/foxinabox.se\/wp-content\/uploads\/sites\/17\/2024\/05\/prison-f-1.jpg);\" class=\"room-top-section\">\n                <div class=\"tags\"><\/div>\n                \n                    <div class=\"room-price-overlay\">\n                        <div class=\"price-line-1\">Fr\u00e5n: 850.00 SEK inkl<\/div>\n                        <div class=\"price-line-2\">moms<\/div>\n                    <\/div>\n            <\/div>\n        <\/a>\n            <div class=\"room-middle-section\">\n                <div class=\"room-name\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/life-sentence-h2h\/\">LIFE SENTENCE : HEAD-TO-HEAD<\/a><\/div>\n                <div class=\"room-info-link\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/life-sentence-h2h\/\">Utforska detaljerna om escape roomet LIFE SENTENCE : HEAD-TO-HEAD<\/a><\/div>\n            <\/div>\n            <div class=\"room-bottom-section\">\n                <div class=\"book-today\">BOKA IDAG<\/div>\n                <div class=\"room-available-blocks\"><div class=\"single-block booked block-1775899800 block-1775899800-2385\"><a>Bokad<\/a><\/div><div class=\"single-block booked block-1775905200 block-1775905200-2385\"><a>Bokad<\/a><\/div><div class=\"single-block booked block-1775910600 block-1775910600-2385\"><a>Bokad<\/a><\/div><div class=\"single-block booked block-1775916000 block-1775916000-2385\"><a>Bokad<\/a><\/div><div class=\"single-block booked block-1775921400 block-1775921400-2385\"><a>Bokad<\/a><\/div><div class=\"single-block booked block-1775926800 block-1775926800-2385\"><a>Bokad<\/a><\/div><div class=\"single-block available block-1775932200 block-1775932200-2385\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/life-sentence-h2h\/?date=2026-04-11&block_id=1775932200&source=other_rooms#Players\">18:30<\/a><\/div><div class=\"single-block booked block-1775937600 block-1775937600-2385\"><a>Bokad<\/a><\/div><div class=\"single-block available block-1775943000 block-1775943000-2385\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/life-sentence-h2h\/?date=2026-04-11&block_id=1775943000&source=other_rooms#Players\">21:30<\/a><\/div><\/div>\n            <\/div>\n        <\/div><div class=\"single-room-grid\">\n            <a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/mastermind\/\" title=\"MASTERMIND\">\n            <div style=\"background-image: url(https:\/\/foxinabox.se\/wp-content\/uploads\/sites\/17\/2024\/05\/Mastermind-1.jpeg);\" class=\"room-top-section\">\n                <div class=\"tags\"><\/div>\n                \n                    <div class=\"room-price-overlay\">\n                        <div class=\"price-line-1\">Fr\u00e5n: 850.00 SEK inkl<\/div>\n                        <div class=\"price-line-2\">moms<\/div>\n                    <\/div>\n            <\/div>\n        <\/a>\n            <div class=\"room-middle-section\">\n                <div class=\"room-name\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/mastermind\/\">MASTERMIND<\/a><\/div>\n                <div class=\"room-info-link\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/mastermind\/\">Utforska detaljerna om escape roomet MASTERMIND<\/a><\/div>\n            <\/div>\n            <div class=\"room-bottom-section\">\n                <div class=\"book-today\">BOKA IDAG<\/div>\n                <div class=\"room-available-blocks\"><div class=\"single-block available block-1775899800 block-1775899800-2274\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/mastermind\/?date=2026-04-11&block_id=1775899800&source=other_rooms#Players\">09:30<\/a><\/div><div class=\"single-block available block-1775905200 block-1775905200-2274\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/mastermind\/?date=2026-04-11&block_id=1775905200&source=other_rooms#Players\">11:00<\/a><\/div><div class=\"single-block booked block-1775910600 block-1775910600-2274\"><a>Bokad<\/a><\/div><div class=\"single-block booked block-1775916000 block-1775916000-2274\"><a>Bokad<\/a><\/div><div class=\"single-block booked block-1775921400 block-1775921400-2274\"><a>Bokad<\/a><\/div><div class=\"single-block booked block-1775926800 block-1775926800-2274\"><a>Bokad<\/a><\/div><div class=\"single-block booked block-1775932200 block-1775932200-2274\"><a>Bokad<\/a><\/div><div class=\"single-block booked block-1775937600 block-1775937600-2274\"><a>Bokad<\/a><\/div><div class=\"single-block available block-1775943000 block-1775943000-2274\"><a href=\"https:\/\/foxinabox.se\/se\/p\/rooms\/mastermind\/?date=2026-04-11&block_id=1775943000&source=other_rooms#Players\">21:30<\/a><\/div><\/div>\n            <\/div>\n        <\/div><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>AN INGENIOUS INVENTION FROM ONE OF THE GREATEST MINDS IN HUMAN HISTORY IS IN DANGER OF FALLING INTO THE WRONG HANDS. Tesla died in 1943 in the famous New Yorker Hotel&#8217;s room 3327. After his death you have received a letter from Nikola Tesla himself. In the letter he asks you to come to his [&hellip;]<\/p>","protected":false},"featured_media":2269,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"foxhunt-tags":[],"product_brand":[],"product_cat":[29],"product_tag":[],"class_list":{"0":"post-2399","1":"product","2":"type-product","3":"status-publish","4":"has-post-thumbnail","6":"product_cat-rooms","8":"first","9":"instock","10":"virtual","11":"sold-individually","12":"taxable","13":"purchasable","14":"product-type-booking"},"_links":{"self":[{"href":"https:\/\/foxinabox.se\/se\/wp-json\/wp\/v2\/product\/2399","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/foxinabox.se\/se\/wp-json\/wp\/v2\/product"}],"about":[{"href":"https:\/\/foxinabox.se\/se\/wp-json\/wp\/v2\/types\/product"}],"replies":[{"embeddable":true,"href":"https:\/\/foxinabox.se\/se\/wp-json\/wp\/v2\/comments?post=2399"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/foxinabox.se\/se\/wp-json\/wp\/v2\/media\/2269"}],"wp:attachment":[{"href":"https:\/\/foxinabox.se\/se\/wp-json\/wp\/v2\/media?parent=2399"}],"wp:term":[{"taxonomy":"foxhunt-tags","embeddable":true,"href":"https:\/\/foxinabox.se\/se\/wp-json\/wp\/v2\/foxhunt-tags?post=2399"},{"taxonomy":"product_brand","embeddable":true,"href":"https:\/\/foxinabox.se\/se\/wp-json\/wp\/v2\/product_brand?post=2399"},{"taxonomy":"product_cat","embeddable":true,"href":"https:\/\/foxinabox.se\/se\/wp-json\/wp\/v2\/product_cat?post=2399"},{"taxonomy":"product_tag","embeddable":true,"href":"https:\/\/foxinabox.se\/se\/wp-json\/wp\/v2\/product_tag?post=2399"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}