/* Meblosoft picker v1 · produkty výrobcu Meblosoft · 470 látok v 3. cenovej skupine */

(function () {
  "use strict";
  if (!document.getElementById("meblosoft-picker-v1-style")) {
    var style = document.createElement("style");
    style.id = "meblosoft-picker-v1-style";
    style.textContent = ":root {\n  --mbp-blue: #087da6;\n  --mbp-blue-dark: #055f80;\n  --mbp-ink: #14202b;\n  --mbp-muted: #65727e;\n  --mbp-line: #dce4e9;\n  --mbp-soft: #f3f7f9;\n  --mbp-danger: #b42318;\n  --mbp-radius: 12px;\n}\n\n.mbp-panel,\n.mbp-modal,\n.mbp-panel *,\n.mbp-modal * {\n  box-sizing: border-box;\n}\n\n.mbp-panel [hidden],\n.mbp-modal [hidden] {\n  display: none !important;\n}\n\n.mbp-panel {\n  width: 100%;\n  max-width: 700px;\n  margin: 14px 0;\n  color: var(--mbp-ink);\n  container-type: inline-size;\n  font-family: inherit;\n  text-align: left;\n}\n\n.mbp-side__card,\n.mbp-side__card strong,\n.mbp-side__card small,\n.mbp-legs__card,\n.mbp-legs__card strong,\n.mbp-legs__card small,\n.mbp-trigger__copy {\n  white-space: normal;\n}\n\n.mbp-side {\n  min-width: 0;\n  margin: 0 0 17px;\n  padding: 0;\n  border: 0;\n}\n\n.mbp-side legend {\n  display: flex;\n  align-items: center;\n  justify-content: flex-start;\n  width: 100%;\n  margin: 0 0 9px;\n  padding: 0;\n  color: var(--mbp-ink);\n  font-size: 18px;\n  font-weight: 700;\n  line-height: 1.35;\n  text-align: left !important;\n}\n\n.mbp-side legend span,\n.mbp-legs legend span,\n.mbp-panel__heading h2 b {\n  display: inline-grid;\n  place-items: center;\n  flex: 0 0 24px;\n  width: 24px;\n  height: 24px;\n  margin-right: 7px;\n  border-radius: 50%;\n  background: var(--mbp-blue);\n  color: #fff;\n  font-size: 13px;\n  font-weight: 800;\n  vertical-align: 1px;\n}\n\n.mbp-side__grid {\n  display: grid;\n  grid-template-columns: repeat(2, minmax(0, 1fr));\n  gap: 9px;\n  text-align: left !important;\n}\n\n.mbp-side__card {\n  position: relative;\n  display: grid;\n  grid-template-columns: 58px minmax(0, 1fr);\n  align-items: center;\n  min-width: 0;\n  min-height: 82px;\n  padding: 10px 36px 10px 10px;\n  gap: 10px;\n  border: 1px solid #cbd8df;\n  border-radius: 10px;\n  background: #fff;\n  color: var(--mbp-ink);\n  font: inherit;\n  text-align: left;\n  cursor: pointer;\n  transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease;\n}\n\n.mbp-side__card:hover {\n  border-color: var(--mbp-blue);\n}\n\n.mbp-side__card:focus-visible {\n  outline: 3px solid rgba(8, 125, 166, 0.24);\n  outline-offset: 2px;\n}\n\n.mbp-side__card[aria-pressed=\"true\"] {\n  border-color: var(--mbp-blue);\n  background: #edf8fb;\n  box-shadow: inset 0 0 0 1px var(--mbp-blue);\n}\n\n.mbp-side__card:disabled {\n  cursor: not-allowed;\n  opacity: 0.68;\n}\n\n.mbp-side__card > span:nth-child(2) {\n  display: grid;\n  min-width: 0;\n  gap: 3px;\n}\n\n.mbp-side__card strong,\n.mbp-side__card small {\n  display: block;\n}\n\n.mbp-side__card strong {\n  font-size: 14px;\n  line-height: 1.3;\n}\n\n.mbp-side__card small {\n  color: var(--mbp-muted);\n  font-size: 12px;\n  line-height: 1.35;\n}\n\n.mbp-side__icon {\n  position: relative;\n  display: block;\n  width: 60px;\n  height: 44px;\n  flex: 0 0 60px;\n}\n\n.mbp-side__icon--svg svg {\n  display: block;\n  width: 60px;\n  height: 44px;\n}\n\n.mbp-side__icon--svg .fill {\n  fill: #e8eef0;\n}\n\n.mbp-side__icon--svg .line {\n  fill: none;\n  stroke: #6b777d;\n  stroke-width: 1.7;\n  stroke-linejoin: round;\n}\n\n.mbp-side__icon--svg .seam {\n  fill: none;\n  stroke: #6b777d;\n  stroke-width: 1.2;\n  opacity: 0.55;\n  stroke-linecap: round;\n  stroke-linejoin: round;\n}\n\n.mbp-side__icon--right {\n  transform: scaleX(-1);\n}\n\n.mbp-side__card[aria-pressed=\"true\"] .mbp-side__icon--svg .fill {\n  fill: #d7eef5;\n}\n\n.mbp-side__card[aria-pressed=\"true\"] .mbp-side__icon--svg .line,\n.mbp-side__card[aria-pressed=\"true\"] .mbp-side__icon--svg .seam {\n  stroke: var(--mbp-blue);\n}\n\n.mbp-side__check {\n  position: absolute;\n  top: 9px;\n  right: 9px;\n  display: grid;\n  place-items: center;\n  width: 22px;\n  height: 22px;\n  border: 1px solid #bfcbd0;\n  border-radius: 50%;\n  background: #fff;\n  color: transparent;\n  font-size: 12px;\n  font-weight: 900;\n}\n\n.mbp-side__card[aria-pressed=\"true\"] .mbp-side__check {\n  border-color: var(--mbp-blue);\n  background: var(--mbp-blue);\n  color: #fff;\n}\n\n.mbp-legs {\n  min-width: 0;\n  margin: 0 0 17px;\n  padding: 0;\n  border: 0;\n}\n\n.mbp-legs legend {\n  display: flex;\n  align-items: center;\n  justify-content: flex-start;\n  width: 100%;\n  margin: 0 0 9px;\n  padding: 0;\n  color: var(--mbp-ink);\n  font-size: 18px;\n  font-weight: 700;\n  line-height: 1.35;\n  text-align: left !important;\n}\n\n.mbp-legs__note {\n  margin: 0 0 9px;\n  color: var(--mbp-muted);\n  font-size: 13px;\n  line-height: 1.4;\n}\n\n.mbp-legs__grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));\n  gap: 9px;\n  text-align: left !important;\n}\n\n.mbp-legs__card {\n  position: relative;\n  display: grid;\n  grid-template-columns: 54px minmax(0, 1fr);\n  align-items: center;\n  min-width: 0;\n  min-height: 72px;\n  padding: 10px 36px 10px 10px;\n  gap: 10px;\n  border: 1px solid #cbd8df;\n  border-radius: 10px;\n  background: #fff;\n  color: var(--mbp-ink);\n  font: inherit;\n  text-align: left;\n  cursor: pointer;\n  transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease;\n}\n\n.mbp-legs__card:hover {\n  border-color: var(--mbp-blue);\n}\n\n.mbp-legs__card:focus-visible {\n  outline: 3px solid rgba(8, 125, 166, 0.24);\n  outline-offset: 2px;\n}\n\n.mbp-legs__card[aria-pressed=\"true\"] {\n  border-color: var(--mbp-blue);\n  background: #edf8fb;\n  box-shadow: inset 0 0 0 1px var(--mbp-blue);\n}\n\n.mbp-legs__card:disabled {\n  cursor: not-allowed;\n  opacity: 0.68;\n}\n\n.mbp-legs__card > span:nth-child(2) {\n  display: grid;\n  min-width: 0;\n  gap: 3px;\n}\n\n.mbp-legs__card strong,\n.mbp-legs__card small {\n  display: block;\n}\n\n.mbp-legs__card strong {\n  font-size: 14px;\n  line-height: 1.3;\n}\n\n.mbp-legs__card small {\n  color: var(--mbp-muted);\n  font-size: 12px;\n  line-height: 1.35;\n}\n\n.mbp-legs__visual {\n  display: block;\n  width: 48px;\n  height: 48px;\n  border-radius: 50%;\n  box-shadow: inset 0 0 0 1px rgba(20, 32, 43, 0.12);\n}\n\n.mbp-legs__visual.is-chrome {\n  background: linear-gradient(180deg, rgb(247, 247, 247) 0%, rgb(200, 200, 200) 46%, rgb(239, 239, 239) 100%);\n}\n\n.mbp-legs__visual.is-black {\n  background: rgb(17, 17, 17);\n}\n\n.mbp-legs__visual.is-gold {\n  background: linear-gradient(135deg, rgb(244, 213, 135) 0%, rgb(185, 133, 37) 48%, rgb(231, 188, 96) 100%);\n}\n\n.mbp-legs__visual.is-wood {\n  background: linear-gradient(135deg, rgb(217, 173, 117) 0%, rgb(154, 99, 55) 100%);\n}\n\n.mbp-legs__visual.is-beech {\n  background: linear-gradient(135deg, rgb(239, 212, 162) 0%, rgb(201, 148, 89) 100%);\n}\n\n.mbp-legs__visual.is-walnut {\n  background: linear-gradient(135deg, rgb(154, 101, 60) 0%, rgb(77, 47, 31) 100%);\n}\n\n.mbp-legs__visual.is-alder {\n  background: linear-gradient(135deg, rgb(214, 164, 122) 0%, rgb(166, 96, 62) 100%);\n}\n\n.mbp-legs__visual.is-wenge {\n  background: linear-gradient(135deg, rgb(84, 64, 54) 0%, rgb(32, 24, 23) 100%);\n}\n\n.mbp-legs__visual.is-whitewood {\n  background: linear-gradient(135deg, rgb(255, 253, 250) 0%, rgb(232, 222, 209) 100%);\n}\n\n.mbp-legs__visual.is-unknown {\n  background: rgb(215, 222, 227);\n}\n\n.mbp-legs__check {\n  position: absolute;\n  top: 9px;\n  right: 9px;\n  display: grid;\n  place-items: center;\n  width: 22px;\n  height: 22px;\n  border: 1px solid #bfcbd0;\n  border-radius: 50%;\n  background: #fff;\n  color: transparent;\n  font-size: 12px;\n  font-weight: 900;\n}\n\n.mbp-legs__card[aria-pressed=\"true\"] .mbp-legs__check {\n  border-color: var(--mbp-blue);\n  background: var(--mbp-blue);\n  color: #fff;\n}\n\n.mbp-panel__heading {\n  margin-bottom: 8px;\n  text-align: left !important;\n}\n\n.mbp-panel__heading h2 {\n  display: flex;\n  align-items: center;\n  justify-content: flex-start;\n  margin: 0;\n  color: var(--mbp-ink);\n  font-size: 18px;\n  line-height: 1.35;\n  text-align: left !important;\n}\n\n.mbp-panel__heading h2 b {\n  font-family: inherit;\n}\n\n.mbp-trigger {\n  display: grid;\n  grid-template-columns: 84px minmax(0, 1fr) auto;\n  align-items: center;\n  width: 100%;\n  min-height: 108px;\n  padding: 10px;\n  overflow: hidden;\n  border: 1px solid #cbd8df;\n  border-radius: var(--mbp-radius);\n  background: #fff;\n  color: var(--mbp-ink);\n  font: inherit;\n  text-align: left;\n  cursor: pointer;\n  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;\n}\n\n.mbp-trigger:hover {\n  border-color: var(--mbp-blue);\n  box-shadow: 0 8px 24px rgba(20, 32, 43, 0.08);\n}\n\n.mbp-trigger:focus-visible {\n  outline: 3px solid rgba(8, 125, 166, 0.24);\n  outline-offset: 2px;\n}\n\n.mbp-trigger:disabled {\n  cursor: not-allowed;\n  opacity: 0.68;\n}\n\n.mbp-trigger__visual {\n  display: grid;\n  place-items: center;\n  width: 74px;\n  height: 88px;\n  overflow: hidden;\n  border: 1px solid var(--mbp-line);\n  border-radius: 9px;\n  background: linear-gradient(145deg, #e7f4f8, #dcecef) center / cover no-repeat;\n  color: var(--mbp-blue-dark);\n  font-size: 22px;\n  font-weight: 700;\n  line-height: 1;\n}\n\n.mbp-trigger__visual.has-image {\n  box-shadow: inset 0 0 0 1px rgba(20, 32, 43, 0.12);\n}\n\n.mbp-trigger__visual img {\n  display: block;\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n}\n\n.mbp-trigger__copy {\n  display: flex;\n  min-width: 0;\n  padding: 4px 16px;\n  flex-direction: column;\n  gap: 4px;\n}\n\n.mbp-trigger__copy small {\n  color: var(--mbp-muted);\n  font-size: 12px;\n  font-weight: 700;\n  line-height: 1.4;\n}\n\n.mbp-trigger__copy strong {\n  display: -webkit-box;\n  overflow: hidden;\n  font-size: 17px;\n  line-height: 1.35;\n  white-space: normal;\n  -webkit-box-orient: vertical;\n  -webkit-line-clamp: 2;\n}\n\n.mbp-trigger__copy span {\n  color: var(--mbp-muted);\n  font-size: 13px;\n  font-weight: 500;\n  line-height: 1.4;\n}\n\n.mbp-trigger__action {\n  display: inline-flex;\n  align-items: center;\n  min-height: 42px;\n  padding: 0 14px;\n  border-radius: 8px;\n  background: var(--mbp-blue);\n  color: #fff;\n  font-size: 14px;\n  font-weight: 700;\n  white-space: nowrap;\n}\n\n.mbp-trigger__action b {\n  margin-left: 8px;\n  font-size: 18px;\n  line-height: 1;\n}\n\n.mbp-panel__message,\n.mbp-panel__warning {\n  margin: 8px 2px 0;\n  color: var(--mbp-muted);\n  font-size: 13px;\n  line-height: 1.45;\n}\n\n.mbp-panel__message.is-error {\n  color: var(--mbp-danger);\n  font-weight: 700;\n}\n\n.mbp-panel__warning {\n  padding: 9px 11px;\n  border: 1px solid #e4c96d;\n  border-radius: 8px;\n  background: #fff9df;\n  color: #725b07;\n}\n\n.mbp-diagnostic {\n  margin-top: 12px;\n  border: 1px solid #e8c372;\n  border-radius: 9px;\n  background: #fffaf0;\n  font-size: 13px;\n}\n\n.mbp-diagnostic summary {\n  padding: 10px 12px;\n  font-weight: 700;\n  cursor: pointer;\n}\n\n.mbp-diagnostic > div {\n  padding: 0 12px 12px;\n  line-height: 1.5;\n}\n\n.mbp-diagnostic p {\n  margin: 7px 0;\n}\n\n.mbp-diagnostic code {\n  display: block;\n  padding: 8px;\n  overflow-wrap: anywhere;\n  border-radius: 6px;\n  background: #fff;\n  color: #574714;\n}\n\n.mbp-native-control {\n  position: absolute !important;\n  width: 1px !important;\n  height: 1px !important;\n  padding: 0 !important;\n  overflow: hidden !important;\n  clip: rect(0 0 0 0) !important;\n  clip-path: inset(50%) !important;\n  border: 0 !important;\n  white-space: nowrap !important;\n}\n\n.mbp-native-row-hidden {\n  display: none !important;\n}\n\n.mbp-config-row {\n  align-items: flex-start !important;\n}\n\n.mbp-config-row > .mbp-config-label-cell {\n  display: none !important;\n}\n\n.mbp-config-row > .mbp-value-cell {\n  box-sizing: border-box !important;\n  width: 100% !important;\n  max-width: 100% !important;\n  min-width: 0 !important;\n  height: auto !important;\n  flex: 1 1 100% !important;\n  float: none !important;\n  padding: 10px 16px 16px !important;\n  text-align: left !important;\n}\n\n.mbp-value-cell > .fleft {\n  position: absolute !important;\n  width: 1px !important;\n  height: 1px !important;\n  overflow: hidden !important;\n  clip: rect(0 0 0 0) !important;\n}\n\n.mbp-value-cell > .mbp-panel {\n  width: 100% !important;\n  max-width: 700px !important;\n  margin: 0 !important;\n}\n\n@container (max-width: 420px) {\n  .mbp-side__grid {\n    grid-template-columns: minmax(0, 1fr);\n  }\n}\n\n.mbp-modal {\n  width: min(1180px, calc(100vw - 32px));\n  height: min(820px, calc(100dvh - 32px));\n  max-width: none;\n  max-height: none;\n  margin: auto;\n  padding: 0;\n  overflow: hidden;\n  border: 0;\n  border-radius: 16px;\n  background: #fff;\n  color: var(--mbp-ink);\n  box-shadow: 0 24px 80px rgba(8, 23, 33, 0.28);\n  font-family: inherit;\n  text-align: left;\n}\n\n.mbp-modal::backdrop {\n  background: rgba(8, 20, 29, 0.64);\n  backdrop-filter: blur(2px);\n}\n\n.mbp-modal[open] {\n  display: block;\n}\n\n.mbp-modal__frame {\n  display: grid;\n  grid-template-rows: auto auto minmax(0, 1fr);\n  height: 100%;\n}\n\n.mbp-modal__header {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 24px;\n  padding: 20px 24px 18px;\n  border-bottom: 1px solid var(--mbp-line);\n}\n\n.mbp-modal__header span {\n  display: block;\n  margin-bottom: 3px;\n  color: var(--mbp-blue);\n  font-size: 12px;\n  font-weight: 800;\n  letter-spacing: 0.08em;\n}\n\n.mbp-modal__header h2 {\n  margin: 0;\n  color: var(--mbp-ink);\n  font-size: 25px;\n  line-height: 1.25;\n}\n\n.mbp-modal__header p {\n  margin: 4px 0 0;\n  color: var(--mbp-muted);\n  font-size: 14px;\n}\n\n.mbp-modal__close {\n  display: grid;\n  place-items: center;\n  flex: 0 0 44px;\n  width: 44px;\n  height: 44px;\n  min-width: 44px;\n  min-height: 44px;\n  padding: 0;\n  border: 0;\n  border-radius: 50%;\n  background: #eef2f4;\n  color: var(--mbp-ink);\n  line-height: 0;\n  cursor: pointer;\n}\n\n.mbp-modal__close:hover {\n  background: #e0e8ec;\n}\n\n.mbp-modal__close:focus-visible {\n  outline: 3px solid rgba(8, 125, 166, 0.28);\n  outline-offset: 2px;\n}\n\n.mbp-modal__close svg {\n  display: block;\n  width: 21px;\n  height: 21px;\n  margin: 0;\n  overflow: visible;\n  stroke: currentColor;\n  stroke-width: 2;\n  stroke-linecap: round;\n  fill: none;\n}\n\n.mbp-modal__filters {\n  display: grid;\n  grid-template-columns: minmax(240px, 1.3fr) minmax(190px, 0.85fr) minmax(170px, 0.7fr);\n  gap: 12px;\n  padding: 14px 24px;\n  border-bottom: 1px solid var(--mbp-line);\n  background: #fff;\n}\n\n.mbp-modal__filters label {\n  display: flex;\n  min-width: 0;\n  flex-direction: column;\n  gap: 5px;\n  color: var(--mbp-ink);\n  font-size: 13px;\n  font-weight: 700;\n}\n\n.mbp-modal__filters input,\n.mbp-modal__filters select {\n  width: 100%;\n  height: 42px;\n  margin: 0;\n  padding: 0 12px;\n  border: 1px solid #bdccd4;\n  border-radius: 8px;\n  background: #fff;\n  color: var(--mbp-ink);\n  font: inherit;\n  font-size: 14px;\n}\n\n.mbp-modal__filters input:focus,\n.mbp-modal__filters select:focus {\n  outline: 3px solid rgba(8, 125, 166, 0.16);\n  border-color: var(--mbp-blue);\n}\n\n.mbp-modal__body {\n  display: grid;\n  min-height: 0;\n  grid-template-columns: minmax(0, 1fr) 350px;\n}\n\n.mbp-results {\n  display: grid;\n  min-width: 0;\n  min-height: 0;\n  padding: 16px 18px 18px 24px;\n  grid-template-rows: auto minmax(0, 1fr);\n}\n\n.mbp-results__head {\n  display: flex;\n  align-items: baseline;\n  justify-content: space-between;\n  gap: 12px;\n  padding: 0 4px 10px 0;\n}\n\n.mbp-results__head h3 {\n  margin: 0;\n  font-size: 15px;\n}\n\n.mbp-results__head h3 strong {\n  color: var(--mbp-blue-dark);\n  font-size: 18px;\n}\n\n.mbp-results__head > span {\n  color: var(--mbp-muted);\n  font-size: 12px;\n}\n\n.mbp-grid {\n  display: block;\n  padding: 2px 10px 16px 2px;\n  overflow-y: auto;\n  overscroll-behavior: contain;\n}\n\n.mbp-collection {\n  padding: 14px;\n  border: 1px solid var(--mbp-line);\n  border-radius: 12px;\n  background: #fff;\n}\n\n.mbp-collection + .mbp-collection {\n  margin-top: 16px;\n}\n\n.mbp-collection__header {\n  margin-bottom: 13px;\n}\n\n.mbp-collection__title {\n  display: flex;\n  align-items: center;\n  flex-wrap: wrap;\n  gap: 8px;\n}\n\n.mbp-collection__title h4 {\n  margin: 0;\n  color: var(--mbp-ink);\n  font-size: 20px;\n  line-height: 1.3;\n}\n\n.mbp-collection__title > span {\n  display: inline-flex;\n  min-height: 25px;\n  padding: 3px 9px;\n  align-items: center;\n  border-radius: 999px;\n  background: var(--mbp-blue);\n  color: #fff;\n  font-size: 12px;\n  font-weight: 800;\n}\n\n.mbp-collection__chips {\n  display: flex;\n  margin-top: 9px;\n  flex-wrap: wrap;\n  gap: 6px;\n}\n\n.mbp-collection__chip {\n  display: inline-flex;\n  min-height: 28px;\n  padding: 4px 9px;\n  align-items: center;\n  border: 1px solid #d4dfe4;\n  border-radius: 999px;\n  background: #f6f9fa;\n  color: #465762;\n  font-size: 12px;\n  font-weight: 700;\n  line-height: 1.25;\n}\n\n.mbp-collection__chip.is-feature {\n  border-color: #b8dce8;\n  background: #eaf6fa;\n  color: #075f7e;\n}\n\n.mbp-collection__header > p {\n  max-width: 780px;\n  margin: 9px 0 0;\n  color: var(--mbp-muted);\n  font-size: 13px;\n  line-height: 1.45;\n}\n\n.mbp-collection__grid {\n  display: grid;\n  align-items: start;\n  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));\n  grid-auto-rows: minmax(178px, max-content);\n  gap: 10px;\n}\n\n.mbp-swatch {\n  position: relative;\n  display: flex;\n  width: 100%;\n  min-height: 178px;\n  min-width: 0;\n  padding: 3px;\n  overflow: hidden;\n  flex-direction: column;\n  border: 1px solid #ced9df;\n  border-radius: 9px;\n  background: #fff;\n  cursor: pointer;\n  transition: border-color 130ms ease, box-shadow 130ms ease, transform 130ms ease;\n}\n\n.mbp-swatch:hover {\n  z-index: 1;\n  border-color: var(--mbp-blue);\n  box-shadow: 0 5px 16px rgba(8, 39, 53, 0.15);\n  transform: translateY(-1px);\n}\n\n.mbp-swatch:focus-visible {\n  z-index: 2;\n  outline: 3px solid rgba(8, 125, 166, 0.24);\n  outline-offset: 1px;\n}\n\n.mbp-swatch.is-selected {\n  border-color: var(--mbp-blue);\n  box-shadow: 0 0 0 2px var(--mbp-blue);\n}\n\n.mbp-swatch img {\n  display: block;\n  width: 100%;\n  height: auto;\n  aspect-ratio: 5 / 6;\n  border-radius: 6px;\n  object-fit: cover;\n}\n\n.mbp-swatch__caption {\n  display: flex;\n  min-width: 0;\n  padding: 7px 5px 5px;\n  flex-direction: column;\n  gap: 2px;\n  text-align: left;\n}\n\n.mbp-swatch__caption strong {\n  overflow: hidden;\n  color: var(--mbp-ink);\n  font-size: 12px;\n  line-height: 1.25;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n\n.mbp-swatch__caption small {\n  color: var(--mbp-muted);\n  font-size: 11px;\n  font-weight: 700;\n  line-height: 1.2;\n}\n\n.mbp-empty {\n  display: grid;\n  place-items: center;\n  align-content: center;\n  min-height: 220px;\n  color: var(--mbp-muted);\n  text-align: center;\n}\n\n.mbp-empty strong {\n  color: var(--mbp-ink);\n  font-size: 17px;\n}\n\n.mbp-empty span {\n  margin-top: 4px;\n  font-size: 14px;\n}\n\n.mbp-preview {\n  min-width: 0;\n  min-height: 0;\n  padding: 18px;\n  overflow-y: auto;\n  border-left: 1px solid var(--mbp-line);\n  background: var(--mbp-soft);\n}\n\n.mbp-preview__back {\n  display: none;\n}\n\n.mbp-preview__empty {\n  display: grid;\n  height: 100%;\n  min-height: 260px;\n  place-items: center;\n  align-content: center;\n  color: var(--mbp-muted);\n  text-align: center;\n}\n\n.mbp-preview__empty > span {\n  display: grid;\n  width: 54px;\n  height: 54px;\n  margin-bottom: 10px;\n  place-items: center;\n  border-radius: 50%;\n  background: #fff;\n  color: var(--mbp-blue);\n  font-size: 24px;\n}\n\n.mbp-preview__empty strong {\n  color: var(--mbp-ink);\n  font-size: 16px;\n}\n\n.mbp-preview__empty small {\n  max-width: 230px;\n  margin-top: 4px;\n  font-size: 13px;\n  line-height: 1.45;\n}\n\n.mbp-preview__content {\n  display: flex;\n  min-height: 100%;\n  flex-direction: column;\n}\n\n.mbp-preview__image-wrap {\n  overflow: hidden;\n  aspect-ratio: 1;\n  border-radius: 11px;\n  background: #dce5e9;\n}\n\n.mbp-preview__image-wrap img {\n  display: block;\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n}\n\n.mbp-preview__copy {\n  padding: 15px 2px 0;\n}\n\n.mbp-preview__copy > span {\n  color: var(--mbp-blue-dark);\n  font-size: 12px;\n  font-weight: 800;\n  letter-spacing: 0.03em;\n  text-transform: uppercase;\n}\n\n.mbp-preview__copy h3 {\n  margin: 3px 0 6px;\n  color: var(--mbp-ink);\n  font-size: 22px;\n  line-height: 1.3;\n}\n\n.mbp-preview__copy p {\n  margin: 0 0 14px;\n  color: var(--mbp-muted);\n  font-size: 14px;\n}\n\n.mbp-preview__copy button {\n  width: 100%;\n  min-height: 46px;\n  padding: 9px 15px;\n  border: 0;\n  border-radius: 8px;\n  background: var(--mbp-blue);\n  color: #fff;\n  font: inherit;\n  font-size: 15px;\n  font-weight: 800;\n  cursor: pointer;\n}\n\n.mbp-preview__copy button:hover {\n  background: var(--mbp-blue-dark);\n}\n\n.mbp-preview__copy button:focus-visible {\n  outline: 3px solid rgba(8, 125, 166, 0.28);\n  outline-offset: 2px;\n}\n\n.mbp-modal-open {\n  overflow: hidden;\n}\n\n@media (max-width: 820px) {\n  .mbp-modal {\n    width: calc(100vw - 18px);\n    height: calc(100dvh - 18px);\n    border-radius: 12px;\n  }\n\n  .mbp-modal__header {\n    padding: 15px 16px 13px;\n  }\n\n  .mbp-modal__header h2 {\n    font-size: 21px;\n  }\n\n  .mbp-modal__header p {\n    display: none;\n  }\n\n  .mbp-modal__filters {\n    grid-template-columns: minmax(0, 1fr) minmax(150px, 0.8fr);\n    padding: 11px 16px;\n  }\n\n  .mbp-modal__filters label:last-child {\n    display: none;\n  }\n\n  .mbp-modal__body {\n    position: relative;\n    grid-template-columns: minmax(0, 1fr);\n    overflow: hidden;\n  }\n\n  .mbp-results {\n    padding: 13px 10px 12px 16px;\n  }\n\n  .mbp-collection__grid {\n    grid-template-columns: repeat(auto-fill, minmax(92px, 1fr));\n    gap: 8px;\n  }\n\n  .mbp-preview {\n    position: absolute;\n    inset: 0;\n    z-index: 3;\n    display: none;\n    padding: 14px 16px 18px;\n    border: 0;\n    background: #fff;\n  }\n\n  .mbp-modal.is-previewing .mbp-preview {\n    display: block;\n  }\n\n  .mbp-preview__back {\n    display: inline-flex;\n    min-height: 40px;\n    margin: 0 0 10px;\n    padding: 0 4px;\n    align-items: center;\n    border: 0;\n    background: transparent;\n    color: var(--mbp-blue-dark);\n    font: inherit;\n    font-size: 14px;\n    font-weight: 800;\n    cursor: pointer;\n  }\n\n  .mbp-preview__content {\n    min-height: 0;\n  }\n\n  .mbp-preview__image-wrap {\n    width: min(100%, 440px);\n    max-height: 31dvh;\n    aspect-ratio: auto;\n    margin: 0 auto;\n  }\n\n  .mbp-preview__image-wrap img {\n    width: 100%;\n    height: auto;\n    max-height: 31dvh;\n    object-fit: contain;\n  }\n\n  .mbp-preview__copy {\n    width: min(100%, 440px);\n    margin: 0 auto;\n  }\n}\n\n@media (max-width: 560px) {\n  .mbp-side__grid {\n    grid-template-columns: minmax(0, 1fr);\n  }\n\n  .mbp-side__card {\n    min-height: 76px;\n  }\n\n  .mbp-trigger {\n    grid-template-columns: 74px minmax(0, 1fr);\n    min-height: 0;\n  }\n\n  .mbp-trigger__copy strong {\n    white-space: normal;\n  }\n\n  .mbp-trigger__action {\n    grid-column: 1 / -1;\n    justify-content: center;\n    margin-top: 8px;\n    min-height: 44px;\n  }\n\n  .mbp-modal {\n    inset: 0;\n    width: 100vw;\n    height: 100dvh;\n    max-height: 100dvh;\n    border-radius: 0;\n  }\n\n  .mbp-modal__header {\n    padding: max(13px, env(safe-area-inset-top)) 14px 12px;\n  }\n\n  .mbp-modal__header span {\n    font-size: 11px;\n  }\n\n  .mbp-modal__header h2 {\n    font-size: 19px;\n  }\n\n  .mbp-modal__close {\n    flex-basis: 42px;\n    width: 42px;\n    height: 42px;\n    min-width: 42px;\n    min-height: 42px;\n  }\n\n  .mbp-modal__filters {\n    grid-template-columns: minmax(0, 1fr);\n    padding: 10px 14px;\n  }\n\n  .mbp-modal__filters label:last-child {\n    display: none;\n  }\n\n  .mbp-results {\n    padding: 12px 7px 12px 12px;\n  }\n\n  .mbp-results__head {\n    padding-right: 5px;\n  }\n\n  .mbp-results__head > span {\n    display: none;\n  }\n\n  .mbp-grid {\n    padding-right: 6px;\n  }\n\n  .mbp-collection {\n    padding: 11px;\n  }\n\n  .mbp-collection__title h4 {\n    font-size: 18px;\n  }\n\n  .mbp-collection__chips {\n    gap: 5px;\n  }\n\n  .mbp-collection__chip {\n    min-height: 27px;\n    padding: 4px 8px;\n    font-size: 11px;\n  }\n\n  .mbp-collection__grid {\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n    grid-auto-rows: minmax(170px, max-content);\n    gap: 7px;\n  }\n\n  .mbp-swatch {\n    min-height: 170px;\n  }\n\n  .mbp-preview {\n    padding: 10px 14px max(18px, env(safe-area-inset-bottom));\n  }\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .mbp-trigger,\n  .mbp-swatch {\n    transition: none;\n  }\n}\n";
    document.head.appendChild(style);
  }
}());

/*
 * Mapovacia vrstva pickera Meblosoft.
 * Konkrétna látka nie je hodnota číselníka. Všetkých 470 látok je v 3. cenovej skupine.
 * Natívny číselník poťahu je voliteľný: ak ho produkt má, musí obsahovať práve 3. skupinu.
 * Prevedenie Ľavé/Pravé a nožičky sú voliteľné a čítajú sa z možností produktu.
 * Názov látky ide do poľa poznamka.
 * Picker zatiaľ beží v lokálnom náhľade. Na živý web sa nenahráva.
 */
window.MEBLOSOFT_PICKER_CONFIG = Object.freeze({
  productId: "3425",
  manufacturer: "Meblosoft",
  scope: Object.freeze({
    manufacturer: "Meblosoft",
    manufacturerNeedle: "meblosoft"
  }),
  noteField: "poznamka",
  expectedFabricCount: 470,
  expectedCollectionCount: 22,
  expectedNativeSelectCountMin: 0,
  expectedNativeSelectCountMax: 3,
  sidePlanByProductId: Object.freeze({}),
  sideRules: Object.freeze({
    left: Object.freeze({ label: "Ľavé", expectedNativeId: "4" }),
    right: Object.freeze({ label: "Pravé", expectedNativeId: "3" })
  }),
  legPalette: Object.freeze({
    chrome: Object.freeze({
      label: "Kovové chrómové",
      visual: "chrome",
      preferredDefault: true,
      nativeLabels: Object.freeze(["Kovové chrómové", "Chrómové nohy", "Chróm"])
    }),
    black: Object.freeze({
      label: "Kovové čierne",
      visual: "black",
      nativeLabels: Object.freeze(["Kovové čierne", "čierne nohy", "Čierna"])
    }),
    blackWood: Object.freeze({
      label: "Drevené čierna",
      visual: "black",
      nativeLabels: Object.freeze(["Drevené čierna"])
    }),
    beech: Object.freeze({
      label: "Drevené buk",
      visual: "beech",
      nativeLabels: Object.freeze(["Drevené buk", "Buk"])
    }),
    white: Object.freeze({
      label: "Drevené biela",
      visual: "whitewood",
      nativeLabels: Object.freeze(["Drevené biela", "Biela"])
    }),
    walnut: Object.freeze({
      label: "Drevené orech",
      visual: "walnut",
      nativeLabels: Object.freeze(["Drevené orech", "Orech", "orech"])
    }),
    wenge: Object.freeze({
      label: "Drevené wenge",
      visual: "wenge",
      nativeLabels: Object.freeze(["Drevené wenge", "Wenge", "wenge"])
    }),
    alder: Object.freeze({
      label: "Drevené jelša",
      visual: "alder",
      nativeLabels: Object.freeze(["Drevené jelša", "Jelša", "jelša"])
    }),
    gold: Object.freeze({
      label: "Kovové zlaté",
      visual: "gold",
      nativeLabels: Object.freeze(["Kovové zlaté", "zlaté nohy", "Zlatá", "Zlato"])
    }),
    wood: Object.freeze({
      label: "Drevené",
      visual: "wood",
      nativeLabels: Object.freeze(["Drevené"])
    })
  }),
  groupRules: Object.freeze({
    "3": Object.freeze({ label: "Cenová skupina 3" })
  }),
  marker: "meblosoft-picker-v1"
});

/* Generated by build-catalog.cjs. Do not hand-edit. */
window.MEBLOSOFT_CATALOG = Object.freeze({"version":"meblosoft-2026-09-19","manufacturer":"Meblosoft","source":"webareal-upload/meblosoft-male-velke-kolekcie-safe/upload-manifest.json","expectedCount":470,"groups":{"3":470},"collections":[{"name":"Aragon","slug":"aragon","priceGroup":3,"itemCount":30,"composition":"","weightGsm":340,"weightTolerancePct":5,"martindaleDisplay":"45 000–60 000","features":[],"description":""},{"name":"Aston","slug":"aston","priceGroup":3,"itemCount":23,"composition":"","weightGsm":280,"weightTolerancePct":5,"martindaleDisplay":">100 000","features":[],"description":""},{"name":"Castel","slug":"castel","priceGroup":3,"itemCount":20,"composition":"","weightGsm":350,"weightTolerancePct":5,"martindaleDisplay":"45 000–55 000","features":[],"description":""},{"name":"Cloud","slug":"cloud","priceGroup":3,"itemCount":23,"composition":"","weightGsm":390,"weightTolerancePct":10,"martindaleDisplay":"90 000–100 000","features":[],"description":""},{"name":"Curio","slug":"curio","priceGroup":3,"itemCount":23,"composition":"","weightGsm":280,"weightTolerancePct":5,"martindaleDisplay":"45 000–60 000","features":[],"description":""},{"name":"Element","slug":"element","priceGroup":3,"itemCount":25,"composition":"","weightGsm":400,"weightTolerancePct":0,"martindaleDisplay":"50 000","features":[],"description":""},{"name":"Inari","slug":"inari","priceGroup":3,"itemCount":18,"composition":"","weightGsm":260,"weightTolerancePct":5,"martindaleDisplay":"45 000–50 000","features":[],"description":""},{"name":"Loft","slug":"loft","priceGroup":3,"itemCount":24,"composition":"","weightGsm":370,"weightTolerancePct":5,"martindaleDisplay":"30 000","features":[],"description":""},{"name":"Melody","slug":"melody","priceGroup":3,"itemCount":15,"composition":"","weightGsm":400,"weightTolerancePct":0,"martindaleDisplay":">100 000","features":[],"description":""},{"name":"Moly","slug":"moly","priceGroup":3,"itemCount":20,"composition":"","weightGsm":380,"weightTolerancePct":10,"martindaleDisplay":"80 000–90 000","features":[],"description":""},{"name":"Monolith","slug":"monolith","priceGroup":3,"itemCount":24,"composition":"","weightGsm":330,"weightTolerancePct":5,"martindaleDisplay":">100 000","features":[],"description":""},{"name":"Neve","slug":"neve","priceGroup":3,"itemCount":27,"composition":"","weightGsm":305,"weightTolerancePct":5,"martindaleDisplay":">100 000","features":[],"description":""},{"name":"Perfect Harmony","slug":"perfect_harmony","priceGroup":3,"itemCount":17,"composition":"","weightGsm":410,"weightTolerancePct":10,"martindaleDisplay":"45 000–50 000","features":[],"description":""},{"name":"Riviera","slug":"riviera","priceGroup":3,"itemCount":22,"composition":"","weightGsm":300,"weightTolerancePct":10,"martindaleDisplay":"120 000","features":[],"description":""},{"name":"Royal Velvet","slug":"royal_velvet","priceGroup":3,"itemCount":22,"composition":"","weightGsm":370,"weightTolerancePct":5,"martindaleDisplay":">100 000","features":[],"description":""},{"name":"Salvador","slug":"salvador","priceGroup":3,"itemCount":17,"composition":"","weightGsm":340,"weightTolerancePct":5,"martindaleDisplay":"130 000","features":[],"description":""},{"name":"Sawana","slug":"sawana","priceGroup":3,"itemCount":18,"composition":"","weightGsm":245,"weightTolerancePct":5,"martindaleDisplay":"90 000–100 000","features":[],"description":""},{"name":"Solar","slug":"solar","priceGroup":3,"itemCount":21,"composition":"","weightGsm":370,"weightTolerancePct":5,"martindaleDisplay":"70 000–80 000","features":[],"description":""},{"name":"Storm","slug":"storm","priceGroup":3,"itemCount":29,"composition":"","weightGsm":440,"weightTolerancePct":10,"martindaleDisplay":"120 000","features":[],"description":""},{"name":"Toronto","slug":"toronto","priceGroup":3,"itemCount":15,"composition":"","weightGsm":350,"weightTolerancePct":5,"martindaleDisplay":"70 000","features":[],"description":""},{"name":"Vogue","slug":"vogue","priceGroup":3,"itemCount":18,"composition":"","weightGsm":370,"weightTolerancePct":5,"martindaleDisplay":"105 000","features":[],"description":""},{"name":"Whisper","slug":"whisper","priceGroup":3,"itemCount":19,"composition":"","weightGsm":360,"weightTolerancePct":5,"martindaleDisplay":">100 000","features":[],"description":""}],"items":[{"id":"aragon/01","name":"Aragon 01","code":"01","collection":"Aragon","collectionSlug":"aragon","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aragon/aragon-01.png","previewUrl":"/fotky13204/meblosoft/velke/aragon/aragon-01.jpg"},{"id":"aragon/02","name":"Aragon 02","code":"02","collection":"Aragon","collectionSlug":"aragon","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aragon/aragon-02.png","previewUrl":"/fotky13204/meblosoft/velke/aragon/aragon-02.jpg"},{"id":"aragon/03","name":"Aragon 03","code":"03","collection":"Aragon","collectionSlug":"aragon","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aragon/aragon-03.png","previewUrl":"/fotky13204/meblosoft/velke/aragon/aragon-03.jpg"},{"id":"aragon/08","name":"Aragon 08","code":"08","collection":"Aragon","collectionSlug":"aragon","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aragon/aragon-08.png","previewUrl":"/fotky13204/meblosoft/velke/aragon/aragon-08.jpg"},{"id":"aragon/14","name":"Aragon 14","code":"14","collection":"Aragon","collectionSlug":"aragon","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aragon/aragon-14.png","previewUrl":"/fotky13204/meblosoft/velke/aragon/aragon-14.jpg"},{"id":"aragon/19","name":"Aragon 19","code":"19","collection":"Aragon","collectionSlug":"aragon","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aragon/aragon-19.png","previewUrl":"/fotky13204/meblosoft/velke/aragon/aragon-19.jpg"},{"id":"aragon/20","name":"Aragon 20","code":"20","collection":"Aragon","collectionSlug":"aragon","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aragon/aragon-20.png","previewUrl":"/fotky13204/meblosoft/velke/aragon/aragon-20.jpg"},{"id":"aragon/22","name":"Aragon 22","code":"22","collection":"Aragon","collectionSlug":"aragon","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aragon/aragon-22.png","previewUrl":"/fotky13204/meblosoft/velke/aragon/aragon-22.jpg"},{"id":"aragon/24","name":"Aragon 24","code":"24","collection":"Aragon","collectionSlug":"aragon","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aragon/aragon-24.png","previewUrl":"/fotky13204/meblosoft/velke/aragon/aragon-24.jpg"},{"id":"aragon/26","name":"Aragon 26","code":"26","collection":"Aragon","collectionSlug":"aragon","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aragon/aragon-26.png","previewUrl":"/fotky13204/meblosoft/velke/aragon/aragon-26.jpg"},{"id":"aragon/34","name":"Aragon 34","code":"34","collection":"Aragon","collectionSlug":"aragon","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aragon/aragon-34.png","previewUrl":"/fotky13204/meblosoft/velke/aragon/aragon-34.jpg"},{"id":"aragon/35","name":"Aragon 35","code":"35","collection":"Aragon","collectionSlug":"aragon","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aragon/aragon-35.png","previewUrl":"/fotky13204/meblosoft/velke/aragon/aragon-35.jpg"},{"id":"aragon/38","name":"Aragon 38","code":"38","collection":"Aragon","collectionSlug":"aragon","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aragon/aragon-38.png","previewUrl":"/fotky13204/meblosoft/velke/aragon/aragon-38.jpg"},{"id":"aragon/39","name":"Aragon 39","code":"39","collection":"Aragon","collectionSlug":"aragon","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aragon/aragon-39.png","previewUrl":"/fotky13204/meblosoft/velke/aragon/aragon-39.jpg"},{"id":"aragon/56","name":"Aragon 56","code":"56","collection":"Aragon","collectionSlug":"aragon","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aragon/aragon-56.png","previewUrl":"/fotky13204/meblosoft/velke/aragon/aragon-56.jpg"},{"id":"aragon/59","name":"Aragon 59","code":"59","collection":"Aragon","collectionSlug":"aragon","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aragon/aragon-59.png","previewUrl":"/fotky13204/meblosoft/velke/aragon/aragon-59.jpg"},{"id":"aragon/62","name":"Aragon 62","code":"62","collection":"Aragon","collectionSlug":"aragon","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aragon/aragon-62.png","previewUrl":"/fotky13204/meblosoft/velke/aragon/aragon-62.jpg"},{"id":"aragon/69","name":"Aragon 69","code":"69","collection":"Aragon","collectionSlug":"aragon","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aragon/aragon-69.png","previewUrl":"/fotky13204/meblosoft/velke/aragon/aragon-69.jpg"},{"id":"aragon/70","name":"Aragon 70","code":"70","collection":"Aragon","collectionSlug":"aragon","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aragon/aragon-70.png","previewUrl":"/fotky13204/meblosoft/velke/aragon/aragon-70.jpg"},{"id":"aragon/72","name":"Aragon 72","code":"72","collection":"Aragon","collectionSlug":"aragon","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aragon/aragon-72.png","previewUrl":"/fotky13204/meblosoft/velke/aragon/aragon-72.jpg"},{"id":"aragon/74","name":"Aragon 74","code":"74","collection":"Aragon","collectionSlug":"aragon","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aragon/aragon-74.png","previewUrl":"/fotky13204/meblosoft/velke/aragon/aragon-74.jpg"},{"id":"aragon/75","name":"Aragon 75","code":"75","collection":"Aragon","collectionSlug":"aragon","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aragon/aragon-75.png","previewUrl":"/fotky13204/meblosoft/velke/aragon/aragon-75.jpg"},{"id":"aragon/79","name":"Aragon 79","code":"79","collection":"Aragon","collectionSlug":"aragon","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aragon/aragon-79.png","previewUrl":"/fotky13204/meblosoft/velke/aragon/aragon-79.jpg"},{"id":"aragon/80","name":"Aragon 80","code":"80","collection":"Aragon","collectionSlug":"aragon","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aragon/aragon-80.png","previewUrl":"/fotky13204/meblosoft/velke/aragon/aragon-80.jpg"},{"id":"aragon/83","name":"Aragon 83","code":"83","collection":"Aragon","collectionSlug":"aragon","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aragon/aragon-83.png","previewUrl":"/fotky13204/meblosoft/velke/aragon/aragon-83.jpg"},{"id":"aragon/90","name":"Aragon 90","code":"90","collection":"Aragon","collectionSlug":"aragon","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aragon/aragon-90.png","previewUrl":"/fotky13204/meblosoft/velke/aragon/aragon-90.jpg"},{"id":"aragon/93","name":"Aragon 93","code":"93","collection":"Aragon","collectionSlug":"aragon","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aragon/aragon-93.png","previewUrl":"/fotky13204/meblosoft/velke/aragon/aragon-93.jpg"},{"id":"aragon/95","name":"Aragon 95","code":"95","collection":"Aragon","collectionSlug":"aragon","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aragon/aragon-95.png","previewUrl":"/fotky13204/meblosoft/velke/aragon/aragon-95.jpg"},{"id":"aragon/97","name":"Aragon 97","code":"97","collection":"Aragon","collectionSlug":"aragon","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aragon/aragon-97.png","previewUrl":"/fotky13204/meblosoft/velke/aragon/aragon-97.jpg"},{"id":"aragon/99","name":"Aragon 99","code":"99","collection":"Aragon","collectionSlug":"aragon","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aragon/aragon-99.png","previewUrl":"/fotky13204/meblosoft/velke/aragon/aragon-99.jpg"},{"id":"aston/01","name":"Aston 01","code":"01","collection":"Aston","collectionSlug":"aston","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aston/aston-01.png","previewUrl":"/fotky13204/meblosoft/velke/aston/aston-01.jpg"},{"id":"aston/02","name":"Aston 02","code":"02","collection":"Aston","collectionSlug":"aston","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aston/aston-02.png","previewUrl":"/fotky13204/meblosoft/velke/aston/aston-02.jpg"},{"id":"aston/03","name":"Aston 03","code":"03","collection":"Aston","collectionSlug":"aston","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aston/aston-03.png","previewUrl":"/fotky13204/meblosoft/velke/aston/aston-03.jpg"},{"id":"aston/04","name":"Aston 04","code":"04","collection":"Aston","collectionSlug":"aston","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aston/aston-04.png","previewUrl":"/fotky13204/meblosoft/velke/aston/aston-04.jpg"},{"id":"aston/05","name":"Aston 05","code":"05","collection":"Aston","collectionSlug":"aston","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aston/aston-05.png","previewUrl":"/fotky13204/meblosoft/velke/aston/aston-05.jpg"},{"id":"aston/06","name":"Aston 06","code":"06","collection":"Aston","collectionSlug":"aston","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aston/aston-06.png","previewUrl":"/fotky13204/meblosoft/velke/aston/aston-06.jpg"},{"id":"aston/07","name":"Aston 07","code":"07","collection":"Aston","collectionSlug":"aston","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aston/aston-07.png","previewUrl":"/fotky13204/meblosoft/velke/aston/aston-07.jpg"},{"id":"aston/08","name":"Aston 08","code":"08","collection":"Aston","collectionSlug":"aston","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aston/aston-08.png","previewUrl":"/fotky13204/meblosoft/velke/aston/aston-08.jpg"},{"id":"aston/09","name":"Aston 09","code":"09","collection":"Aston","collectionSlug":"aston","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aston/aston-09.png","previewUrl":"/fotky13204/meblosoft/velke/aston/aston-09.jpg"},{"id":"aston/10","name":"Aston 10","code":"10","collection":"Aston","collectionSlug":"aston","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aston/aston-10.png","previewUrl":"/fotky13204/meblosoft/velke/aston/aston-10.jpg"},{"id":"aston/11","name":"Aston 11","code":"11","collection":"Aston","collectionSlug":"aston","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aston/aston-11.png","previewUrl":"/fotky13204/meblosoft/velke/aston/aston-11.jpg"},{"id":"aston/12","name":"Aston 12","code":"12","collection":"Aston","collectionSlug":"aston","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aston/aston-12.png","previewUrl":"/fotky13204/meblosoft/velke/aston/aston-12.jpg"},{"id":"aston/13","name":"Aston 13","code":"13","collection":"Aston","collectionSlug":"aston","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aston/aston-13.png","previewUrl":"/fotky13204/meblosoft/velke/aston/aston-13.jpg"},{"id":"aston/14","name":"Aston 14","code":"14","collection":"Aston","collectionSlug":"aston","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aston/aston-14.png","previewUrl":"/fotky13204/meblosoft/velke/aston/aston-14.jpg"},{"id":"aston/15","name":"Aston 15","code":"15","collection":"Aston","collectionSlug":"aston","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aston/aston-15.png","previewUrl":"/fotky13204/meblosoft/velke/aston/aston-15.jpg"},{"id":"aston/16","name":"Aston 16","code":"16","collection":"Aston","collectionSlug":"aston","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aston/aston-16.png","previewUrl":"/fotky13204/meblosoft/velke/aston/aston-16.jpg"},{"id":"aston/17","name":"Aston 17","code":"17","collection":"Aston","collectionSlug":"aston","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aston/aston-17.png","previewUrl":"/fotky13204/meblosoft/velke/aston/aston-17.jpg"},{"id":"aston/18","name":"Aston 18","code":"18","collection":"Aston","collectionSlug":"aston","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aston/aston-18.png","previewUrl":"/fotky13204/meblosoft/velke/aston/aston-18.jpg"},{"id":"aston/19","name":"Aston 19","code":"19","collection":"Aston","collectionSlug":"aston","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aston/aston-19.png","previewUrl":"/fotky13204/meblosoft/velke/aston/aston-19.jpg"},{"id":"aston/20","name":"Aston 20","code":"20","collection":"Aston","collectionSlug":"aston","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aston/aston-20.png","previewUrl":"/fotky13204/meblosoft/velke/aston/aston-20.jpg"},{"id":"aston/25","name":"Aston 25","code":"25","collection":"Aston","collectionSlug":"aston","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aston/aston-25.png","previewUrl":"/fotky13204/meblosoft/velke/aston/aston-25.jpg"},{"id":"aston/26","name":"Aston 26","code":"26","collection":"Aston","collectionSlug":"aston","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aston/aston-26.png","previewUrl":"/fotky13204/meblosoft/velke/aston/aston-26.jpg"},{"id":"aston/27","name":"Aston 27","code":"27","collection":"Aston","collectionSlug":"aston","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/aston/aston-27.png","previewUrl":"/fotky13204/meblosoft/velke/aston/aston-27.jpg"},{"id":"castel/03","name":"Castel 03","code":"03","collection":"Castel","collectionSlug":"castel","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/castel/castel-03.png","previewUrl":"/fotky13204/meblosoft/velke/castel/castel-03.jpg"},{"id":"castel/04","name":"Castel 04","code":"04","collection":"Castel","collectionSlug":"castel","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/castel/castel-04.png","previewUrl":"/fotky13204/meblosoft/velke/castel/castel-04.jpg"},{"id":"castel/15","name":"Castel 15","code":"15","collection":"Castel","collectionSlug":"castel","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/castel/castel-15.png","previewUrl":"/fotky13204/meblosoft/velke/castel/castel-15.jpg"},{"id":"castel/20","name":"Castel 20","code":"20","collection":"Castel","collectionSlug":"castel","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/castel/castel-20.png","previewUrl":"/fotky13204/meblosoft/velke/castel/castel-20.jpg"},{"id":"castel/34","name":"Castel 34","code":"34","collection":"Castel","collectionSlug":"castel","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/castel/castel-34.png","previewUrl":"/fotky13204/meblosoft/velke/castel/castel-34.jpg"},{"id":"castel/39","name":"Castel 39","code":"39","collection":"Castel","collectionSlug":"castel","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/castel/castel-39.png","previewUrl":"/fotky13204/meblosoft/velke/castel/castel-39.jpg"},{"id":"castel/48","name":"Castel 48","code":"48","collection":"Castel","collectionSlug":"castel","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/castel/castel-48.png","previewUrl":"/fotky13204/meblosoft/velke/castel/castel-48.jpg"},{"id":"castel/55","name":"Castel 55","code":"55","collection":"Castel","collectionSlug":"castel","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/castel/castel-55.png","previewUrl":"/fotky13204/meblosoft/velke/castel/castel-55.jpg"},{"id":"castel/59","name":"Castel 59","code":"59","collection":"Castel","collectionSlug":"castel","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/castel/castel-59.png","previewUrl":"/fotky13204/meblosoft/velke/castel/castel-59.jpg"},{"id":"castel/70","name":"Castel 70","code":"70","collection":"Castel","collectionSlug":"castel","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/castel/castel-70.png","previewUrl":"/fotky13204/meblosoft/velke/castel/castel-70.jpg"},{"id":"castel/74","name":"Castel 74","code":"74","collection":"Castel","collectionSlug":"castel","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/castel/castel-74.png","previewUrl":"/fotky13204/meblosoft/velke/castel/castel-74.jpg"},{"id":"castel/75","name":"Castel 75","code":"75","collection":"Castel","collectionSlug":"castel","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/castel/castel-75.png","previewUrl":"/fotky13204/meblosoft/velke/castel/castel-75.jpg"},{"id":"castel/79","name":"Castel 79","code":"79","collection":"Castel","collectionSlug":"castel","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/castel/castel-79.png","previewUrl":"/fotky13204/meblosoft/velke/castel/castel-79.jpg"},{"id":"castel/80","name":"Castel 80","code":"80","collection":"Castel","collectionSlug":"castel","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/castel/castel-80.png","previewUrl":"/fotky13204/meblosoft/velke/castel/castel-80.jpg"},{"id":"castel/82","name":"Castel 82","code":"82","collection":"Castel","collectionSlug":"castel","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/castel/castel-82.png","previewUrl":"/fotky13204/meblosoft/velke/castel/castel-82.jpg"},{"id":"castel/85","name":"Castel 85","code":"85","collection":"Castel","collectionSlug":"castel","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/castel/castel-85.png","previewUrl":"/fotky13204/meblosoft/velke/castel/castel-85.jpg"},{"id":"castel/90","name":"Castel 90","code":"90","collection":"Castel","collectionSlug":"castel","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/castel/castel-90.png","previewUrl":"/fotky13204/meblosoft/velke/castel/castel-90.jpg"},{"id":"castel/91","name":"Castel 91","code":"91","collection":"Castel","collectionSlug":"castel","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/castel/castel-91.png","previewUrl":"/fotky13204/meblosoft/velke/castel/castel-91.jpg"},{"id":"castel/93","name":"Castel 93","code":"93","collection":"Castel","collectionSlug":"castel","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/castel/castel-93.png","previewUrl":"/fotky13204/meblosoft/velke/castel/castel-93.jpg"},{"id":"castel/97","name":"Castel 97","code":"97","collection":"Castel","collectionSlug":"castel","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/castel/castel-97.png","previewUrl":"/fotky13204/meblosoft/velke/castel/castel-97.jpg"},{"id":"cloud/03","name":"Cloud 03","code":"03","collection":"Cloud","collectionSlug":"cloud","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/cloud/cloud-03.png","previewUrl":"/fotky13204/meblosoft/velke/cloud/cloud-03.jpg"},{"id":"cloud/32","name":"Cloud 32","code":"32","collection":"Cloud","collectionSlug":"cloud","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/cloud/cloud-32.png","previewUrl":"/fotky13204/meblosoft/velke/cloud/cloud-32.jpg"},{"id":"cloud/33","name":"Cloud 33","code":"33","collection":"Cloud","collectionSlug":"cloud","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/cloud/cloud-33.png","previewUrl":"/fotky13204/meblosoft/velke/cloud/cloud-33.jpg"},{"id":"cloud/37","name":"Cloud 37","code":"37","collection":"Cloud","collectionSlug":"cloud","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/cloud/cloud-37.png","previewUrl":"/fotky13204/meblosoft/velke/cloud/cloud-37.jpg"},{"id":"cloud/38","name":"Cloud 38","code":"38","collection":"Cloud","collectionSlug":"cloud","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/cloud/cloud-38.png","previewUrl":"/fotky13204/meblosoft/velke/cloud/cloud-38.jpg"},{"id":"cloud/39","name":"Cloud 39","code":"39","collection":"Cloud","collectionSlug":"cloud","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/cloud/cloud-39.png","previewUrl":"/fotky13204/meblosoft/velke/cloud/cloud-39.jpg"},{"id":"cloud/60","name":"Cloud 60","code":"60","collection":"Cloud","collectionSlug":"cloud","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/cloud/cloud-60.png","previewUrl":"/fotky13204/meblosoft/velke/cloud/cloud-60.jpg"},{"id":"cloud/63","name":"Cloud 63","code":"63","collection":"Cloud","collectionSlug":"cloud","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/cloud/cloud-63.png","previewUrl":"/fotky13204/meblosoft/velke/cloud/cloud-63.jpg"},{"id":"cloud/68","name":"Cloud 68","code":"68","collection":"Cloud","collectionSlug":"cloud","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/cloud/cloud-68.png","previewUrl":"/fotky13204/meblosoft/velke/cloud/cloud-68.jpg"},{"id":"cloud/70","name":"Cloud 70","code":"70","collection":"Cloud","collectionSlug":"cloud","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/cloud/cloud-70.png","previewUrl":"/fotky13204/meblosoft/velke/cloud/cloud-70.jpg"},{"id":"cloud/71","name":"Cloud 71","code":"71","collection":"Cloud","collectionSlug":"cloud","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/cloud/cloud-71.png","previewUrl":"/fotky13204/meblosoft/velke/cloud/cloud-71.jpg"},{"id":"cloud/72","name":"Cloud 72","code":"72","collection":"Cloud","collectionSlug":"cloud","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/cloud/cloud-72.png","previewUrl":"/fotky13204/meblosoft/velke/cloud/cloud-72.jpg"},{"id":"cloud/74","name":"Cloud 74","code":"74","collection":"Cloud","collectionSlug":"cloud","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/cloud/cloud-74.png","previewUrl":"/fotky13204/meblosoft/velke/cloud/cloud-74.jpg"},{"id":"cloud/75","name":"Cloud 75","code":"75","collection":"Cloud","collectionSlug":"cloud","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/cloud/cloud-75.png","previewUrl":"/fotky13204/meblosoft/velke/cloud/cloud-75.jpg"},{"id":"cloud/79","name":"Cloud 79","code":"79","collection":"Cloud","collectionSlug":"cloud","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/cloud/cloud-79.png","previewUrl":"/fotky13204/meblosoft/velke/cloud/cloud-79.jpg"},{"id":"cloud/80","name":"Cloud 80","code":"80","collection":"Cloud","collectionSlug":"cloud","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/cloud/cloud-80.png","previewUrl":"/fotky13204/meblosoft/velke/cloud/cloud-80.jpg"},{"id":"cloud/81","name":"Cloud 81","code":"81","collection":"Cloud","collectionSlug":"cloud","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/cloud/cloud-81.png","previewUrl":"/fotky13204/meblosoft/velke/cloud/cloud-81.jpg"},{"id":"cloud/82","name":"Cloud 82","code":"82","collection":"Cloud","collectionSlug":"cloud","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/cloud/cloud-82.png","previewUrl":"/fotky13204/meblosoft/velke/cloud/cloud-82.jpg"},{"id":"cloud/83","name":"Cloud 83","code":"83","collection":"Cloud","collectionSlug":"cloud","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/cloud/cloud-83.png","previewUrl":"/fotky13204/meblosoft/velke/cloud/cloud-83.jpg"},{"id":"cloud/84","name":"Cloud 84","code":"84","collection":"Cloud","collectionSlug":"cloud","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/cloud/cloud-84.png","previewUrl":"/fotky13204/meblosoft/velke/cloud/cloud-84.jpg"},{"id":"cloud/87","name":"Cloud 87","code":"87","collection":"Cloud","collectionSlug":"cloud","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/cloud/cloud-87.png","previewUrl":"/fotky13204/meblosoft/velke/cloud/cloud-87.jpg"},{"id":"cloud/91","name":"Cloud 91","code":"91","collection":"Cloud","collectionSlug":"cloud","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/cloud/cloud-91.png","previewUrl":"/fotky13204/meblosoft/velke/cloud/cloud-91.jpg"},{"id":"cloud/97","name":"Cloud 97","code":"97","collection":"Cloud","collectionSlug":"cloud","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/cloud/cloud-97.png","previewUrl":"/fotky13204/meblosoft/velke/cloud/cloud-97.jpg"},{"id":"curio/02","name":"Curio 02","code":"02","collection":"Curio","collectionSlug":"curio","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/curio/curio-02.png","previewUrl":"/fotky13204/meblosoft/velke/curio/curio-02.jpg"},{"id":"curio/09","name":"Curio 09","code":"09","collection":"Curio","collectionSlug":"curio","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/curio/curio-09.png","previewUrl":"/fotky13204/meblosoft/velke/curio/curio-09.jpg"},{"id":"curio/11","name":"Curio 11","code":"11","collection":"Curio","collectionSlug":"curio","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/curio/curio-11.png","previewUrl":"/fotky13204/meblosoft/velke/curio/curio-11.jpg"},{"id":"curio/15","name":"Curio 15","code":"15","collection":"Curio","collectionSlug":"curio","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/curio/curio-15.png","previewUrl":"/fotky13204/meblosoft/velke/curio/curio-15.jpg"},{"id":"curio/20","name":"Curio 20","code":"20","collection":"Curio","collectionSlug":"curio","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/curio/curio-20.png","previewUrl":"/fotky13204/meblosoft/velke/curio/curio-20.jpg"},{"id":"curio/35","name":"Curio 35","code":"35","collection":"Curio","collectionSlug":"curio","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/curio/curio-35.png","previewUrl":"/fotky13204/meblosoft/velke/curio/curio-35.jpg"},{"id":"curio/37","name":"Curio 37","code":"37","collection":"Curio","collectionSlug":"curio","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/curio/curio-37.png","previewUrl":"/fotky13204/meblosoft/velke/curio/curio-37.jpg"},{"id":"curio/39","name":"Curio 39","code":"39","collection":"Curio","collectionSlug":"curio","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/curio/curio-39.png","previewUrl":"/fotky13204/meblosoft/velke/curio/curio-39.jpg"},{"id":"curio/48","name":"Curio 48","code":"48","collection":"Curio","collectionSlug":"curio","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/curio/curio-48.png","previewUrl":"/fotky13204/meblosoft/velke/curio/curio-48.jpg"},{"id":"curio/55","name":"Curio 55","code":"55","collection":"Curio","collectionSlug":"curio","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/curio/curio-55.png","previewUrl":"/fotky13204/meblosoft/velke/curio/curio-55.jpg"},{"id":"curio/57","name":"Curio 57","code":"57","collection":"Curio","collectionSlug":"curio","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/curio/curio-57.png","previewUrl":"/fotky13204/meblosoft/velke/curio/curio-57.jpg"},{"id":"curio/60","name":"Curio 60","code":"60","collection":"Curio","collectionSlug":"curio","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/curio/curio-60.png","previewUrl":"/fotky13204/meblosoft/velke/curio/curio-60.jpg"},{"id":"curio/63","name":"Curio 63","code":"63","collection":"Curio","collectionSlug":"curio","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/curio/curio-63.png","previewUrl":"/fotky13204/meblosoft/velke/curio/curio-63.jpg"},{"id":"curio/70","name":"Curio 70","code":"70","collection":"Curio","collectionSlug":"curio","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/curio/curio-70.png","previewUrl":"/fotky13204/meblosoft/velke/curio/curio-70.jpg"},{"id":"curio/74","name":"Curio 74","code":"74","collection":"Curio","collectionSlug":"curio","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/curio/curio-74.png","previewUrl":"/fotky13204/meblosoft/velke/curio/curio-74.jpg"},{"id":"curio/78","name":"Curio 78","code":"78","collection":"Curio","collectionSlug":"curio","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/curio/curio-78.png","previewUrl":"/fotky13204/meblosoft/velke/curio/curio-78.jpg"},{"id":"curio/79","name":"Curio 79","code":"79","collection":"Curio","collectionSlug":"curio","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/curio/curio-79.png","previewUrl":"/fotky13204/meblosoft/velke/curio/curio-79.jpg"},{"id":"curio/80","name":"Curio 80","code":"80","collection":"Curio","collectionSlug":"curio","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/curio/curio-80.png","previewUrl":"/fotky13204/meblosoft/velke/curio/curio-80.jpg"},{"id":"curio/83","name":"Curio 83","code":"83","collection":"Curio","collectionSlug":"curio","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/curio/curio-83.png","previewUrl":"/fotky13204/meblosoft/velke/curio/curio-83.jpg"},{"id":"curio/84","name":"Curio 84","code":"84","collection":"Curio","collectionSlug":"curio","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/curio/curio-84.png","previewUrl":"/fotky13204/meblosoft/velke/curio/curio-84.jpg"},{"id":"curio/93","name":"Curio 93","code":"93","collection":"Curio","collectionSlug":"curio","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/curio/curio-93.png","previewUrl":"/fotky13204/meblosoft/velke/curio/curio-93.jpg"},{"id":"curio/97","name":"Curio 97","code":"97","collection":"Curio","collectionSlug":"curio","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/curio/curio-97.png","previewUrl":"/fotky13204/meblosoft/velke/curio/curio-97.jpg"},{"id":"curio/99","name":"Curio 99","code":"99","collection":"Curio","collectionSlug":"curio","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/curio/curio-99.png","previewUrl":"/fotky13204/meblosoft/velke/curio/curio-99.jpg"},{"id":"element/01","name":"Element 01","code":"01","collection":"Element","collectionSlug":"element","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/element/element-01.png","previewUrl":"/fotky13204/meblosoft/velke/element/element-01.jpg"},{"id":"element/02","name":"Element 02","code":"02","collection":"Element","collectionSlug":"element","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/element/element-02.png","previewUrl":"/fotky13204/meblosoft/velke/element/element-02.jpg"},{"id":"element/03","name":"Element 03","code":"03","collection":"Element","collectionSlug":"element","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/element/element-03.png","previewUrl":"/fotky13204/meblosoft/velke/element/element-03.jpg"},{"id":"element/04","name":"Element 04","code":"04","collection":"Element","collectionSlug":"element","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/element/element-04.png","previewUrl":"/fotky13204/meblosoft/velke/element/element-04.jpg"},{"id":"element/05","name":"Element 05","code":"05","collection":"Element","collectionSlug":"element","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/element/element-05.png","previewUrl":"/fotky13204/meblosoft/velke/element/element-05.jpg"},{"id":"element/06","name":"Element 06","code":"06","collection":"Element","collectionSlug":"element","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/element/element-06.png","previewUrl":"/fotky13204/meblosoft/velke/element/element-06.jpg"},{"id":"element/07","name":"Element 07","code":"07","collection":"Element","collectionSlug":"element","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/element/element-07.png","previewUrl":"/fotky13204/meblosoft/velke/element/element-07.jpg"},{"id":"element/08","name":"Element 08","code":"08","collection":"Element","collectionSlug":"element","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/element/element-08.png","previewUrl":"/fotky13204/meblosoft/velke/element/element-08.jpg"},{"id":"element/09","name":"Element 09","code":"09","collection":"Element","collectionSlug":"element","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/element/element-09.png","previewUrl":"/fotky13204/meblosoft/velke/element/element-09.jpg"},{"id":"element/10","name":"Element 10","code":"10","collection":"Element","collectionSlug":"element","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/element/element-10.png","previewUrl":"/fotky13204/meblosoft/velke/element/element-10.jpg"},{"id":"element/11","name":"Element 11","code":"11","collection":"Element","collectionSlug":"element","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/element/element-11.png","previewUrl":"/fotky13204/meblosoft/velke/element/element-11.jpg"},{"id":"element/12","name":"Element 12","code":"12","collection":"Element","collectionSlug":"element","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/element/element-12.png","previewUrl":"/fotky13204/meblosoft/velke/element/element-12.jpg"},{"id":"element/13","name":"Element 13","code":"13","collection":"Element","collectionSlug":"element","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/element/element-13.png","previewUrl":"/fotky13204/meblosoft/velke/element/element-13.jpg"},{"id":"element/14","name":"Element 14","code":"14","collection":"Element","collectionSlug":"element","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/element/element-14.png","previewUrl":"/fotky13204/meblosoft/velke/element/element-14.jpg"},{"id":"element/15","name":"Element 15","code":"15","collection":"Element","collectionSlug":"element","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/element/element-15.png","previewUrl":"/fotky13204/meblosoft/velke/element/element-15.jpg"},{"id":"element/16","name":"Element 16","code":"16","collection":"Element","collectionSlug":"element","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/element/element-16.png","previewUrl":"/fotky13204/meblosoft/velke/element/element-16.jpg"},{"id":"element/17","name":"Element 17","code":"17","collection":"Element","collectionSlug":"element","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/element/element-17.png","previewUrl":"/fotky13204/meblosoft/velke/element/element-17.jpg"},{"id":"element/18","name":"Element 18","code":"18","collection":"Element","collectionSlug":"element","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/element/element-18.png","previewUrl":"/fotky13204/meblosoft/velke/element/element-18.jpg"},{"id":"element/19","name":"Element 19","code":"19","collection":"Element","collectionSlug":"element","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/element/element-19.png","previewUrl":"/fotky13204/meblosoft/velke/element/element-19.jpg"},{"id":"element/20","name":"Element 20","code":"20","collection":"Element","collectionSlug":"element","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/element/element-20.png","previewUrl":"/fotky13204/meblosoft/velke/element/element-20.jpg"},{"id":"element/21","name":"Element 21","code":"21","collection":"Element","collectionSlug":"element","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/element/element-21.png","previewUrl":"/fotky13204/meblosoft/velke/element/element-21.jpg"},{"id":"element/22","name":"Element 22","code":"22","collection":"Element","collectionSlug":"element","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/element/element-22.png","previewUrl":"/fotky13204/meblosoft/velke/element/element-22.jpg"},{"id":"element/23","name":"Element 23","code":"23","collection":"Element","collectionSlug":"element","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/element/element-23.png","previewUrl":"/fotky13204/meblosoft/velke/element/element-23.jpg"},{"id":"element/24","name":"Element 24","code":"24","collection":"Element","collectionSlug":"element","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/element/element-24.png","previewUrl":"/fotky13204/meblosoft/velke/element/element-24.jpg"},{"id":"element/25","name":"Element 25","code":"25","collection":"Element","collectionSlug":"element","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/element/element-25.png","previewUrl":"/fotky13204/meblosoft/velke/element/element-25.jpg"},{"id":"inari/12","name":"Inari 12","code":"12","collection":"Inari","collectionSlug":"inari","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/inari/inari-12.png","previewUrl":"/fotky13204/meblosoft/velke/inari/inari-12.jpg"},{"id":"inari/23","name":"Inari 23","code":"23","collection":"Inari","collectionSlug":"inari","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/inari/inari-23.png","previewUrl":"/fotky13204/meblosoft/velke/inari/inari-23.jpg"},{"id":"inari/24","name":"Inari 24","code":"24","collection":"Inari","collectionSlug":"inari","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/inari/inari-24.png","previewUrl":"/fotky13204/meblosoft/velke/inari/inari-24.jpg"},{"id":"inari/25","name":"Inari 25","code":"25","collection":"Inari","collectionSlug":"inari","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/inari/inari-25.png","previewUrl":"/fotky13204/meblosoft/velke/inari/inari-25.jpg"},{"id":"inari/26","name":"Inari 26","code":"26","collection":"Inari","collectionSlug":"inari","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/inari/inari-26.png","previewUrl":"/fotky13204/meblosoft/velke/inari/inari-26.jpg"},{"id":"inari/27","name":"Inari 27","code":"27","collection":"Inari","collectionSlug":"inari","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/inari/inari-27.png","previewUrl":"/fotky13204/meblosoft/velke/inari/inari-27.jpg"},{"id":"inari/28","name":"Inari 28","code":"28","collection":"Inari","collectionSlug":"inari","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/inari/inari-28.png","previewUrl":"/fotky13204/meblosoft/velke/inari/inari-28.jpg"},{"id":"inari/34","name":"Inari 34","code":"34","collection":"Inari","collectionSlug":"inari","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/inari/inari-34.png","previewUrl":"/fotky13204/meblosoft/velke/inari/inari-34.jpg"},{"id":"inari/72","name":"Inari 72","code":"72","collection":"Inari","collectionSlug":"inari","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/inari/inari-72.png","previewUrl":"/fotky13204/meblosoft/velke/inari/inari-72.jpg"},{"id":"inari/80","name":"Inari 80","code":"80","collection":"Inari","collectionSlug":"inari","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/inari/inari-80.png","previewUrl":"/fotky13204/meblosoft/velke/inari/inari-80.jpg"},{"id":"inari/81","name":"Inari 81","code":"81","collection":"Inari","collectionSlug":"inari","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/inari/inari-81.png","previewUrl":"/fotky13204/meblosoft/velke/inari/inari-81.jpg"},{"id":"inari/87","name":"Inari 87","code":"87","collection":"Inari","collectionSlug":"inari","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/inari/inari-87.png","previewUrl":"/fotky13204/meblosoft/velke/inari/inari-87.jpg"},{"id":"inari/90","name":"Inari 90","code":"90","collection":"Inari","collectionSlug":"inari","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/inari/inari-90.png","previewUrl":"/fotky13204/meblosoft/velke/inari/inari-90.jpg"},{"id":"inari/91","name":"Inari 91","code":"91","collection":"Inari","collectionSlug":"inari","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/inari/inari-91.png","previewUrl":"/fotky13204/meblosoft/velke/inari/inari-91.jpg"},{"id":"inari/94","name":"Inari 94","code":"94","collection":"Inari","collectionSlug":"inari","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/inari/inari-94.png","previewUrl":"/fotky13204/meblosoft/velke/inari/inari-94.jpg"},{"id":"inari/95","name":"Inari 95","code":"95","collection":"Inari","collectionSlug":"inari","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/inari/inari-95.png","previewUrl":"/fotky13204/meblosoft/velke/inari/inari-95.jpg"},{"id":"inari/96","name":"Inari 96","code":"96","collection":"Inari","collectionSlug":"inari","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/inari/inari-96.png","previewUrl":"/fotky13204/meblosoft/velke/inari/inari-96.jpg"},{"id":"inari/100","name":"Inari 100","code":"100","collection":"Inari","collectionSlug":"inari","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/inari/inari-100.png","previewUrl":"/fotky13204/meblosoft/velke/inari/inari-100.jpg"},{"id":"loft/01","name":"Loft 01","code":"01","collection":"Loft","collectionSlug":"loft","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/loft/loft-01.png","previewUrl":"/fotky13204/meblosoft/velke/loft/loft-01.jpg"},{"id":"loft/02","name":"Loft 02","code":"02","collection":"Loft","collectionSlug":"loft","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/loft/loft-02.png","previewUrl":"/fotky13204/meblosoft/velke/loft/loft-02.jpg"},{"id":"loft/03","name":"Loft 03","code":"03","collection":"Loft","collectionSlug":"loft","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/loft/loft-03.png","previewUrl":"/fotky13204/meblosoft/velke/loft/loft-03.jpg"},{"id":"loft/04","name":"Loft 04","code":"04","collection":"Loft","collectionSlug":"loft","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/loft/loft-04.png","previewUrl":"/fotky13204/meblosoft/velke/loft/loft-04.jpg"},{"id":"loft/05","name":"Loft 05","code":"05","collection":"Loft","collectionSlug":"loft","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/loft/loft-05.png","previewUrl":"/fotky13204/meblosoft/velke/loft/loft-05.jpg"},{"id":"loft/06","name":"Loft 06","code":"06","collection":"Loft","collectionSlug":"loft","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/loft/loft-06.png","previewUrl":"/fotky13204/meblosoft/velke/loft/loft-06.jpg"},{"id":"loft/07","name":"Loft 07","code":"07","collection":"Loft","collectionSlug":"loft","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/loft/loft-07.png","previewUrl":"/fotky13204/meblosoft/velke/loft/loft-07.jpg"},{"id":"loft/08","name":"Loft 08","code":"08","collection":"Loft","collectionSlug":"loft","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/loft/loft-08.png","previewUrl":"/fotky13204/meblosoft/velke/loft/loft-08.jpg"},{"id":"loft/09","name":"Loft 09","code":"09","collection":"Loft","collectionSlug":"loft","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/loft/loft-09.png","previewUrl":"/fotky13204/meblosoft/velke/loft/loft-09.jpg"},{"id":"loft/10","name":"Loft 10","code":"10","collection":"Loft","collectionSlug":"loft","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/loft/loft-10.png","previewUrl":"/fotky13204/meblosoft/velke/loft/loft-10.jpg"},{"id":"loft/11","name":"Loft 11","code":"11","collection":"Loft","collectionSlug":"loft","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/loft/loft-11.png","previewUrl":"/fotky13204/meblosoft/velke/loft/loft-11.jpg"},{"id":"loft/12","name":"Loft 12","code":"12","collection":"Loft","collectionSlug":"loft","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/loft/loft-12.png","previewUrl":"/fotky13204/meblosoft/velke/loft/loft-12.jpg"},{"id":"loft/13","name":"Loft 13","code":"13","collection":"Loft","collectionSlug":"loft","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/loft/loft-13.png","previewUrl":"/fotky13204/meblosoft/velke/loft/loft-13.jpg"},{"id":"loft/14","name":"Loft 14","code":"14","collection":"Loft","collectionSlug":"loft","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/loft/loft-14.png","previewUrl":"/fotky13204/meblosoft/velke/loft/loft-14.jpg"},{"id":"loft/15","name":"Loft 15","code":"15","collection":"Loft","collectionSlug":"loft","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/loft/loft-15.png","previewUrl":"/fotky13204/meblosoft/velke/loft/loft-15.jpg"},{"id":"loft/16","name":"Loft 16","code":"16","collection":"Loft","collectionSlug":"loft","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/loft/loft-16.png","previewUrl":"/fotky13204/meblosoft/velke/loft/loft-16.jpg"},{"id":"loft/17","name":"Loft 17","code":"17","collection":"Loft","collectionSlug":"loft","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/loft/loft-17.png","previewUrl":"/fotky13204/meblosoft/velke/loft/loft-17.jpg"},{"id":"loft/18","name":"Loft 18","code":"18","collection":"Loft","collectionSlug":"loft","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/loft/loft-18.png","previewUrl":"/fotky13204/meblosoft/velke/loft/loft-18.jpg"},{"id":"loft/19","name":"Loft 19","code":"19","collection":"Loft","collectionSlug":"loft","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/loft/loft-19.png","previewUrl":"/fotky13204/meblosoft/velke/loft/loft-19.jpg"},{"id":"loft/20","name":"Loft 20","code":"20","collection":"Loft","collectionSlug":"loft","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/loft/loft-20.png","previewUrl":"/fotky13204/meblosoft/velke/loft/loft-20.jpg"},{"id":"loft/21","name":"Loft 21","code":"21","collection":"Loft","collectionSlug":"loft","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/loft/loft-21.png","previewUrl":"/fotky13204/meblosoft/velke/loft/loft-21.jpg"},{"id":"loft/22","name":"Loft 22","code":"22","collection":"Loft","collectionSlug":"loft","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/loft/loft-22.png","previewUrl":"/fotky13204/meblosoft/velke/loft/loft-22.jpg"},{"id":"loft/23","name":"Loft 23","code":"23","collection":"Loft","collectionSlug":"loft","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/loft/loft-23.png","previewUrl":"/fotky13204/meblosoft/velke/loft/loft-23.jpg"},{"id":"loft/24","name":"Loft 24","code":"24","collection":"Loft","collectionSlug":"loft","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/loft/loft-24.png","previewUrl":"/fotky13204/meblosoft/velke/loft/loft-24.jpg"},{"id":"melody/1","name":"Melody 1","code":"1","collection":"Melody","collectionSlug":"melody","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/melody/melody-1.png","previewUrl":"/fotky13204/meblosoft/velke/melody/melody-1.jpg"},{"id":"melody/2","name":"Melody 2","code":"2","collection":"Melody","collectionSlug":"melody","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/melody/melody-2.png","previewUrl":"/fotky13204/meblosoft/velke/melody/melody-2.jpg"},{"id":"melody/3","name":"Melody 3","code":"3","collection":"Melody","collectionSlug":"melody","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/melody/melody-3.png","previewUrl":"/fotky13204/meblosoft/velke/melody/melody-3.jpg"},{"id":"melody/4","name":"Melody 4","code":"4","collection":"Melody","collectionSlug":"melody","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/melody/melody-4.png","previewUrl":"/fotky13204/meblosoft/velke/melody/melody-4.jpg"},{"id":"melody/5","name":"Melody 5","code":"5","collection":"Melody","collectionSlug":"melody","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/melody/melody-5.png","previewUrl":"/fotky13204/meblosoft/velke/melody/melody-5.jpg"},{"id":"melody/6","name":"Melody 6","code":"6","collection":"Melody","collectionSlug":"melody","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/melody/melody-6.png","previewUrl":"/fotky13204/meblosoft/velke/melody/melody-6.jpg"},{"id":"melody/7","name":"Melody 7","code":"7","collection":"Melody","collectionSlug":"melody","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/melody/melody-7.png","previewUrl":"/fotky13204/meblosoft/velke/melody/melody-7.jpg"},{"id":"melody/8","name":"Melody 8","code":"8","collection":"Melody","collectionSlug":"melody","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/melody/melody-8.png","previewUrl":"/fotky13204/meblosoft/velke/melody/melody-8.jpg"},{"id":"melody/9","name":"Melody 9","code":"9","collection":"Melody","collectionSlug":"melody","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/melody/melody-9.png","previewUrl":"/fotky13204/meblosoft/velke/melody/melody-9.jpg"},{"id":"melody/10","name":"Melody 10","code":"10","collection":"Melody","collectionSlug":"melody","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/melody/melody-10.png","previewUrl":"/fotky13204/meblosoft/velke/melody/melody-10.jpg"},{"id":"melody/11","name":"Melody 11","code":"11","collection":"Melody","collectionSlug":"melody","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/melody/melody-11.png","previewUrl":"/fotky13204/meblosoft/velke/melody/melody-11.jpg"},{"id":"melody/12","name":"Melody 12","code":"12","collection":"Melody","collectionSlug":"melody","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/melody/melody-12.png","previewUrl":"/fotky13204/meblosoft/velke/melody/melody-12.jpg"},{"id":"melody/13","name":"Melody 13","code":"13","collection":"Melody","collectionSlug":"melody","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/melody/melody-13.png","previewUrl":"/fotky13204/meblosoft/velke/melody/melody-13.jpg"},{"id":"melody/14","name":"Melody 14","code":"14","collection":"Melody","collectionSlug":"melody","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/melody/melody-14.png","previewUrl":"/fotky13204/meblosoft/velke/melody/melody-14.jpg"},{"id":"melody/15","name":"Melody 15","code":"15","collection":"Melody","collectionSlug":"melody","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/melody/melody-15.png","previewUrl":"/fotky13204/meblosoft/velke/melody/melody-15.jpg"},{"id":"moly/02","name":"Moly 02","code":"02","collection":"Moly","collectionSlug":"moly","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/moly/moly-02.png","previewUrl":"/fotky13204/meblosoft/velke/moly/moly-02.jpg"},{"id":"moly/03","name":"Moly 03","code":"03","collection":"Moly","collectionSlug":"moly","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/moly/moly-03.png","previewUrl":"/fotky13204/meblosoft/velke/moly/moly-03.jpg"},{"id":"moly/04","name":"Moly 04","code":"04","collection":"Moly","collectionSlug":"moly","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/moly/moly-04.png","previewUrl":"/fotky13204/meblosoft/velke/moly/moly-04.jpg"},{"id":"moly/11","name":"Moly 11","code":"11","collection":"Moly","collectionSlug":"moly","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/moly/moly-11.png","previewUrl":"/fotky13204/meblosoft/velke/moly/moly-11.jpg"},{"id":"moly/37","name":"Moly 37","code":"37","collection":"Moly","collectionSlug":"moly","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/moly/moly-37.png","previewUrl":"/fotky13204/meblosoft/velke/moly/moly-37.jpg"},{"id":"moly/38","name":"Moly 38","code":"38","collection":"Moly","collectionSlug":"moly","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/moly/moly-38.png","previewUrl":"/fotky13204/meblosoft/velke/moly/moly-38.jpg"},{"id":"moly/46","name":"Moly 46","code":"46","collection":"Moly","collectionSlug":"moly","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/moly/moly-46.png","previewUrl":"/fotky13204/meblosoft/velke/moly/moly-46.jpg"},{"id":"moly/51","name":"Moly 51","code":"51","collection":"Moly","collectionSlug":"moly","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/moly/moly-51.png","previewUrl":"/fotky13204/meblosoft/velke/moly/moly-51.jpg"},{"id":"moly/54","name":"Moly 54","code":"54","collection":"Moly","collectionSlug":"moly","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/moly/moly-54.png","previewUrl":"/fotky13204/meblosoft/velke/moly/moly-54.jpg"},{"id":"moly/55","name":"Moly 55","code":"55","collection":"Moly","collectionSlug":"moly","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/moly/moly-55.png","previewUrl":"/fotky13204/meblosoft/velke/moly/moly-55.jpg"},{"id":"moly/59","name":"Moly 59","code":"59","collection":"Moly","collectionSlug":"moly","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/moly/moly-59.png","previewUrl":"/fotky13204/meblosoft/velke/moly/moly-59.jpg"},{"id":"moly/63","name":"Moly 63","code":"63","collection":"Moly","collectionSlug":"moly","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/moly/moly-63.png","previewUrl":"/fotky13204/meblosoft/velke/moly/moly-63.jpg"},{"id":"moly/70","name":"Moly 70","code":"70","collection":"Moly","collectionSlug":"moly","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/moly/moly-70.png","previewUrl":"/fotky13204/meblosoft/velke/moly/moly-70.jpg"},{"id":"moly/74","name":"Moly 74","code":"74","collection":"Moly","collectionSlug":"moly","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/moly/moly-74.png","previewUrl":"/fotky13204/meblosoft/velke/moly/moly-74.jpg"},{"id":"moly/77","name":"Moly 77","code":"77","collection":"Moly","collectionSlug":"moly","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/moly/moly-77.png","previewUrl":"/fotky13204/meblosoft/velke/moly/moly-77.jpg"},{"id":"moly/79","name":"Moly 79","code":"79","collection":"Moly","collectionSlug":"moly","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/moly/moly-79.png","previewUrl":"/fotky13204/meblosoft/velke/moly/moly-79.jpg"},{"id":"moly/80","name":"Moly 80","code":"80","collection":"Moly","collectionSlug":"moly","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/moly/moly-80.png","previewUrl":"/fotky13204/meblosoft/velke/moly/moly-80.jpg"},{"id":"moly/85","name":"Moly 85","code":"85","collection":"Moly","collectionSlug":"moly","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/moly/moly-85.png","previewUrl":"/fotky13204/meblosoft/velke/moly/moly-85.jpg"},{"id":"moly/97","name":"Moly 97","code":"97","collection":"Moly","collectionSlug":"moly","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/moly/moly-97.png","previewUrl":"/fotky13204/meblosoft/velke/moly/moly-97.jpg"},{"id":"moly/99","name":"Moly 99","code":"99","collection":"Moly","collectionSlug":"moly","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/moly/moly-99.png","previewUrl":"/fotky13204/meblosoft/velke/moly/moly-99.jpg"},{"id":"monolith/02","name":"Monolith 02","code":"02","collection":"Monolith","collectionSlug":"monolith","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/monolith/monolith-02.png","previewUrl":"/fotky13204/meblosoft/velke/monolith/monolith-02.jpg"},{"id":"monolith/04","name":"Monolith 04","code":"04","collection":"Monolith","collectionSlug":"monolith","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/monolith/monolith-04.png","previewUrl":"/fotky13204/meblosoft/velke/monolith/monolith-04.jpg"},{"id":"monolith/09","name":"Monolith 09","code":"09","collection":"Monolith","collectionSlug":"monolith","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/monolith/monolith-09.png","previewUrl":"/fotky13204/meblosoft/velke/monolith/monolith-09.jpg"},{"id":"monolith/15","name":"Monolith 15","code":"15","collection":"Monolith","collectionSlug":"monolith","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/monolith/monolith-15.png","previewUrl":"/fotky13204/meblosoft/velke/monolith/monolith-15.jpg"},{"id":"monolith/20","name":"Monolith 20","code":"20","collection":"Monolith","collectionSlug":"monolith","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/monolith/monolith-20.png","previewUrl":"/fotky13204/meblosoft/velke/monolith/monolith-20.jpg"},{"id":"monolith/29","name":"Monolith 29","code":"29","collection":"Monolith","collectionSlug":"monolith","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/monolith/monolith-29.png","previewUrl":"/fotky13204/meblosoft/velke/monolith/monolith-29.jpg"},{"id":"monolith/37","name":"Monolith 37","code":"37","collection":"Monolith","collectionSlug":"monolith","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/monolith/monolith-37.png","previewUrl":"/fotky13204/meblosoft/velke/monolith/monolith-37.jpg"},{"id":"monolith/38","name":"Monolith 38","code":"38","collection":"Monolith","collectionSlug":"monolith","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/monolith/monolith-38.png","previewUrl":"/fotky13204/meblosoft/velke/monolith/monolith-38.jpg"},{"id":"monolith/48","name":"Monolith 48","code":"48","collection":"Monolith","collectionSlug":"monolith","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/monolith/monolith-48.png","previewUrl":"/fotky13204/meblosoft/velke/monolith/monolith-48.jpg"},{"id":"monolith/59","name":"Monolith 59","code":"59","collection":"Monolith","collectionSlug":"monolith","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/monolith/monolith-59.png","previewUrl":"/fotky13204/meblosoft/velke/monolith/monolith-59.jpg"},{"id":"monolith/61","name":"Monolith 61","code":"61","collection":"Monolith","collectionSlug":"monolith","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/monolith/monolith-61.png","previewUrl":"/fotky13204/meblosoft/velke/monolith/monolith-61.jpg"},{"id":"monolith/62","name":"Monolith 62","code":"62","collection":"Monolith","collectionSlug":"monolith","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/monolith/monolith-62.png","previewUrl":"/fotky13204/meblosoft/velke/monolith/monolith-62.jpg"},{"id":"monolith/63","name":"Monolith 63","code":"63","collection":"Monolith","collectionSlug":"monolith","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/monolith/monolith-63.png","previewUrl":"/fotky13204/meblosoft/velke/monolith/monolith-63.jpg"},{"id":"monolith/69","name":"Monolith 69","code":"69","collection":"Monolith","collectionSlug":"monolith","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/monolith/monolith-69.png","previewUrl":"/fotky13204/meblosoft/velke/monolith/monolith-69.jpg"},{"id":"monolith/70","name":"Monolith 70","code":"70","collection":"Monolith","collectionSlug":"monolith","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/monolith/monolith-70.png","previewUrl":"/fotky13204/meblosoft/velke/monolith/monolith-70.jpg"},{"id":"monolith/72","name":"Monolith 72","code":"72","collection":"Monolith","collectionSlug":"monolith","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/monolith/monolith-72.png","previewUrl":"/fotky13204/meblosoft/velke/monolith/monolith-72.jpg"},{"id":"monolith/76","name":"Monolith 76","code":"76","collection":"Monolith","collectionSlug":"monolith","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/monolith/monolith-76.png","previewUrl":"/fotky13204/meblosoft/velke/monolith/monolith-76.jpg"},{"id":"monolith/77","name":"Monolith 77","code":"77","collection":"Monolith","collectionSlug":"monolith","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/monolith/monolith-77.png","previewUrl":"/fotky13204/meblosoft/velke/monolith/monolith-77.jpg"},{"id":"monolith/79","name":"Monolith 79","code":"79","collection":"Monolith","collectionSlug":"monolith","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/monolith/monolith-79.png","previewUrl":"/fotky13204/meblosoft/velke/monolith/monolith-79.jpg"},{"id":"monolith/84","name":"Monolith 84","code":"84","collection":"Monolith","collectionSlug":"monolith","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/monolith/monolith-84.png","previewUrl":"/fotky13204/meblosoft/velke/monolith/monolith-84.jpg"},{"id":"monolith/85","name":"Monolith 85","code":"85","collection":"Monolith","collectionSlug":"monolith","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/monolith/monolith-85.png","previewUrl":"/fotky13204/meblosoft/velke/monolith/monolith-85.jpg"},{"id":"monolith/92","name":"Monolith 92","code":"92","collection":"Monolith","collectionSlug":"monolith","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/monolith/monolith-92.png","previewUrl":"/fotky13204/meblosoft/velke/monolith/monolith-92.jpg"},{"id":"monolith/95","name":"Monolith 95","code":"95","collection":"Monolith","collectionSlug":"monolith","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/monolith/monolith-95.png","previewUrl":"/fotky13204/meblosoft/velke/monolith/monolith-95.jpg"},{"id":"monolith/97","name":"Monolith 97","code":"97","collection":"Monolith","collectionSlug":"monolith","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/monolith/monolith-97.png","previewUrl":"/fotky13204/meblosoft/velke/monolith/monolith-97.jpg"},{"id":"neve/02","name":"Neve 02","code":"02","collection":"Neve","collectionSlug":"neve","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/neve/neve-02.png","previewUrl":"/fotky13204/meblosoft/velke/neve/neve-02.jpg"},{"id":"neve/03","name":"Neve 03","code":"03","collection":"Neve","collectionSlug":"neve","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/neve/neve-03.png","previewUrl":"/fotky13204/meblosoft/velke/neve/neve-03.jpg"},{"id":"neve/04","name":"Neve 04","code":"04","collection":"Neve","collectionSlug":"neve","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/neve/neve-04.png","previewUrl":"/fotky13204/meblosoft/velke/neve/neve-04.jpg"},{"id":"neve/13","name":"Neve 13","code":"13","collection":"Neve","collectionSlug":"neve","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/neve/neve-13.png","previewUrl":"/fotky13204/meblosoft/velke/neve/neve-13.jpg"},{"id":"neve/14","name":"Neve 14","code":"14","collection":"Neve","collectionSlug":"neve","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/neve/neve-14.png","previewUrl":"/fotky13204/meblosoft/velke/neve/neve-14.jpg"},{"id":"neve/16","name":"Neve 16","code":"16","collection":"Neve","collectionSlug":"neve","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/neve/neve-16.png","previewUrl":"/fotky13204/meblosoft/velke/neve/neve-16.jpg"},{"id":"neve/17","name":"Neve 17","code":"17","collection":"Neve","collectionSlug":"neve","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/neve/neve-17.png","previewUrl":"/fotky13204/meblosoft/velke/neve/neve-17.jpg"},{"id":"neve/18","name":"Neve 18","code":"18","collection":"Neve","collectionSlug":"neve","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/neve/neve-18.png","previewUrl":"/fotky13204/meblosoft/velke/neve/neve-18.jpg"},{"id":"neve/27","name":"Neve 27","code":"27","collection":"Neve","collectionSlug":"neve","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/neve/neve-27.png","previewUrl":"/fotky13204/meblosoft/velke/neve/neve-27.jpg"},{"id":"neve/28","name":"Neve 28","code":"28","collection":"Neve","collectionSlug":"neve","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/neve/neve-28.png","previewUrl":"/fotky13204/meblosoft/velke/neve/neve-28.jpg"},{"id":"neve/29","name":"Neve 29","code":"29","collection":"Neve","collectionSlug":"neve","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/neve/neve-29.png","previewUrl":"/fotky13204/meblosoft/velke/neve/neve-29.jpg"},{"id":"neve/34","name":"Neve 34","code":"34","collection":"Neve","collectionSlug":"neve","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/neve/neve-34.png","previewUrl":"/fotky13204/meblosoft/velke/neve/neve-34.jpg"},{"id":"neve/37","name":"Neve 37","code":"37","collection":"Neve","collectionSlug":"neve","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/neve/neve-37.png","previewUrl":"/fotky13204/meblosoft/velke/neve/neve-37.jpg"},{"id":"neve/39","name":"Neve 39","code":"39","collection":"Neve","collectionSlug":"neve","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/neve/neve-39.png","previewUrl":"/fotky13204/meblosoft/velke/neve/neve-39.jpg"},{"id":"neve/52","name":"Neve 52","code":"52","collection":"Neve","collectionSlug":"neve","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/neve/neve-52.png","previewUrl":"/fotky13204/meblosoft/velke/neve/neve-52.jpg"},{"id":"neve/74","name":"Neve 74","code":"74","collection":"Neve","collectionSlug":"neve","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/neve/neve-74.png","previewUrl":"/fotky13204/meblosoft/velke/neve/neve-74.jpg"},{"id":"neve/76","name":"Neve 76","code":"76","collection":"Neve","collectionSlug":"neve","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/neve/neve-76.png","previewUrl":"/fotky13204/meblosoft/velke/neve/neve-76.jpg"},{"id":"neve/77","name":"Neve 77","code":"77","collection":"Neve","collectionSlug":"neve","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/neve/neve-77.png","previewUrl":"/fotky13204/meblosoft/velke/neve/neve-77.jpg"},{"id":"neve/80","name":"Neve 80","code":"80","collection":"Neve","collectionSlug":"neve","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/neve/neve-80.png","previewUrl":"/fotky13204/meblosoft/velke/neve/neve-80.jpg"},{"id":"neve/82","name":"Neve 82","code":"82","collection":"Neve","collectionSlug":"neve","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/neve/neve-82.png","previewUrl":"/fotky13204/meblosoft/velke/neve/neve-82.jpg"},{"id":"neve/83","name":"Neve 83","code":"83","collection":"Neve","collectionSlug":"neve","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/neve/neve-83.png","previewUrl":"/fotky13204/meblosoft/velke/neve/neve-83.jpg"},{"id":"neve/84","name":"Neve 84","code":"84","collection":"Neve","collectionSlug":"neve","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/neve/neve-84.png","previewUrl":"/fotky13204/meblosoft/velke/neve/neve-84.jpg"},{"id":"neve/85","name":"Neve 85","code":"85","collection":"Neve","collectionSlug":"neve","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/neve/neve-85.png","previewUrl":"/fotky13204/meblosoft/velke/neve/neve-85.jpg"},{"id":"neve/87","name":"Neve 87","code":"87","collection":"Neve","collectionSlug":"neve","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/neve/neve-87.png","previewUrl":"/fotky13204/meblosoft/velke/neve/neve-87.jpg"},{"id":"neve/90","name":"Neve 90","code":"90","collection":"Neve","collectionSlug":"neve","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/neve/neve-90.png","previewUrl":"/fotky13204/meblosoft/velke/neve/neve-90.jpg"},{"id":"neve/97","name":"Neve 97","code":"97","collection":"Neve","collectionSlug":"neve","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/neve/neve-97.png","previewUrl":"/fotky13204/meblosoft/velke/neve/neve-97.jpg"},{"id":"neve/100","name":"Neve 100","code":"100","collection":"Neve","collectionSlug":"neve","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/neve/neve-100.png","previewUrl":"/fotky13204/meblosoft/velke/neve/neve-100.jpg"},{"id":"perfect_harmony/01","name":"Perfect Harmony 01","code":"01","collection":"Perfect Harmony","collectionSlug":"perfect_harmony","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/perfect_harmony/perfect_harmony-01.png","previewUrl":"/fotky13204/meblosoft/velke/perfect_harmony/perfect_harmony-01.jpg"},{"id":"perfect_harmony/02","name":"Perfect Harmony 02","code":"02","collection":"Perfect Harmony","collectionSlug":"perfect_harmony","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/perfect_harmony/perfect_harmony-02.png","previewUrl":"/fotky13204/meblosoft/velke/perfect_harmony/perfect_harmony-02.jpg"},{"id":"perfect_harmony/04","name":"Perfect Harmony 04","code":"04","collection":"Perfect Harmony","collectionSlug":"perfect_harmony","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/perfect_harmony/perfect_harmony-04.png","previewUrl":"/fotky13204/meblosoft/velke/perfect_harmony/perfect_harmony-04.jpg"},{"id":"perfect_harmony/07","name":"Perfect Harmony 07","code":"07","collection":"Perfect Harmony","collectionSlug":"perfect_harmony","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/perfect_harmony/perfect_harmony-07.png","previewUrl":"/fotky13204/meblosoft/velke/perfect_harmony/perfect_harmony-07.jpg"},{"id":"perfect_harmony/39","name":"Perfect Harmony 39","code":"39","collection":"Perfect Harmony","collectionSlug":"perfect_harmony","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/perfect_harmony/perfect_harmony-39.png","previewUrl":"/fotky13204/meblosoft/velke/perfect_harmony/perfect_harmony-39.jpg"},{"id":"perfect_harmony/52","name":"Perfect Harmony 52","code":"52","collection":"Perfect Harmony","collectionSlug":"perfect_harmony","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/perfect_harmony/perfect_harmony-52.png","previewUrl":"/fotky13204/meblosoft/velke/perfect_harmony/perfect_harmony-52.jpg"},{"id":"perfect_harmony/56","name":"Perfect Harmony 56","code":"56","collection":"Perfect Harmony","collectionSlug":"perfect_harmony","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/perfect_harmony/perfect_harmony-56.png","previewUrl":"/fotky13204/meblosoft/velke/perfect_harmony/perfect_harmony-56.jpg"},{"id":"perfect_harmony/59","name":"Perfect Harmony 59","code":"59","collection":"Perfect Harmony","collectionSlug":"perfect_harmony","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/perfect_harmony/perfect_harmony-59.png","previewUrl":"/fotky13204/meblosoft/velke/perfect_harmony/perfect_harmony-59.jpg"},{"id":"perfect_harmony/63","name":"Perfect Harmony 63","code":"63","collection":"Perfect Harmony","collectionSlug":"perfect_harmony","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/perfect_harmony/perfect_harmony-63.png","previewUrl":"/fotky13204/meblosoft/velke/perfect_harmony/perfect_harmony-63.jpg"},{"id":"perfect_harmony/72","name":"Perfect Harmony 72","code":"72","collection":"Perfect Harmony","collectionSlug":"perfect_harmony","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/perfect_harmony/perfect_harmony-72.png","previewUrl":"/fotky13204/meblosoft/velke/perfect_harmony/perfect_harmony-72.jpg"},{"id":"perfect_harmony/77","name":"Perfect Harmony 77","code":"77","collection":"Perfect Harmony","collectionSlug":"perfect_harmony","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/perfect_harmony/perfect_harmony-77.png","previewUrl":"/fotky13204/meblosoft/velke/perfect_harmony/perfect_harmony-77.jpg"},{"id":"perfect_harmony/80","name":"Perfect Harmony 80","code":"80","collection":"Perfect Harmony","collectionSlug":"perfect_harmony","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/perfect_harmony/perfect_harmony-80.png","previewUrl":"/fotky13204/meblosoft/velke/perfect_harmony/perfect_harmony-80.jpg"},{"id":"perfect_harmony/82","name":"Perfect Harmony 82","code":"82","collection":"Perfect Harmony","collectionSlug":"perfect_harmony","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/perfect_harmony/perfect_harmony-82.png","previewUrl":"/fotky13204/meblosoft/velke/perfect_harmony/perfect_harmony-82.jpg"},{"id":"perfect_harmony/83","name":"Perfect Harmony 83","code":"83","collection":"Perfect Harmony","collectionSlug":"perfect_harmony","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/perfect_harmony/perfect_harmony-83.png","previewUrl":"/fotky13204/meblosoft/velke/perfect_harmony/perfect_harmony-83.jpg"},{"id":"perfect_harmony/85","name":"Perfect Harmony 85","code":"85","collection":"Perfect Harmony","collectionSlug":"perfect_harmony","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/perfect_harmony/perfect_harmony-85.png","previewUrl":"/fotky13204/meblosoft/velke/perfect_harmony/perfect_harmony-85.jpg"},{"id":"perfect_harmony/90","name":"Perfect Harmony 90","code":"90","collection":"Perfect Harmony","collectionSlug":"perfect_harmony","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/perfect_harmony/perfect_harmony-90.png","previewUrl":"/fotky13204/meblosoft/velke/perfect_harmony/perfect_harmony-90.jpg"},{"id":"perfect_harmony/99","name":"Perfect Harmony 99","code":"99","collection":"Perfect Harmony","collectionSlug":"perfect_harmony","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/perfect_harmony/perfect_harmony-99.png","previewUrl":"/fotky13204/meblosoft/velke/perfect_harmony/perfect_harmony-99.jpg"},{"id":"riviera/16","name":"Riviera 16","code":"16","collection":"Riviera","collectionSlug":"riviera","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/riviera/riviera-16.png","previewUrl":"/fotky13204/meblosoft/velke/riviera/riviera-16.jpg"},{"id":"riviera/21","name":"Riviera 21","code":"21","collection":"Riviera","collectionSlug":"riviera","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/riviera/riviera-21.png","previewUrl":"/fotky13204/meblosoft/velke/riviera/riviera-21.jpg"},{"id":"riviera/24","name":"Riviera 24","code":"24","collection":"Riviera","collectionSlug":"riviera","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/riviera/riviera-24.png","previewUrl":"/fotky13204/meblosoft/velke/riviera/riviera-24.jpg"},{"id":"riviera/26","name":"Riviera 26","code":"26","collection":"Riviera","collectionSlug":"riviera","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/riviera/riviera-26.png","previewUrl":"/fotky13204/meblosoft/velke/riviera/riviera-26.jpg"},{"id":"riviera/28","name":"Riviera 28","code":"28","collection":"Riviera","collectionSlug":"riviera","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/riviera/riviera-28.png","previewUrl":"/fotky13204/meblosoft/velke/riviera/riviera-28.jpg"},{"id":"riviera/29","name":"Riviera 29","code":"29","collection":"Riviera","collectionSlug":"riviera","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/riviera/riviera-29.png","previewUrl":"/fotky13204/meblosoft/velke/riviera/riviera-29.jpg"},{"id":"riviera/34","name":"Riviera 34","code":"34","collection":"Riviera","collectionSlug":"riviera","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/riviera/riviera-34.png","previewUrl":"/fotky13204/meblosoft/velke/riviera/riviera-34.jpg"},{"id":"riviera/36","name":"Riviera 36","code":"36","collection":"Riviera","collectionSlug":"riviera","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/riviera/riviera-36.png","previewUrl":"/fotky13204/meblosoft/velke/riviera/riviera-36.jpg"},{"id":"riviera/38","name":"Riviera 38","code":"38","collection":"Riviera","collectionSlug":"riviera","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/riviera/riviera-38.png","previewUrl":"/fotky13204/meblosoft/velke/riviera/riviera-38.jpg"},{"id":"riviera/41","name":"Riviera 41","code":"41","collection":"Riviera","collectionSlug":"riviera","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/riviera/riviera-41.png","previewUrl":"/fotky13204/meblosoft/velke/riviera/riviera-41.jpg"},{"id":"riviera/51","name":"Riviera 51","code":"51","collection":"Riviera","collectionSlug":"riviera","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/riviera/riviera-51.png","previewUrl":"/fotky13204/meblosoft/velke/riviera/riviera-51.jpg"},{"id":"riviera/61","name":"Riviera 61","code":"61","collection":"Riviera","collectionSlug":"riviera","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/riviera/riviera-61.png","previewUrl":"/fotky13204/meblosoft/velke/riviera/riviera-61.jpg"},{"id":"riviera/62","name":"Riviera 62","code":"62","collection":"Riviera","collectionSlug":"riviera","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/riviera/riviera-62.png","previewUrl":"/fotky13204/meblosoft/velke/riviera/riviera-62.jpg"},{"id":"riviera/79","name":"Riviera 79","code":"79","collection":"Riviera","collectionSlug":"riviera","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/riviera/riviera-79.png","previewUrl":"/fotky13204/meblosoft/velke/riviera/riviera-79.jpg"},{"id":"riviera/80","name":"Riviera 80","code":"80","collection":"Riviera","collectionSlug":"riviera","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/riviera/riviera-80.png","previewUrl":"/fotky13204/meblosoft/velke/riviera/riviera-80.jpg"},{"id":"riviera/81","name":"Riviera 81","code":"81","collection":"Riviera","collectionSlug":"riviera","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/riviera/riviera-81.png","previewUrl":"/fotky13204/meblosoft/velke/riviera/riviera-81.jpg"},{"id":"riviera/87","name":"Riviera 87","code":"87","collection":"Riviera","collectionSlug":"riviera","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/riviera/riviera-87.png","previewUrl":"/fotky13204/meblosoft/velke/riviera/riviera-87.jpg"},{"id":"riviera/90","name":"Riviera 90","code":"90","collection":"Riviera","collectionSlug":"riviera","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/riviera/riviera-90.png","previewUrl":"/fotky13204/meblosoft/velke/riviera/riviera-90.jpg"},{"id":"riviera/95","name":"Riviera 95","code":"95","collection":"Riviera","collectionSlug":"riviera","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/riviera/riviera-95.png","previewUrl":"/fotky13204/meblosoft/velke/riviera/riviera-95.jpg"},{"id":"riviera/96","name":"Riviera 96","code":"96","collection":"Riviera","collectionSlug":"riviera","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/riviera/riviera-96.png","previewUrl":"/fotky13204/meblosoft/velke/riviera/riviera-96.jpg"},{"id":"riviera/97","name":"Riviera 97","code":"97","collection":"Riviera","collectionSlug":"riviera","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/riviera/riviera-97.png","previewUrl":"/fotky13204/meblosoft/velke/riviera/riviera-97.jpg"},{"id":"riviera/100","name":"Riviera 100","code":"100","collection":"Riviera","collectionSlug":"riviera","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/riviera/riviera-100.png","previewUrl":"/fotky13204/meblosoft/velke/riviera/riviera-100.jpg"},{"id":"royal_velvet/01","name":"Royal Velvet 01","code":"01","collection":"Royal Velvet","collectionSlug":"royal_velvet","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/royal_velvet/royal_velvet-01.png","previewUrl":"/fotky13204/meblosoft/velke/royal_velvet/royal_velvet-01.jpg"},{"id":"royal_velvet/02","name":"Royal Velvet 02","code":"02","collection":"Royal Velvet","collectionSlug":"royal_velvet","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/royal_velvet/royal_velvet-02.png","previewUrl":"/fotky13204/meblosoft/velke/royal_velvet/royal_velvet-02.jpg"},{"id":"royal_velvet/03","name":"Royal Velvet 03","code":"03","collection":"Royal Velvet","collectionSlug":"royal_velvet","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/royal_velvet/royal_velvet-03.png","previewUrl":"/fotky13204/meblosoft/velke/royal_velvet/royal_velvet-03.jpg"},{"id":"royal_velvet/04","name":"Royal Velvet 04","code":"04","collection":"Royal Velvet","collectionSlug":"royal_velvet","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/royal_velvet/royal_velvet-04.png","previewUrl":"/fotky13204/meblosoft/velke/royal_velvet/royal_velvet-04.jpg"},{"id":"royal_velvet/05","name":"Royal Velvet 05","code":"05","collection":"Royal Velvet","collectionSlug":"royal_velvet","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/royal_velvet/royal_velvet-05.png","previewUrl":"/fotky13204/meblosoft/velke/royal_velvet/royal_velvet-05.jpg"},{"id":"royal_velvet/06","name":"Royal Velvet 06","code":"06","collection":"Royal Velvet","collectionSlug":"royal_velvet","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/royal_velvet/royal_velvet-06.png","previewUrl":"/fotky13204/meblosoft/velke/royal_velvet/royal_velvet-06.jpg"},{"id":"royal_velvet/07","name":"Royal Velvet 07","code":"07","collection":"Royal Velvet","collectionSlug":"royal_velvet","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/royal_velvet/royal_velvet-07.png","previewUrl":"/fotky13204/meblosoft/velke/royal_velvet/royal_velvet-07.jpg"},{"id":"royal_velvet/08","name":"Royal Velvet 08","code":"08","collection":"Royal Velvet","collectionSlug":"royal_velvet","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/royal_velvet/royal_velvet-08.png","previewUrl":"/fotky13204/meblosoft/velke/royal_velvet/royal_velvet-08.jpg"},{"id":"royal_velvet/09","name":"Royal Velvet 09","code":"09","collection":"Royal Velvet","collectionSlug":"royal_velvet","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/royal_velvet/royal_velvet-09.png","previewUrl":"/fotky13204/meblosoft/velke/royal_velvet/royal_velvet-09.jpg"},{"id":"royal_velvet/10","name":"Royal Velvet 10","code":"10","collection":"Royal Velvet","collectionSlug":"royal_velvet","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/royal_velvet/royal_velvet-10.png","previewUrl":"/fotky13204/meblosoft/velke/royal_velvet/royal_velvet-10.jpg"},{"id":"royal_velvet/11","name":"Royal Velvet 11","code":"11","collection":"Royal Velvet","collectionSlug":"royal_velvet","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/royal_velvet/royal_velvet-11.png","previewUrl":"/fotky13204/meblosoft/velke/royal_velvet/royal_velvet-11.jpg"},{"id":"royal_velvet/12","name":"Royal Velvet 12","code":"12","collection":"Royal Velvet","collectionSlug":"royal_velvet","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/royal_velvet/royal_velvet-12.png","previewUrl":"/fotky13204/meblosoft/velke/royal_velvet/royal_velvet-12.jpg"},{"id":"royal_velvet/13","name":"Royal Velvet 13","code":"13","collection":"Royal Velvet","collectionSlug":"royal_velvet","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/royal_velvet/royal_velvet-13.png","previewUrl":"/fotky13204/meblosoft/velke/royal_velvet/royal_velvet-13.jpg"},{"id":"royal_velvet/14","name":"Royal Velvet 14","code":"14","collection":"Royal Velvet","collectionSlug":"royal_velvet","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/royal_velvet/royal_velvet-14.png","previewUrl":"/fotky13204/meblosoft/velke/royal_velvet/royal_velvet-14.jpg"},{"id":"royal_velvet/15","name":"Royal Velvet 15","code":"15","collection":"Royal Velvet","collectionSlug":"royal_velvet","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/royal_velvet/royal_velvet-15.png","previewUrl":"/fotky13204/meblosoft/velke/royal_velvet/royal_velvet-15.jpg"},{"id":"royal_velvet/16","name":"Royal Velvet 16","code":"16","collection":"Royal Velvet","collectionSlug":"royal_velvet","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/royal_velvet/royal_velvet-16.png","previewUrl":"/fotky13204/meblosoft/velke/royal_velvet/royal_velvet-16.jpg"},{"id":"royal_velvet/17","name":"Royal Velvet 17","code":"17","collection":"Royal Velvet","collectionSlug":"royal_velvet","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/royal_velvet/royal_velvet-17.png","previewUrl":"/fotky13204/meblosoft/velke/royal_velvet/royal_velvet-17.jpg"},{"id":"royal_velvet/18","name":"Royal Velvet 18","code":"18","collection":"Royal Velvet","collectionSlug":"royal_velvet","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/royal_velvet/royal_velvet-18.png","previewUrl":"/fotky13204/meblosoft/velke/royal_velvet/royal_velvet-18.jpg"},{"id":"royal_velvet/19","name":"Royal Velvet 19","code":"19","collection":"Royal Velvet","collectionSlug":"royal_velvet","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/royal_velvet/royal_velvet-19.png","previewUrl":"/fotky13204/meblosoft/velke/royal_velvet/royal_velvet-19.jpg"},{"id":"royal_velvet/20","name":"Royal Velvet 20","code":"20","collection":"Royal Velvet","collectionSlug":"royal_velvet","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/royal_velvet/royal_velvet-20.png","previewUrl":"/fotky13204/meblosoft/velke/royal_velvet/royal_velvet-20.jpg"},{"id":"royal_velvet/21","name":"Royal Velvet 21","code":"21","collection":"Royal Velvet","collectionSlug":"royal_velvet","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/royal_velvet/royal_velvet-21.png","previewUrl":"/fotky13204/meblosoft/velke/royal_velvet/royal_velvet-21.jpg"},{"id":"royal_velvet/22","name":"Royal Velvet 22","code":"22","collection":"Royal Velvet","collectionSlug":"royal_velvet","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/royal_velvet/royal_velvet-22.png","previewUrl":"/fotky13204/meblosoft/velke/royal_velvet/royal_velvet-22.jpg"},{"id":"salvador/01","name":"Salvador 01","code":"01","collection":"Salvador","collectionSlug":"salvador","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/salvador/salvador-01.png","previewUrl":"/fotky13204/meblosoft/velke/salvador/salvador-01.jpg"},{"id":"salvador/02","name":"Salvador 02","code":"02","collection":"Salvador","collectionSlug":"salvador","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/salvador/salvador-02.png","previewUrl":"/fotky13204/meblosoft/velke/salvador/salvador-02.jpg"},{"id":"salvador/03","name":"Salvador 03","code":"03","collection":"Salvador","collectionSlug":"salvador","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/salvador/salvador-03.png","previewUrl":"/fotky13204/meblosoft/velke/salvador/salvador-03.jpg"},{"id":"salvador/04","name":"Salvador 04","code":"04","collection":"Salvador","collectionSlug":"salvador","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/salvador/salvador-04.png","previewUrl":"/fotky13204/meblosoft/velke/salvador/salvador-04.jpg"},{"id":"salvador/05","name":"Salvador 05","code":"05","collection":"Salvador","collectionSlug":"salvador","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/salvador/salvador-05.png","previewUrl":"/fotky13204/meblosoft/velke/salvador/salvador-05.jpg"},{"id":"salvador/06","name":"Salvador 06","code":"06","collection":"Salvador","collectionSlug":"salvador","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/salvador/salvador-06.png","previewUrl":"/fotky13204/meblosoft/velke/salvador/salvador-06.jpg"},{"id":"salvador/07","name":"Salvador 07","code":"07","collection":"Salvador","collectionSlug":"salvador","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/salvador/salvador-07.png","previewUrl":"/fotky13204/meblosoft/velke/salvador/salvador-07.jpg"},{"id":"salvador/08","name":"Salvador 08","code":"08","collection":"Salvador","collectionSlug":"salvador","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/salvador/salvador-08.png","previewUrl":"/fotky13204/meblosoft/velke/salvador/salvador-08.jpg"},{"id":"salvador/09","name":"Salvador 09","code":"09","collection":"Salvador","collectionSlug":"salvador","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/salvador/salvador-09.png","previewUrl":"/fotky13204/meblosoft/velke/salvador/salvador-09.jpg"},{"id":"salvador/10","name":"Salvador 10","code":"10","collection":"Salvador","collectionSlug":"salvador","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/salvador/salvador-10.png","previewUrl":"/fotky13204/meblosoft/velke/salvador/salvador-10.jpg"},{"id":"salvador/11","name":"Salvador 11","code":"11","collection":"Salvador","collectionSlug":"salvador","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/salvador/salvador-11.png","previewUrl":"/fotky13204/meblosoft/velke/salvador/salvador-11.jpg"},{"id":"salvador/12","name":"Salvador 12","code":"12","collection":"Salvador","collectionSlug":"salvador","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/salvador/salvador-12.png","previewUrl":"/fotky13204/meblosoft/velke/salvador/salvador-12.jpg"},{"id":"salvador/13","name":"Salvador 13","code":"13","collection":"Salvador","collectionSlug":"salvador","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/salvador/salvador-13.png","previewUrl":"/fotky13204/meblosoft/velke/salvador/salvador-13.jpg"},{"id":"salvador/14","name":"Salvador 14","code":"14","collection":"Salvador","collectionSlug":"salvador","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/salvador/salvador-14.png","previewUrl":"/fotky13204/meblosoft/velke/salvador/salvador-14.jpg"},{"id":"salvador/15","name":"Salvador 15","code":"15","collection":"Salvador","collectionSlug":"salvador","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/salvador/salvador-15.png","previewUrl":"/fotky13204/meblosoft/velke/salvador/salvador-15.jpg"},{"id":"salvador/16","name":"Salvador 16","code":"16","collection":"Salvador","collectionSlug":"salvador","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/salvador/salvador-16.png","previewUrl":"/fotky13204/meblosoft/velke/salvador/salvador-16.jpg"},{"id":"salvador/17","name":"Salvador 17","code":"17","collection":"Salvador","collectionSlug":"salvador","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/salvador/salvador-17.png","previewUrl":"/fotky13204/meblosoft/velke/salvador/salvador-17.jpg"},{"id":"sawana/01","name":"Sawana 01","code":"01","collection":"Sawana","collectionSlug":"sawana","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/sawana/sawana-01.png","previewUrl":"/fotky13204/meblosoft/velke/sawana/sawana-01.jpg"},{"id":"sawana/02","name":"Sawana 02","code":"02","collection":"Sawana","collectionSlug":"sawana","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/sawana/sawana-02.png","previewUrl":"/fotky13204/meblosoft/velke/sawana/sawana-02.jpg"},{"id":"sawana/03","name":"Sawana 03","code":"03","collection":"Sawana","collectionSlug":"sawana","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/sawana/sawana-03.png","previewUrl":"/fotky13204/meblosoft/velke/sawana/sawana-03.jpg"},{"id":"sawana/04","name":"Sawana 04","code":"04","collection":"Sawana","collectionSlug":"sawana","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/sawana/sawana-04.png","previewUrl":"/fotky13204/meblosoft/velke/sawana/sawana-04.jpg"},{"id":"sawana/05","name":"Sawana 05","code":"05","collection":"Sawana","collectionSlug":"sawana","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/sawana/sawana-05.png","previewUrl":"/fotky13204/meblosoft/velke/sawana/sawana-05.jpg"},{"id":"sawana/11","name":"Sawana 11","code":"11","collection":"Sawana","collectionSlug":"sawana","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/sawana/sawana-11.png","previewUrl":"/fotky13204/meblosoft/velke/sawana/sawana-11.jpg"},{"id":"sawana/14","name":"Sawana 14","code":"14","collection":"Sawana","collectionSlug":"sawana","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/sawana/sawana-14.png","previewUrl":"/fotky13204/meblosoft/velke/sawana/sawana-14.jpg"},{"id":"sawana/16","name":"Sawana 16","code":"16","collection":"Sawana","collectionSlug":"sawana","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/sawana/sawana-16.png","previewUrl":"/fotky13204/meblosoft/velke/sawana/sawana-16.jpg"},{"id":"sawana/17","name":"Sawana 17","code":"17","collection":"Sawana","collectionSlug":"sawana","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/sawana/sawana-17.png","previewUrl":"/fotky13204/meblosoft/velke/sawana/sawana-17.jpg"},{"id":"sawana/21","name":"Sawana 21","code":"21","collection":"Sawana","collectionSlug":"sawana","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/sawana/sawana-21.png","previewUrl":"/fotky13204/meblosoft/velke/sawana/sawana-21.jpg"},{"id":"sawana/25","name":"Sawana 25","code":"25","collection":"Sawana","collectionSlug":"sawana","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/sawana/sawana-25.png","previewUrl":"/fotky13204/meblosoft/velke/sawana/sawana-25.jpg"},{"id":"sawana/26","name":"Sawana 26","code":"26","collection":"Sawana","collectionSlug":"sawana","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/sawana/sawana-26.png","previewUrl":"/fotky13204/meblosoft/velke/sawana/sawana-26.jpg"},{"id":"sawana/34","name":"Sawana 34","code":"34","collection":"Sawana","collectionSlug":"sawana","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/sawana/sawana-34.png","previewUrl":"/fotky13204/meblosoft/velke/sawana/sawana-34.jpg"},{"id":"sawana/61","name":"Sawana 61","code":"61","collection":"Sawana","collectionSlug":"sawana","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/sawana/sawana-61.png","previewUrl":"/fotky13204/meblosoft/velke/sawana/sawana-61.jpg"},{"id":"sawana/72","name":"Sawana 72","code":"72","collection":"Sawana","collectionSlug":"sawana","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/sawana/sawana-72.png","previewUrl":"/fotky13204/meblosoft/velke/sawana/sawana-72.jpg"},{"id":"sawana/80","name":"Sawana 80","code":"80","collection":"Sawana","collectionSlug":"sawana","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/sawana/sawana-80.png","previewUrl":"/fotky13204/meblosoft/velke/sawana/sawana-80.jpg"},{"id":"sawana/84","name":"Sawana 84","code":"84","collection":"Sawana","collectionSlug":"sawana","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/sawana/sawana-84.png","previewUrl":"/fotky13204/meblosoft/velke/sawana/sawana-84.jpg"},{"id":"sawana/96","name":"Sawana 96","code":"96","collection":"Sawana","collectionSlug":"sawana","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/sawana/sawana-96.png","previewUrl":"/fotky13204/meblosoft/velke/sawana/sawana-96.jpg"},{"id":"solar/01","name":"Solar 01","code":"01","collection":"Solar","collectionSlug":"solar","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/solar/solar-01.png","previewUrl":"/fotky13204/meblosoft/velke/solar/solar-01.jpg"},{"id":"solar/03","name":"Solar 03","code":"03","collection":"Solar","collectionSlug":"solar","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/solar/solar-03.png","previewUrl":"/fotky13204/meblosoft/velke/solar/solar-03.jpg"},{"id":"solar/11","name":"Solar 11","code":"11","collection":"Solar","collectionSlug":"solar","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/solar/solar-11.png","previewUrl":"/fotky13204/meblosoft/velke/solar/solar-11.jpg"},{"id":"solar/12","name":"Solar 12","code":"12","collection":"Solar","collectionSlug":"solar","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/solar/solar-12.png","previewUrl":"/fotky13204/meblosoft/velke/solar/solar-12.jpg"},{"id":"solar/16","name":"Solar 16","code":"16","collection":"Solar","collectionSlug":"solar","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/solar/solar-16.png","previewUrl":"/fotky13204/meblosoft/velke/solar/solar-16.jpg"},{"id":"solar/23","name":"Solar 23","code":"23","collection":"Solar","collectionSlug":"solar","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/solar/solar-23.png","previewUrl":"/fotky13204/meblosoft/velke/solar/solar-23.jpg"},{"id":"solar/28","name":"Solar 28","code":"28","collection":"Solar","collectionSlug":"solar","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/solar/solar-28.png","previewUrl":"/fotky13204/meblosoft/velke/solar/solar-28.jpg"},{"id":"solar/37","name":"Solar 37","code":"37","collection":"Solar","collectionSlug":"solar","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/solar/solar-37.png","previewUrl":"/fotky13204/meblosoft/velke/solar/solar-37.jpg"},{"id":"solar/38","name":"Solar 38","code":"38","collection":"Solar","collectionSlug":"solar","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/solar/solar-38.png","previewUrl":"/fotky13204/meblosoft/velke/solar/solar-38.jpg"},{"id":"solar/45","name":"Solar 45","code":"45","collection":"Solar","collectionSlug":"solar","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/solar/solar-45.png","previewUrl":"/fotky13204/meblosoft/velke/solar/solar-45.jpg"},{"id":"solar/59","name":"Solar 59","code":"59","collection":"Solar","collectionSlug":"solar","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/solar/solar-59.png","previewUrl":"/fotky13204/meblosoft/velke/solar/solar-59.jpg"},{"id":"solar/61","name":"Solar 61","code":"61","collection":"Solar","collectionSlug":"solar","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/solar/solar-61.png","previewUrl":"/fotky13204/meblosoft/velke/solar/solar-61.jpg"},{"id":"solar/63","name":"Solar 63","code":"63","collection":"Solar","collectionSlug":"solar","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/solar/solar-63.png","previewUrl":"/fotky13204/meblosoft/velke/solar/solar-63.jpg"},{"id":"solar/70","name":"Solar 70","code":"70","collection":"Solar","collectionSlug":"solar","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/solar/solar-70.png","previewUrl":"/fotky13204/meblosoft/velke/solar/solar-70.jpg"},{"id":"solar/72","name":"Solar 72","code":"72","collection":"Solar","collectionSlug":"solar","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/solar/solar-72.png","previewUrl":"/fotky13204/meblosoft/velke/solar/solar-72.jpg"},{"id":"solar/74","name":"Solar 74","code":"74","collection":"Solar","collectionSlug":"solar","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/solar/solar-74.png","previewUrl":"/fotky13204/meblosoft/velke/solar/solar-74.jpg"},{"id":"solar/77","name":"Solar 77","code":"77","collection":"Solar","collectionSlug":"solar","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/solar/solar-77.png","previewUrl":"/fotky13204/meblosoft/velke/solar/solar-77.jpg"},{"id":"solar/79","name":"Solar 79","code":"79","collection":"Solar","collectionSlug":"solar","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/solar/solar-79.png","previewUrl":"/fotky13204/meblosoft/velke/solar/solar-79.jpg"},{"id":"solar/80","name":"Solar 80","code":"80","collection":"Solar","collectionSlug":"solar","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/solar/solar-80.png","previewUrl":"/fotky13204/meblosoft/velke/solar/solar-80.jpg"},{"id":"solar/96","name":"Solar 96","code":"96","collection":"Solar","collectionSlug":"solar","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/solar/solar-96.png","previewUrl":"/fotky13204/meblosoft/velke/solar/solar-96.jpg"},{"id":"solar/99","name":"Solar 99","code":"99","collection":"Solar","collectionSlug":"solar","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/solar/solar-99.png","previewUrl":"/fotky13204/meblosoft/velke/solar/solar-99.jpg"},{"id":"storm/02","name":"Storm 02","code":"02","collection":"Storm","collectionSlug":"storm","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/storm/storm-02.png","previewUrl":"/fotky13204/meblosoft/velke/storm/storm-02.jpg"},{"id":"storm/04","name":"Storm 04","code":"04","collection":"Storm","collectionSlug":"storm","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/storm/storm-04.png","previewUrl":"/fotky13204/meblosoft/velke/storm/storm-04.jpg"},{"id":"storm/05","name":"Storm 05","code":"05","collection":"Storm","collectionSlug":"storm","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/storm/storm-05.png","previewUrl":"/fotky13204/meblosoft/velke/storm/storm-05.jpg"},{"id":"storm/06","name":"Storm 06","code":"06","collection":"Storm","collectionSlug":"storm","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/storm/storm-06.png","previewUrl":"/fotky13204/meblosoft/velke/storm/storm-06.jpg"},{"id":"storm/08","name":"Storm 08","code":"08","collection":"Storm","collectionSlug":"storm","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/storm/storm-08.png","previewUrl":"/fotky13204/meblosoft/velke/storm/storm-08.jpg"},{"id":"storm/09","name":"Storm 09","code":"09","collection":"Storm","collectionSlug":"storm","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/storm/storm-09.png","previewUrl":"/fotky13204/meblosoft/velke/storm/storm-09.jpg"},{"id":"storm/15","name":"Storm 15","code":"15","collection":"Storm","collectionSlug":"storm","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/storm/storm-15.png","previewUrl":"/fotky13204/meblosoft/velke/storm/storm-15.jpg"},{"id":"storm/18","name":"Storm 18","code":"18","collection":"Storm","collectionSlug":"storm","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/storm/storm-18.png","previewUrl":"/fotky13204/meblosoft/velke/storm/storm-18.jpg"},{"id":"storm/26","name":"Storm 26","code":"26","collection":"Storm","collectionSlug":"storm","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/storm/storm-26.png","previewUrl":"/fotky13204/meblosoft/velke/storm/storm-26.jpg"},{"id":"storm/28","name":"Storm 28","code":"28","collection":"Storm","collectionSlug":"storm","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/storm/storm-28.png","previewUrl":"/fotky13204/meblosoft/velke/storm/storm-28.jpg"},{"id":"storm/34","name":"Storm 34","code":"34","collection":"Storm","collectionSlug":"storm","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/storm/storm-34.png","previewUrl":"/fotky13204/meblosoft/velke/storm/storm-34.jpg"},{"id":"storm/36","name":"Storm 36","code":"36","collection":"Storm","collectionSlug":"storm","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/storm/storm-36.png","previewUrl":"/fotky13204/meblosoft/velke/storm/storm-36.jpg"},{"id":"storm/37","name":"Storm 37","code":"37","collection":"Storm","collectionSlug":"storm","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/storm/storm-37.png","previewUrl":"/fotky13204/meblosoft/velke/storm/storm-37.jpg"},{"id":"storm/39","name":"Storm 39","code":"39","collection":"Storm","collectionSlug":"storm","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/storm/storm-39.png","previewUrl":"/fotky13204/meblosoft/velke/storm/storm-39.jpg"},{"id":"storm/45","name":"Storm 45","code":"45","collection":"Storm","collectionSlug":"storm","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/storm/storm-45.png","previewUrl":"/fotky13204/meblosoft/velke/storm/storm-45.jpg"},{"id":"storm/48","name":"Storm 48","code":"48","collection":"Storm","collectionSlug":"storm","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/storm/storm-48.png","previewUrl":"/fotky13204/meblosoft/velke/storm/storm-48.jpg"},{"id":"storm/54","name":"Storm 54","code":"54","collection":"Storm","collectionSlug":"storm","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/storm/storm-54.png","previewUrl":"/fotky13204/meblosoft/velke/storm/storm-54.jpg"},{"id":"storm/58","name":"Storm 58","code":"58","collection":"Storm","collectionSlug":"storm","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/storm/storm-58.png","previewUrl":"/fotky13204/meblosoft/velke/storm/storm-58.jpg"},{"id":"storm/59","name":"Storm 59","code":"59","collection":"Storm","collectionSlug":"storm","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/storm/storm-59.png","previewUrl":"/fotky13204/meblosoft/velke/storm/storm-59.jpg"},{"id":"storm/63","name":"Storm 63","code":"63","collection":"Storm","collectionSlug":"storm","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/storm/storm-63.png","previewUrl":"/fotky13204/meblosoft/velke/storm/storm-63.jpg"},{"id":"storm/70","name":"Storm 70","code":"70","collection":"Storm","collectionSlug":"storm","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/storm/storm-70.png","previewUrl":"/fotky13204/meblosoft/velke/storm/storm-70.jpg"},{"id":"storm/71","name":"Storm 71","code":"71","collection":"Storm","collectionSlug":"storm","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/storm/storm-71.png","previewUrl":"/fotky13204/meblosoft/velke/storm/storm-71.jpg"},{"id":"storm/72","name":"Storm 72","code":"72","collection":"Storm","collectionSlug":"storm","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/storm/storm-72.png","previewUrl":"/fotky13204/meblosoft/velke/storm/storm-72.jpg"},{"id":"storm/77","name":"Storm 77","code":"77","collection":"Storm","collectionSlug":"storm","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/storm/storm-77.png","previewUrl":"/fotky13204/meblosoft/velke/storm/storm-77.jpg"},{"id":"storm/82","name":"Storm 82","code":"82","collection":"Storm","collectionSlug":"storm","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/storm/storm-82.png","previewUrl":"/fotky13204/meblosoft/velke/storm/storm-82.jpg"},{"id":"storm/85","name":"Storm 85","code":"85","collection":"Storm","collectionSlug":"storm","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/storm/storm-85.png","previewUrl":"/fotky13204/meblosoft/velke/storm/storm-85.jpg"},{"id":"storm/97","name":"Storm 97","code":"97","collection":"Storm","collectionSlug":"storm","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/storm/storm-97.png","previewUrl":"/fotky13204/meblosoft/velke/storm/storm-97.jpg"},{"id":"storm/99","name":"Storm 99","code":"99","collection":"Storm","collectionSlug":"storm","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/storm/storm-99.png","previewUrl":"/fotky13204/meblosoft/velke/storm/storm-99.jpg"},{"id":"storm/100","name":"Storm 100","code":"100","collection":"Storm","collectionSlug":"storm","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/storm/storm-100.png","previewUrl":"/fotky13204/meblosoft/velke/storm/storm-100.jpg"},{"id":"toronto/01","name":"Toronto 01","code":"01","collection":"Toronto","collectionSlug":"toronto","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/toronto/toronto-01.png","previewUrl":"/fotky13204/meblosoft/velke/toronto/toronto-01.jpg"},{"id":"toronto/02","name":"Toronto 02","code":"02","collection":"Toronto","collectionSlug":"toronto","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/toronto/toronto-02.png","previewUrl":"/fotky13204/meblosoft/velke/toronto/toronto-02.jpg"},{"id":"toronto/03","name":"Toronto 03","code":"03","collection":"Toronto","collectionSlug":"toronto","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/toronto/toronto-03.png","previewUrl":"/fotky13204/meblosoft/velke/toronto/toronto-03.jpg"},{"id":"toronto/04","name":"Toronto 04","code":"04","collection":"Toronto","collectionSlug":"toronto","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/toronto/toronto-04.png","previewUrl":"/fotky13204/meblosoft/velke/toronto/toronto-04.jpg"},{"id":"toronto/05","name":"Toronto 05","code":"05","collection":"Toronto","collectionSlug":"toronto","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/toronto/toronto-05.png","previewUrl":"/fotky13204/meblosoft/velke/toronto/toronto-05.jpg"},{"id":"toronto/06","name":"Toronto 06","code":"06","collection":"Toronto","collectionSlug":"toronto","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/toronto/toronto-06.png","previewUrl":"/fotky13204/meblosoft/velke/toronto/toronto-06.jpg"},{"id":"toronto/08","name":"Toronto 08","code":"08","collection":"Toronto","collectionSlug":"toronto","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/toronto/toronto-08.png","previewUrl":"/fotky13204/meblosoft/velke/toronto/toronto-08.jpg"},{"id":"toronto/09","name":"Toronto 09","code":"09","collection":"Toronto","collectionSlug":"toronto","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/toronto/toronto-09.png","previewUrl":"/fotky13204/meblosoft/velke/toronto/toronto-09.jpg"},{"id":"toronto/10","name":"Toronto 10","code":"10","collection":"Toronto","collectionSlug":"toronto","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/toronto/toronto-10.png","previewUrl":"/fotky13204/meblosoft/velke/toronto/toronto-10.jpg"},{"id":"toronto/12","name":"Toronto 12","code":"12","collection":"Toronto","collectionSlug":"toronto","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/toronto/toronto-12.png","previewUrl":"/fotky13204/meblosoft/velke/toronto/toronto-12.jpg"},{"id":"toronto/13","name":"Toronto 13","code":"13","collection":"Toronto","collectionSlug":"toronto","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/toronto/toronto-13.png","previewUrl":"/fotky13204/meblosoft/velke/toronto/toronto-13.jpg"},{"id":"toronto/14","name":"Toronto 14","code":"14","collection":"Toronto","collectionSlug":"toronto","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/toronto/toronto-14.png","previewUrl":"/fotky13204/meblosoft/velke/toronto/toronto-14.jpg"},{"id":"toronto/15","name":"Toronto 15","code":"15","collection":"Toronto","collectionSlug":"toronto","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/toronto/toronto-15.png","previewUrl":"/fotky13204/meblosoft/velke/toronto/toronto-15.jpg"},{"id":"toronto/16","name":"Toronto 16","code":"16","collection":"Toronto","collectionSlug":"toronto","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/toronto/toronto-16.png","previewUrl":"/fotky13204/meblosoft/velke/toronto/toronto-16.jpg"},{"id":"toronto/17","name":"Toronto 17","code":"17","collection":"Toronto","collectionSlug":"toronto","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/toronto/toronto-17.png","previewUrl":"/fotky13204/meblosoft/velke/toronto/toronto-17.jpg"},{"id":"vogue/01","name":"Vogue 01","code":"01","collection":"Vogue","collectionSlug":"vogue","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/vogue/vogue-01.png","previewUrl":"/fotky13204/meblosoft/velke/vogue/vogue-01.jpg"},{"id":"vogue/02","name":"Vogue 02","code":"02","collection":"Vogue","collectionSlug":"vogue","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/vogue/vogue-02.png","previewUrl":"/fotky13204/meblosoft/velke/vogue/vogue-02.jpg"},{"id":"vogue/03","name":"Vogue 03","code":"03","collection":"Vogue","collectionSlug":"vogue","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/vogue/vogue-03.png","previewUrl":"/fotky13204/meblosoft/velke/vogue/vogue-03.jpg"},{"id":"vogue/04","name":"Vogue 04","code":"04","collection":"Vogue","collectionSlug":"vogue","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/vogue/vogue-04.png","previewUrl":"/fotky13204/meblosoft/velke/vogue/vogue-04.jpg"},{"id":"vogue/05","name":"Vogue 05","code":"05","collection":"Vogue","collectionSlug":"vogue","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/vogue/vogue-05.png","previewUrl":"/fotky13204/meblosoft/velke/vogue/vogue-05.jpg"},{"id":"vogue/06","name":"Vogue 06","code":"06","collection":"Vogue","collectionSlug":"vogue","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/vogue/vogue-06.png","previewUrl":"/fotky13204/meblosoft/velke/vogue/vogue-06.jpg"},{"id":"vogue/07","name":"Vogue 07","code":"07","collection":"Vogue","collectionSlug":"vogue","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/vogue/vogue-07.png","previewUrl":"/fotky13204/meblosoft/velke/vogue/vogue-07.jpg"},{"id":"vogue/08","name":"Vogue 08","code":"08","collection":"Vogue","collectionSlug":"vogue","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/vogue/vogue-08.png","previewUrl":"/fotky13204/meblosoft/velke/vogue/vogue-08.jpg"},{"id":"vogue/09","name":"Vogue 09","code":"09","collection":"Vogue","collectionSlug":"vogue","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/vogue/vogue-09.png","previewUrl":"/fotky13204/meblosoft/velke/vogue/vogue-09.jpg"},{"id":"vogue/10","name":"Vogue 10","code":"10","collection":"Vogue","collectionSlug":"vogue","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/vogue/vogue-10.png","previewUrl":"/fotky13204/meblosoft/velke/vogue/vogue-10.jpg"},{"id":"vogue/11","name":"Vogue 11","code":"11","collection":"Vogue","collectionSlug":"vogue","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/vogue/vogue-11.png","previewUrl":"/fotky13204/meblosoft/velke/vogue/vogue-11.jpg"},{"id":"vogue/12","name":"Vogue 12","code":"12","collection":"Vogue","collectionSlug":"vogue","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/vogue/vogue-12.png","previewUrl":"/fotky13204/meblosoft/velke/vogue/vogue-12.jpg"},{"id":"vogue/13","name":"Vogue 13","code":"13","collection":"Vogue","collectionSlug":"vogue","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/vogue/vogue-13.png","previewUrl":"/fotky13204/meblosoft/velke/vogue/vogue-13.jpg"},{"id":"vogue/14","name":"Vogue 14","code":"14","collection":"Vogue","collectionSlug":"vogue","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/vogue/vogue-14.png","previewUrl":"/fotky13204/meblosoft/velke/vogue/vogue-14.jpg"},{"id":"vogue/15","name":"Vogue 15","code":"15","collection":"Vogue","collectionSlug":"vogue","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/vogue/vogue-15.png","previewUrl":"/fotky13204/meblosoft/velke/vogue/vogue-15.jpg"},{"id":"vogue/16","name":"Vogue 16","code":"16","collection":"Vogue","collectionSlug":"vogue","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/vogue/vogue-16.png","previewUrl":"/fotky13204/meblosoft/velke/vogue/vogue-16.jpg"},{"id":"vogue/17","name":"Vogue 17","code":"17","collection":"Vogue","collectionSlug":"vogue","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/vogue/vogue-17.png","previewUrl":"/fotky13204/meblosoft/velke/vogue/vogue-17.jpg"},{"id":"vogue/18","name":"Vogue 18","code":"18","collection":"Vogue","collectionSlug":"vogue","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/vogue/vogue-18.png","previewUrl":"/fotky13204/meblosoft/velke/vogue/vogue-18.jpg"},{"id":"whisper/01","name":"Whisper 01","code":"01","collection":"Whisper","collectionSlug":"whisper","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/whisper/whisper-01.png","previewUrl":"/fotky13204/meblosoft/velke/whisper/whisper-01.jpg"},{"id":"whisper/02","name":"Whisper 02","code":"02","collection":"Whisper","collectionSlug":"whisper","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/whisper/whisper-02.png","previewUrl":"/fotky13204/meblosoft/velke/whisper/whisper-02.jpg"},{"id":"whisper/03","name":"Whisper 03","code":"03","collection":"Whisper","collectionSlug":"whisper","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/whisper/whisper-03.png","previewUrl":"/fotky13204/meblosoft/velke/whisper/whisper-03.jpg"},{"id":"whisper/04","name":"Whisper 04","code":"04","collection":"Whisper","collectionSlug":"whisper","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/whisper/whisper-04.png","previewUrl":"/fotky13204/meblosoft/velke/whisper/whisper-04.jpg"},{"id":"whisper/05","name":"Whisper 05","code":"05","collection":"Whisper","collectionSlug":"whisper","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/whisper/whisper-05.png","previewUrl":"/fotky13204/meblosoft/velke/whisper/whisper-05.jpg"},{"id":"whisper/06","name":"Whisper 06","code":"06","collection":"Whisper","collectionSlug":"whisper","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/whisper/whisper-06.png","previewUrl":"/fotky13204/meblosoft/velke/whisper/whisper-06.jpg"},{"id":"whisper/07","name":"Whisper 07","code":"07","collection":"Whisper","collectionSlug":"whisper","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/whisper/whisper-07.png","previewUrl":"/fotky13204/meblosoft/velke/whisper/whisper-07.jpg"},{"id":"whisper/08","name":"Whisper 08","code":"08","collection":"Whisper","collectionSlug":"whisper","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/whisper/whisper-08.png","previewUrl":"/fotky13204/meblosoft/velke/whisper/whisper-08.jpg"},{"id":"whisper/09","name":"Whisper 09","code":"09","collection":"Whisper","collectionSlug":"whisper","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/whisper/whisper-09.png","previewUrl":"/fotky13204/meblosoft/velke/whisper/whisper-09.jpg"},{"id":"whisper/10","name":"Whisper 10","code":"10","collection":"Whisper","collectionSlug":"whisper","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/whisper/whisper-10.png","previewUrl":"/fotky13204/meblosoft/velke/whisper/whisper-10.jpg"},{"id":"whisper/11","name":"Whisper 11","code":"11","collection":"Whisper","collectionSlug":"whisper","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/whisper/whisper-11.png","previewUrl":"/fotky13204/meblosoft/velke/whisper/whisper-11.jpg"},{"id":"whisper/12","name":"Whisper 12","code":"12","collection":"Whisper","collectionSlug":"whisper","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/whisper/whisper-12.png","previewUrl":"/fotky13204/meblosoft/velke/whisper/whisper-12.jpg"},{"id":"whisper/13","name":"Whisper 13","code":"13","collection":"Whisper","collectionSlug":"whisper","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/whisper/whisper-13.png","previewUrl":"/fotky13204/meblosoft/velke/whisper/whisper-13.jpg"},{"id":"whisper/14","name":"Whisper 14","code":"14","collection":"Whisper","collectionSlug":"whisper","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/whisper/whisper-14.png","previewUrl":"/fotky13204/meblosoft/velke/whisper/whisper-14.jpg"},{"id":"whisper/15","name":"Whisper 15","code":"15","collection":"Whisper","collectionSlug":"whisper","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/whisper/whisper-15.png","previewUrl":"/fotky13204/meblosoft/velke/whisper/whisper-15.jpg"},{"id":"whisper/16","name":"Whisper 16","code":"16","collection":"Whisper","collectionSlug":"whisper","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/whisper/whisper-16.png","previewUrl":"/fotky13204/meblosoft/velke/whisper/whisper-16.jpg"},{"id":"whisper/17","name":"Whisper 17","code":"17","collection":"Whisper","collectionSlug":"whisper","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/whisper/whisper-17.png","previewUrl":"/fotky13204/meblosoft/velke/whisper/whisper-17.jpg"},{"id":"whisper/18","name":"Whisper 18","code":"18","collection":"Whisper","collectionSlug":"whisper","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/whisper/whisper-18.png","previewUrl":"/fotky13204/meblosoft/velke/whisper/whisper-18.jpg"},{"id":"whisper/19","name":"Whisper 19","code":"19","collection":"Whisper","collectionSlug":"whisper","priceGroup":3,"thumbUrl":"/fotky13204/meblosoft/male/whisper/whisper-19.png","previewUrl":"/fotky13204/meblosoft/velke/whisper/whisper-19.jpg"}]});

(function (globalObject) {
  "use strict";

  var documentObject = globalObject.document;
  var config = globalObject.MEBLOSOFT_PICKER_CONFIG;
  var catalog = globalObject.MEBLOSOFT_CATALOG;
  if (!documentObject || !config) return;

  var body = documentObject.body;
  if (!body) return;

  function scopeNormalize(value) {
    return String(value == null ? "" : value)
      .normalize("NFD")
      .replace(/[\u0300-\u036f]/g, "")
      .toLocaleLowerCase("sk")
      .replace(/\s+/g, " ")
      .trim();
  }

  function activeProductId() {
    var path = String(globalObject.location && globalObject.location.pathname || "");
    var match = path.match(/-d(\d+)\.htm$/i);
    if (match) return match[1];
    var attr = body.getAttribute("data-meblosoft-picker-product") || body.getAttribute("data-mbp-side-product-id");
    return attr ? String(attr) : "";
  }

  function isLocalPreview() {
    return Boolean(body.getAttribute("data-meblosoft-picker-product"));
  }

  function isMeblosoftProductPage() {
    if (isLocalPreview()) return true;
    var manufacturerNeedle = (config.scope && config.scope.manufacturerNeedle) || "meblosoft";
    var heading = documentObject.querySelector("h1");
    var pageName = scopeNormalize([documentObject.title, heading && heading.textContent].join(" "));
    var rows = documentObject.querySelectorAll("tr");
    for (var index = 0; index < rows.length; index += 1) {
      var rowText = scopeNormalize(rows[index].textContent);
      if (rowText.indexOf("vyrobca") !== -1 && rowText.indexOf(manufacturerNeedle) !== -1) return true;
    }
    var snippet = scopeNormalize((body.innerText || "").slice(0, 8000));
    if (new RegExp("autorizovany predajca(?: znacky)? " + manufacturerNeedle).test(snippet)) return true;
    return pageName.indexOf(manufacturerNeedle) !== -1;
  }

  var productId = activeProductId();
  if (!productId || !isMeblosoftProductPage()) return;

  if (globalObject.__MEBLOSOFT_PICKER__) {
    globalObject.__MEBLOSOFT_PICKER__.refresh();
    return;
  }

  var state = {
    ready: false,
    catalogError: null,
    mappingError: null,
    warnings: [],
    form: null,
    sideSelect: null,
    groupSelect: null,
    legSelect: null,
    sideMapping: null,
    groupMapping: null,
    legMapping: null,
    nativeFingerprint: "",
    selectedSide: null,
    selectedLeg: null,
    selectedFabric: null,
    candidateFabric: null,
    panel: null,
    modal: null,
    attemptedPurchase: false,
    syncingNative: false,
    renderTimer: null,
    refreshTimer: null,
    ajaxPrefilterInstalled: false,
    sidePlan: "l"
  };

  var collator = new Intl.Collator("sk", { numeric: true, sensitivity: "base" });
  var integerFormat = new Intl.NumberFormat("sk-SK", { maximumFractionDigits: 0 });

  function formatInteger(value) {
    return integerFormat.format(value).replace(/[\u00a0\u202f]/g, " ");
  }

  function normalize(value) {
    return String(value == null ? "" : value)
      .normalize("NFD")
      .replace(/[\u0300-\u036f]/g, "")
      .toLocaleLowerCase("sk")
      .replace(/[–—−]/g, "-")
      .replace(/\s+/g, " ")
      .trim();
  }

  function escapeRegExp(value) {
    return String(value).replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
  }

  function escapeHtml(value) {
    return String(value == null ? "" : value).replace(/[&<>"']/g, function (character) {
      return ({ "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#39;" })[character];
    });
  }

  function assetUrl(path) {
    var value = String(path || "").trim();
    if (!value) return "";
    if (/^(?:https?:)?\/\//i.test(value)) return value;
    if (value.charAt(0) !== "/") return value;
    if (globalObject.location.protocol === "file:" || /^(?:localhost|127\.0\.0\.1)$/i.test(globalObject.location.hostname)) {
      return "https://www.nabytkarstvo.sk" + value;
    }
    return value;
  }

  function dispatchNativeChange(select) {
    select.dispatchEvent(new Event("input", { bubbles: true }));
    select.dispatchEvent(new Event("change", { bubbles: true }));
  }

  function productIdFromForm(form) {
    var input = form && form.querySelector("input[name='pid'], input[name='item']");
    if (input && String(input.value || "").trim()) return String(input.value).trim();

    var action = String(form && form.getAttribute("action") || "");
    var match = action.match(/[?&](?:pid|item)=([^&#]+)/i);
    return match ? decodeURIComponent(match[1]) : "";
  }

  function findProductForm() {
    if (!productId) return null;
    var forms = documentObject.querySelectorAll("form");
    for (var index = 0; index < forms.length; index += 1) {
      if (productIdFromForm(forms[index]) === productId) return forms[index];
    }
    return null;
  }

  function findBuyButtons(form) {
    return Array.prototype.slice.call(form.querySelectorAll(
      "#buy_btn, input[type='submit'], button[type='submit'], [data-buy]"
    ));
  }

  function isPlaceholderOption(option) {
    var text = normalize(option && (option.textContent || option.label));
    return !String(option && option.value || "").trim() ||
      Boolean(option && (option.disabled || option.hidden)) ||
      /^(?:vyber|vyberte|zvolte|kliknite)/.test(text);
  }

  function validateCatalog(value) {
    if (!value || !Array.isArray(value.items) || !Array.isArray(value.collections)) {
      throw new Error("Vzorkovník nie je načítaný.");
    }
    if (value.manufacturer !== config.manufacturer) {
      throw new Error("Vzorkovník patrí inému výrobcovi.");
    }
    if (value.items.length !== config.expectedFabricCount) {
      throw new Error("Vzorkovník musí obsahovať presne " + config.expectedFabricCount + " látok.");
    }
    if (value.collections.length !== config.expectedCollectionCount) {
      throw new Error("Vzorkovník musí obsahovať presne " + config.expectedCollectionCount + " kolekcií.");
    }

    var seen = Object.create(null);
    value.items.forEach(function (fabric) {
      var id = String(fabric && fabric.id || "");
      if (!id || seen[id]) throw new Error("Vzorkovník obsahuje prázdne alebo duplicitné ID látky.");
      if (Number(fabric && fabric.priceGroup) !== 3) {
        throw new Error("Látka " + (fabric && fabric.name || id) + " nie je v 3. cenovej skupine.");
      }
      if (!fabric.name || !fabric.collection || !fabric.thumbUrl || !fabric.previewUrl) {
        throw new Error("Látke " + id + " chýbajú povinné údaje.");
      }
      seen[id] = true;
    });

    return { "3": value.items.length };
  }

  function optionMatchesGroup(option, group) {
    var text = normalize(option.textContent || option.label || "");
    if (String(group) === "3" && /(?:^|\s)3\.?\s*cenova skupina(?:\s|$)/.test(text)) return true;
    var expected = normalize(config.groupRules[group].label);
    if (text === expected) return true;
    var expression = new RegExp("(?:^|\\s)" + escapeRegExp(expected) + "(?:\\s|[-:+(]|$)");
    return expression.test(text);
  }

  function buildStrictGroupMapping(select) {
    if (!select) throw new Error("Na produkte chýba systémové pole cenovej skupiny.");

    var options = Array.prototype.slice.call(select.options || []);
    var placeholders = options.filter(isPlaceholderOption);
    var realOptions = options.filter(function (option) { return !isPlaceholderOption(option); });
    var optionByGroup = Object.create(null);
    var groupByNativeValue = Object.create(null);

    if (placeholders.length > 1) {
      throw new Error("Číselník poťahu má viac ako jednu úvodnú možnosť.");
    }
    if (realOptions.length !== 1 || !optionMatchesGroup(realOptions[0], "3")) {
      throw new Error("Číselník poťahu Meblosoft musí mať práve 3. cenovú skupinu.");
    }

    var option = realOptions[0];
    var value = String(option.value || "").trim();
    if (!value) throw new Error("Systémový číselník obsahuje prázdne interné ID.");
    optionByGroup["3"] = option;
    groupByNativeValue[value] = "3";

    return {
      placeholder: placeholders[0] || null,
      optionByGroup: optionByGroup,
      groupByNativeValue: groupByNativeValue,
      warnings: []
    };
  }

  function optionMatchesSide(option, side) {
    var text = normalize(option.textContent || option.label || "");
    var expected = normalize(config.sideRules[side].label);
    if (text === expected) return true;
    var expression = new RegExp("(?:^|\\s)" + escapeRegExp(expected) + "(?:\\s|[-:+(]|$)");
    return expression.test(text);
  }

  function buildStrictSideMapping(select) {
    if (!select) throw new Error("Na produkte chýba systémové pole prevedenia.");

    var options = Array.prototype.slice.call(select.options || []);
    var placeholders = options.filter(isPlaceholderOption);
    var realOptions = options.filter(function (option) { return !isPlaceholderOption(option); });
    var optionBySide = Object.create(null);
    var sideByNativeValue = Object.create(null);
    var warnings = [];

    if (placeholders.length > 1) {
      throw new Error("Číselník „Prevedenie“ má viac ako jednu úvodnú možnosť.");
    }
    if (realOptions.length !== 2) {
      throw new Error("Číselník „Prevedenie“ musí mať presne možnosti Ľavé a Pravé.");
    }

    ["left", "right"].forEach(function (side) {
      var matches = realOptions.filter(function (option) { return optionMatchesSide(option, side); });
      if (matches.length !== 1) {
        throw new Error("Prevedenie „" + config.sideRules[side].label + "“ nemá v systémovom poli jednoznačnú možnosť.");
      }

      var option = matches[0];
      var value = String(option.value || "").trim();
      if (!value || sideByNativeValue[value]) {
        throw new Error("Systémový číselník prevedenia obsahuje prázdne alebo duplicitné interné ID.");
      }

      optionBySide[side] = option;
      sideByNativeValue[value] = side;
    });

    return {
      placeholder: placeholders[0],
      optionBySide: optionBySide,
      sideByNativeValue: sideByNativeValue,
      warnings: warnings
    };
  }

  function paletteLabels(rule) {
    if (!rule) return [];
    return [rule.label].concat(rule.nativeLabels || []).map(normalize).filter(Boolean);
  }

  function labelMatchesText(label, text) {
    if (!label || !text) return false;
    if (text === label) return true;
    return new RegExp("(?:^|\\s)" + escapeRegExp(label) + "(?:\\s|[-:+(]|$)").test(text);
  }

  function matchLegPalette(text) {
    var best = null;
    var bestLength = -1;
    Object.keys(config.legPalette || {}).forEach(function (id) {
      var rule = config.legPalette[id];
      paletteLabels(rule).forEach(function (label) {
        if (!labelMatchesText(label, text) || label.length <= bestLength) return;
        best = { id: id, rule: rule };
        bestLength = label.length;
      });
    });
    return best;
  }

  function defaultLegFromMapping(mapping) {
    if (!mapping || !mapping.optionByLeg) return null;
    var preferred = Object.keys(config.legPalette || {}).filter(function (id) {
      return config.legPalette[id].preferredDefault && mapping.optionByLeg[id];
    })[0];
    if (preferred) return preferred;
    return mapping.legs && mapping.legs[0] ? mapping.legs[0].id : null;
  }

  function buildStrictLegMapping(select) {
    if (!select) throw new Error("Na produkte chýba systémové pole nožičiek.");

    var options = Array.prototype.slice.call(select.options || []);
    var placeholders = options.filter(isPlaceholderOption);
    var realOptions = options.filter(function (option) { return !isPlaceholderOption(option); });
    var optionByLeg = Object.create(null);
    var labelByLeg = Object.create(null);
    var visualByLeg = Object.create(null);
    var legByNativeValue = Object.create(null);
    var legs = [];
    var warnings = [];
    var matchedPalette = 0;

    if (placeholders.length !== 1) {
      throw new Error("Číselník nožičiek musí mať práve jednu úvodnú možnosť.");
    }
    if (realOptions.length < 1) {
      throw new Error("Číselník nožičiek musí mať aspoň jednu farebnú možnosť.");
    }

    realOptions.forEach(function (option) {
      var value = String(option.value || "").trim();
      var nativeText = String(option.textContent || option.label || "").replace(/\s+/g, " ").trim();
      var text = normalize(nativeText);
      var matched = matchLegPalette(text);
      var id;
      var label;
      var visual;
      if (!value || legByNativeValue[value]) {
        throw new Error("Systémový číselník nožičiek obsahuje prázdne alebo duplicitné interné ID.");
      }
      if (matched) {
        id = matched.id;
        if (optionByLeg[id]) {
          throw new Error("Číselník nožičiek má duplicitnú farbu „" + matched.rule.label + "“.");
        }
        matchedPalette += 1;
        label = matched.rule.label;
        visual = matched.rule.visual || matched.id;
      } else {
        id = "opt-" + value;
        label = nativeText || ("Nožičky " + value);
        visual = "unknown";
      }

      optionByLeg[id] = option;
      labelByLeg[id] = label;
      visualByLeg[id] = visual;
      legByNativeValue[value] = id;
      legs.push({ id: id, label: label, visual: visual, nativeValue: value });
    });

    if (matchedPalette < 1) {
      throw new Error("Číselník nožičiek neobsahuje známe farby nôh.");
    }

    return {
      placeholder: placeholders[0],
      optionByLeg: optionByLeg,
      labelByLeg: labelByLeg,
      visualByLeg: visualByLeg,
      legByNativeValue: legByNativeValue,
      legs: legs,
      warnings: warnings
    };
  }

  function nativeSelectFingerprint(form) {
    if (!form) return "";
    return Array.prototype.map.call(form.querySelectorAll("select[name^='ciselnik']"), function (select) {
      return select.name + ":" + Array.prototype.map.call(select.options || [], function (option) {
        return String(option.value) + "=" + normalize(option.textContent || option.label || "");
      }).join(",");
    }).join("|");
  }

  function discoverNativeFields(form) {
    var selects = Array.prototype.slice.call(form.querySelectorAll("select[name^='ciselnik']"));
    var minCount = Number(config.expectedNativeSelectCountMin);
    var maxCount = Number(config.expectedNativeSelectCountMax);
    if (!Number.isFinite(minCount)) minCount = 0;
    if (!Number.isFinite(maxCount)) maxCount = 3;
    if (selects.length < minCount || selects.length > maxCount) {
      throw new Error(
        "Produkt môže mať najviac " + maxCount +
        " systémové číselníky; teraz má " + selects.length + "."
      );
    }

    var sideCandidates = [];
    var groupCandidates = [];
    selects.forEach(function (select) {
      try {
        sideCandidates.push({ select: select, mapping: buildStrictSideMapping(select) });
      } catch (ignoreSideError) {}
      try {
        groupCandidates.push({ select: select, mapping: buildStrictGroupMapping(select) });
      } catch (ignoreGroupError) {}
    });

    if (sideCandidates.length > 1) {
      throw new Error("Systémové pole prevedenia sa nepodarilo jednoznačne rozpoznať.");
    }
    if (groupCandidates.length > 1) {
      throw new Error("Systémové pole cenovej skupiny sa nepodarilo jednoznačne rozpoznať.");
    }
    if (sideCandidates.length === 1 && groupCandidates.length === 1 && sideCandidates[0].select === groupCandidates[0].select) {
      throw new Error("Prevedenie a cenová skupina musia byť dve samostatné systémové polia.");
    }

    var sideSelect = sideCandidates.length === 1 ? sideCandidates[0].select : null;
    var groupSelect = groupCandidates.length === 1 ? groupCandidates[0].select : null;
    var remaining = selects.filter(function (select) {
      return select !== sideSelect && select !== groupSelect;
    });
    var legSelect = null;
    var legMapping = null;
    if (remaining.length === 1) {
      try {
        legMapping = buildStrictLegMapping(remaining[0]);
        legSelect = remaining[0];
      } catch (legError) {
        throw new Error("Číselník nie je prevedenie, 3. cenová skupina ani výber nožičiek, preto picker ostáva zablokovaný.");
      }
    } else if (remaining.length > 1) {
      throw new Error("Okrem poťahu smie byť najviac prevedenie a jeden číselník nožičiek.");
    }

    return {
      sideSelect: sideSelect,
      sideMapping: sideCandidates.length === 1 ? sideCandidates[0].mapping : null,
      groupSelect: groupSelect,
      groupMapping: groupCandidates.length === 1 ? groupCandidates[0].mapping : null,
      legSelect: legSelect,
      legMapping: legMapping,
      fingerprint: nativeSelectFingerprint(form)
    };
  }

  function hasSideField() {
    return Boolean(state.sideSelect && state.sideMapping);
  }

  function hasLegsField() {
    return Boolean(state.legSelect && state.legMapping);
  }

  function hasGroupField() {
    return Boolean(state.groupSelect && state.groupMapping);
  }

  function sideLabel(side) {
    var rule = side && config.sideRules[side];
    return rule ? rule.label : "";
  }

  function legLabel(leg) {
    if (!hasLegsField() || !leg) return "";
    return state.legMapping.labelByLeg[leg] || "";
  }

  function noteSegment(side, fabric) {
    var segment = hasSideField()
      ? "Konfigurácia Meblosoft — prevedenie: " + sideLabel(side) +
        "; látka: " + fabric.name +
        "; kolekcia: " + fabric.collection +
        "; cenová skupina: " + fabric.priceGroup
      : "Konfigurácia Meblosoft — látka: " + fabric.name +
        "; kolekcia: " + fabric.collection +
        "; cenová skupina: " + fabric.priceGroup;
    if (hasLegsField() && state.selectedLeg) {
      segment += "; nožičky: " + legLabel(state.selectedLeg);
    }
    return segment;
  }

  function withoutOwnedNote(value) {
    return String(value || "")
      .replace(/(?:^|\s*\|\s*)(?:Konfigurácia Meblosoft|Poťah Meblosoft)\s*—[^|]*(?=\s*\||$)/g, "")
      .replace(/^\s*\|\s*|\s*\|\s*$/g, "")
      .trim();
  }

  function mergeNote(value, side, fabric) {
    var base = withoutOwnedNote(value);
    var segment = noteSegment(side, fabric);
    return base ? base + " | " + segment : segment;
  }

  function ensureNoteField(form) {
    var selector = "input[name='" + config.noteField + "'], textarea[name='" + config.noteField + "']";
    var field = form.querySelector(selector);
    if (!field) {
      field = documentObject.createElement("input");
      field.type = "hidden";
      field.name = config.noteField;
      form.appendChild(field);
    }
    return field;
  }

  function optionBelongsToSelect(select, option) {
    return Boolean(select && option && Array.prototype.some.call(select.options, function (item) { return item === option; }));
  }

  function writeConfigurationToForm(form, side, fabric, dispatchChanges) {
    if (!fabric) return false;
    if (hasGroupField() && !state.groupMapping) return false;
    if (hasSideField() && (!state.sideMapping || !side)) return false;
    if (hasLegsField() && (!state.selectedLeg || !state.legMapping.optionByLeg[state.selectedLeg])) return false;
    var sideOption = hasSideField() ? state.sideMapping.optionBySide[side] : null;
    var groupOption = hasGroupField() ? state.groupMapping.optionByGroup[String(fabric.priceGroup)] : null;
    var sideSelect = state.sideSelect;
    var groupSelect = state.groupSelect;
    var legSelect = state.legSelect;
    var legOption = hasLegsField() ? state.legMapping.optionByLeg[state.selectedLeg] : null;
    if (!form) return false;
    if (hasGroupField() && (!form.contains(groupSelect) || !optionBelongsToSelect(groupSelect, groupOption))) return false;
    if (hasSideField() && (!form.contains(sideSelect) || !optionBelongsToSelect(sideSelect, sideOption))) return false;
    if (hasLegsField() && (!form.contains(legSelect) || !optionBelongsToSelect(legSelect, legOption))) return false;

    state.syncingNative = true;
    var sideChanged = hasSideField() && sideSelect.value !== sideOption.value;
    var groupChanged = hasGroupField() && groupSelect.value !== groupOption.value;
    var legChanged = hasLegsField() && legSelect.value !== legOption.value;
    if (hasSideField()) sideSelect.value = sideOption.value;
    if (hasGroupField()) groupSelect.value = groupOption.value;
    if (hasLegsField()) legSelect.value = legOption.value;
    if (dispatchChanges && sideChanged) dispatchNativeChange(sideSelect);
    if (dispatchChanges && groupChanged) dispatchNativeChange(groupSelect);
    if (dispatchChanges && legChanged) dispatchNativeChange(legSelect);
    state.syncingNative = false;

    var note = ensureNoteField(form);
    note.value = mergeNote(note.value, side, fabric);
    note.setAttribute("data-mbp-note", noteSegment(side, fabric));
    return true;
  }

  function selectedSideIsValid() {
    if (!state.selectedSide || !state.sideSelect || !state.sideMapping) return false;
    var expected = state.sideMapping.optionBySide[state.selectedSide];
    return Boolean(expected && state.sideSelect.value === expected.value);
  }

  function selectedGroupIsValid() {
    if (!hasGroupField()) return true;
    if (!state.selectedFabric) return false;
    var expected = state.groupMapping.optionByGroup[String(state.selectedFabric.priceGroup)];
    return Boolean(expected && state.groupSelect.value === expected.value);
  }

  function selectedNoteIsValid() {
    if (!state.form || !state.selectedFabric) return false;
    if (hasSideField() && !state.selectedSide) return false;
    if (hasLegsField() && !state.selectedLeg) return false;
    var field = state.form.querySelector("[name='" + config.noteField + "']");
    return Boolean(field && String(field.value).indexOf(noteSegment(state.selectedSide, state.selectedFabric)) !== -1);
  }

  function selectedLegIsValid() {
    if (!hasLegsField() || !state.selectedLeg) return false;
    var expected = state.legMapping.optionByLeg[state.selectedLeg];
    return Boolean(expected && state.legSelect.value === expected.value);
  }

  function guardState() {
    var reasons = [];
    if (state.catalogError) reasons.push("catalog");
    if (state.mappingError || (hasGroupField() && !state.groupMapping) || (hasSideField() && !state.sideMapping)) reasons.push("mapping");
    if (hasSideField() && !state.selectedSide) reasons.push("side");
    if (hasLegsField() && !state.selectedLeg) reasons.push("legs");
    if (!state.selectedFabric) reasons.push("fabric");
    if (hasSideField() && state.selectedSide && !selectedSideIsValid()) reasons.push("side-native");
    if (hasLegsField() && state.selectedLeg && !selectedLegIsValid()) reasons.push("leg-native");
    if (state.selectedFabric && !selectedGroupIsValid()) reasons.push("group-native");
    if (state.selectedFabric && (!hasSideField() || state.selectedSide) && !selectedNoteIsValid()) reasons.push("note");
    return { valid: reasons.length === 0, reasons: reasons };
  }

  function guardMessage(guard) {
    if (guard.reasons.indexOf("catalog") !== -1) return state.catalogError;
    if (guard.reasons.indexOf("mapping") !== -1) return state.mappingError || "Systémové polia nie sú bezpečne namapované.";
    if (guard.reasons.indexOf("side") !== -1 && guard.reasons.indexOf("fabric") !== -1) return "Vyberte prevedenie a konkrétnu poťahovú látku.";
    if (guard.reasons.indexOf("side") !== -1) return "Vyberte ľavé alebo pravé prevedenie.";
    if (guard.reasons.indexOf("legs") !== -1) return "Vyberte nožičky.";
    if (guard.reasons.indexOf("fabric") !== -1) return "Vyberte konkrétnu poťahovú látku.";
    if (guard.reasons.indexOf("side-native") !== -1) return "Vybrané prevedenie nie je nastavené v systémovom poli.";
    if (guard.reasons.indexOf("leg-native") !== -1) return "Vybrané nožičky nie sú nastavené v systémovom poli.";
    if (guard.reasons.indexOf("group-native") !== -1) return "Vybraná látka nemá nastavenú správnu systémovú cenovú skupinu.";
    if (guard.reasons.indexOf("note") !== -1) return "Konfiguráciu sa nepodarilo zapísať do poznámky produktu.";
    var ready = "sú pripravené pre košík.";
    if (hasSideField() && hasLegsField() && hasGroupField()) return "Prevedenie, nožičky, látka aj cenová skupina " + ready;
    if (hasSideField() && hasLegsField()) return "Prevedenie, nožičky a látka " + ready;
    if (hasSideField() && hasGroupField()) return "Prevedenie, látka aj cenová skupina " + ready;
    if (hasLegsField() && hasGroupField()) return "Nožičky, látka aj cenová skupina " + ready;
    if (hasSideField()) return "Prevedenie a látka " + ready;
    if (hasLegsField()) return "Nožičky a látka " + ready;
    if (hasGroupField()) return "Látka aj cenová skupina " + ready;
    return "Látka je pripravená pre košík.";
  }

  function setPickerDisabled(button, disabled) {
    if (disabled) {
      if (!button.disabled) button.setAttribute("data-mbp-disabled", "true");
      button.disabled = true;
      button.setAttribute("aria-disabled", "true");
      return;
    }
    if (button.getAttribute("data-mbp-disabled") === "true") {
      button.disabled = false;
      button.removeAttribute("data-mbp-disabled");
      button.removeAttribute("aria-disabled");
    }
  }

  function writeSideToForm(form, side, dispatchChanges) {
    if (!state.sideMapping || !state.sideSelect || !side) return false;
    var option = state.sideMapping.optionBySide[side];
    if (!form || !form.contains(state.sideSelect) || !optionBelongsToSelect(state.sideSelect, option)) return false;
    state.syncingNative = true;
    var changed = state.sideSelect.value !== option.value;
    state.sideSelect.value = option.value;
    if (dispatchChanges && changed) dispatchNativeChange(state.sideSelect);
    state.syncingNative = false;
    return true;
  }

  function writeGroupToForm(form, fabric, dispatchChanges) {
    if (!state.groupMapping || !state.groupSelect || !fabric) return false;
    var option = state.groupMapping.optionByGroup[String(fabric.priceGroup)];
    if (!form || !form.contains(state.groupSelect) || !optionBelongsToSelect(state.groupSelect, option)) return false;
    state.syncingNative = true;
    var changed = state.groupSelect.value !== option.value;
    state.groupSelect.value = option.value;
    if (dispatchChanges && changed) dispatchNativeChange(state.groupSelect);
    state.syncingNative = false;
    return true;
  }

  function writeLegToForm(form, leg, dispatchChanges) {
    if (!state.legMapping || !state.legSelect || !leg) return false;
    var option = state.legMapping.optionByLeg[leg];
    if (!form || !form.contains(state.legSelect) || !optionBelongsToSelect(state.legSelect, option)) return false;
    state.syncingNative = true;
    var changed = state.legSelect.value !== option.value;
    state.legSelect.value = option.value;
    if (dispatchChanges && changed) dispatchNativeChange(state.legSelect);
    state.syncingNative = false;
    return true;
  }

  function selectSide(side) {
    if (!state.form || !state.sideMapping || !state.sideMapping.optionBySide[side]) return;
    state.selectedSide = side;
    if (!writeSideToForm(state.form, side, true)) {
      state.mappingError = "Vybrané prevedenie sa nepodarilo preniesť do systémového poľa.";
      state.sideMapping = null;
      renderPanel();
      return;
    }
    if (state.selectedFabric) writeConfigurationToForm(state.form, side, state.selectedFabric, true);
    state.attemptedPurchase = false;
    renderPanel();
  }

  function selectLeg(leg) {
    if (!state.form || !hasLegsField() || !state.legMapping.optionByLeg[leg]) return;
    state.selectedLeg = leg;
    if (!writeLegToForm(state.form, leg, true)) {
      state.mappingError = "Vybrané nožičky sa nepodarilo preniesť do systémového poľa.";
      state.legMapping = null;
      renderPanel();
      return;
    }
    if (state.selectedFabric && (!hasSideField() || state.selectedSide)) {
      writeConfigurationToForm(state.form, state.selectedSide, state.selectedFabric, true);
    }
    renderPanel();
  }

  function fabricSampleLabel(count) {
    var amount = Number(count) || 0;
    var word = amount === 1 ? "vzorka" : (amount > 1 && amount < 5 ? "vzorky" : "vzoriek");
    return amount + " " + word + " · Meblosoft";
  }

  function renderPanel() {
    if (!state.panel) return;
    var guard = guardState();
    var openButton = state.panel.querySelector("[data-mbp-open]");
    var visual = state.panel.querySelector("[data-mbp-selected-visual]");
    var eyebrow = state.panel.querySelector("[data-mbp-eyebrow]");
    var name = state.panel.querySelector("[data-mbp-name]");
    var meta = state.panel.querySelector("[data-mbp-meta]");
    var message = state.panel.querySelector("[data-mbp-message]");
    var warning = state.panel.querySelector("[data-mbp-warning]");

    Array.prototype.forEach.call(state.panel.querySelectorAll("[data-mbp-side]"), function (button) {
      var selected = state.selectedSide === button.getAttribute("data-mbp-side");
      button.setAttribute("aria-pressed", String(selected));
      button.classList.toggle("is-selected", selected);
      button.disabled = Boolean(state.catalogError || state.mappingError);
    });

    Array.prototype.forEach.call(state.panel.querySelectorAll("[data-mbp-leg]"), function (button) {
      var selected = state.selectedLeg === button.getAttribute("data-mbp-leg");
      button.setAttribute("aria-pressed", String(selected));
      button.classList.toggle("is-selected", selected);
      button.disabled = Boolean(state.catalogError || state.mappingError);
    });

    var sideStep = state.panel.querySelector("[data-mbp-side-step]");
    if (sideStep) sideStep.hidden = !hasSideField();
    var legsStep = state.panel.querySelector("[data-mbp-legs-step]");
    if (legsStep) legsStep.hidden = !hasLegsField();
    var legsNumber = state.panel.querySelector("#mbp-legs-title span");
    if (legsNumber) legsNumber.textContent = hasSideField() ? "2" : "1";
    var fabricStep = state.panel.querySelector("#mbp-panel-title b");
    var fabricNumber = (hasSideField() ? 1 : 0) + (hasLegsField() ? 1 : 0) + 1;
    if (fabricStep) fabricStep.textContent = String(fabricNumber);
    var labelledBy = [];
    if (hasSideField()) labelledBy.push("mbp-side-title");
    if (hasLegsField()) labelledBy.push("mbp-legs-title");
    labelledBy.push("mbp-panel-title");
    state.panel.setAttribute("aria-labelledby", labelledBy.join(" "));

    visual.replaceChildren();
    visual.style.backgroundImage = "";
    visual.classList.remove("has-image");
    if (state.selectedFabric) {
      visual.style.backgroundImage = "url(\"" + assetUrl(state.selectedFabric.thumbUrl).replace(/"/g, "%22") + "\")";
      visual.classList.add("has-image");
      eyebrow.textContent = "Poťah je vybraný";
      name.textContent = state.selectedFabric.name;
      meta.textContent = "Kolekcia " + state.selectedFabric.collection + " · 3. cenová skupina";
      openButton.classList.add("is-selected");
    } else {
      visual.textContent = "+";
      eyebrow.textContent = state.mappingError || state.catalogError ? "Výber nie je pripravený" : "Poťah zatiaľ nie je vybraný";
      name.textContent = "Vybrať zo vzorkovníka Meblosoft";
      meta.textContent = fabricSampleLabel(catalog && catalog.items ? catalog.items.length : 0);
      openButton.classList.remove("is-selected");
    }

    openButton.disabled = Boolean(state.catalogError || state.mappingError);
    message.textContent = guardMessage(guard);
    message.classList.toggle("is-error", !guard.valid && state.attemptedPurchase);
    warning.hidden = state.warnings.length === 0;
    warning.textContent = state.warnings.join(" ");

    if (state.form) {
      findBuyButtons(state.form).forEach(function (button) { setPickerDisabled(button, !guard.valid); });
    }
    renderDiagnostic();
  }

  function markConfigLayout() {
    if (!state.groupSelect) return;
    var nativeRow = state.groupSelect.closest("tr");
    var nativeCell = state.groupSelect.closest("td");
    if (nativeCell) nativeCell.classList.add("mbp-value-cell");
    if (nativeRow) {
      nativeRow.classList.add("mbp-config-row");
      var nativeLabelCell = nativeRow.querySelector("td:first-child");
      if (nativeLabelCell && nativeLabelCell !== nativeCell) {
        nativeLabelCell.classList.add("mbp-config-label-cell");
      }
    }
  }

  function liveProductId() {
    return productId;
  }

  function productNameText() {
    var heading = documentObject.querySelector("h1");
    var path = String(globalObject.location && globalObject.location.pathname || "").replace(/[-_]+/g, " ");
    return [heading && heading.textContent, documentObject.title, path].join(" ");
  }

  function nameLooksLikeUPlan(text) {
    return /(?:^|[\s])u(?:[\s]|d\d|$)/.test(normalize(text));
  }

  function resolveSidePlan(requested) {
    if (requested === "u" || requested === "l") return requested;
    var attr = body && body.getAttribute("data-mbp-side-plan");
    if (attr === "u" || attr === "l") return attr;
    var mapped = config.sidePlanByProductId && config.sidePlanByProductId[liveProductId()];
    if (mapped === "u" || mapped === "l") return mapped;
    if (nameLooksLikeUPlan(productNameText())) return "u";
    return "l";
  }

  function sideCaption(side) {
    if (state.sidePlan === "u") {
      return side === "right" ? "Otoman je na pravej strane" : "Otoman je na ľavej strane";
    }
    return side === "right" ? "Roh je na pravej strane" : "Roh je na ľavej strane";
  }

  function sideIconMarkup(side) {
    var flip = side === "right" ? " mbp-side__icon--right" : " mbp-side__icon--left";
    var plan = state.sidePlan === "u" ? "u" : "l";
    var fill;
    var seam;
    if (plan === "u") {
      fill = "M9 6h54a3 3 0 0 1 3 3V40a3 3 0 0 1-3 3H52a3 3 0 0 1-3-3V20H24V31a3 3 0 0 1-3 3H9a3 3 0 0 1-3-3V9a3 3 0 0 1 3-3z";
      seam = "M24 6.5V20M49 6.5V20";
    } else {
      fill = "M11 7h48a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H31v13a3 3 0 0 1-3 3H11a3 3 0 0 1-3-3V10a3 3 0 0 1 3-3z";
      seam = "M31 7.5V25M8 25h23";
    }
    return '<span class="mbp-side__icon mbp-side__icon--svg mbp-side__icon--' + plan + flip + '" data-mbp-side-icon="' + side + '" data-mbp-plan="' + plan + '" aria-hidden="true">' +
      '<svg viewBox="0 0 72 48" focusable="false">' +
        '<path class="fill" d="' + fill + '"></path>' +
        '<path class="line" d="' + fill + '"></path>' +
        '<path class="seam" d="' + seam + '"></path>' +
      '</svg>' +
    '</span>';
  }

  function applySideVisuals() {
    if (!state.panel) return;
    Array.prototype.forEach.call(state.panel.querySelectorAll("[data-mbp-side]"), function (button) {
      var side = button.getAttribute("data-mbp-side");
      var icon = button.querySelector("[data-mbp-side-icon], .mbp-side__icon");
      var wrap = documentObject.createElement("div");
      wrap.innerHTML = sideIconMarkup(side);
      if (icon && wrap.firstChild) icon.replaceWith(wrap.firstChild);
      var small = button.querySelector("small");
      if (small) small.textContent = sideCaption(side);
    });
  }

  function legsCardsMarkup() {
    if (!hasLegsField()) return "";
    return state.legMapping.legs.map(function (leg) {
      var selected = state.selectedLeg === leg.id;
      return '<button type="button" class="mbp-legs__card" data-mbp-leg="' + escapeHtml(leg.id) + '" aria-pressed="' + String(selected) + '">' +
        '<span class="mbp-legs__visual is-' + escapeHtml(leg.visual) + '" aria-hidden="true"></span>' +
        '<span><strong>' + escapeHtml(leg.label) + '</strong></span>' +
        '<span class="mbp-legs__check" aria-hidden="true">✓</span>' +
      '</button>';
    }).join("");
  }

  function fillLegsGrid() {
    if (!state.panel) return;
    var grid = state.panel.querySelector("[data-mbp-legs-grid]");
    if (!grid) return;
    var next = documentObject.createElement("div");
    next.className = "mbp-legs__grid";
    next.setAttribute("data-mbp-legs-grid", "");
    next.setAttribute("role", "group");
    next.setAttribute("aria-label", "Nožičky");
    next.innerHTML = legsCardsMarkup();
    Array.prototype.forEach.call(next.querySelectorAll("[data-mbp-leg]"), function (button) {
      button.addEventListener("click", function () { selectLeg(button.getAttribute("data-mbp-leg")); });
    });
    grid.replaceWith(next);
  }

  function createPanel(form) {
    state.sidePlan = resolveSidePlan();
    var panel = documentObject.createElement("section");
    panel.className = "mbp-panel";
    panel.setAttribute("data-mbp-panel", "");
    var legsEnabled = hasLegsField();
    var sideEnabled = hasSideField();
    panel.setAttribute("aria-labelledby", sideEnabled ? "mbp-side-title mbp-panel-title" : "mbp-panel-title");
    panel.innerHTML =
      '<fieldset class="mbp-side" data-mbp-side-step' + (sideEnabled ? "" : " hidden") + '>' +
        '<legend id="mbp-side-title"><span>1</span> Vyberte prevedenie</legend>' +
        '<div class="mbp-side__grid" role="group" aria-label="Prevedenie sedačky">' +
          '<button type="button" class="mbp-side__card" data-mbp-side="left" aria-pressed="false">' +
            sideIconMarkup("left") +
            '<span><strong>Ľavé prevedenie</strong><small>' + sideCaption("left") + '</small></span>' +
            '<span class="mbp-side__check" aria-hidden="true">✓</span>' +
          '</button>' +
          '<button type="button" class="mbp-side__card" data-mbp-side="right" aria-pressed="false">' +
            sideIconMarkup("right") +
            '<span><strong>Pravé prevedenie</strong><small>' + sideCaption("right") + '</small></span>' +
            '<span class="mbp-side__check" aria-hidden="true">✓</span>' +
          '</button>' +
        '</div>' +
      '</fieldset>' +
      '<fieldset class="mbp-legs" data-mbp-legs-step' + (legsEnabled ? "" : " hidden") + '>' +
        '<legend id="mbp-legs-title"><span>2</span> Vyberte nožičky</legend>' +
        '<div class="mbp-legs__grid" data-mbp-legs-grid role="group" aria-label="Nožičky"></div>' +
      '</fieldset>' +
      '<div class="mbp-panel__heading">' +
        '<h2 id="mbp-panel-title"><b>' + ((sideEnabled ? 1 : 0) + (legsEnabled ? 1 : 0) + 1) + '</b> Vyberte látku Meblosoft</h2>' +
      '</div>' +
      '<button type="button" class="mbp-trigger" data-mbp-open aria-haspopup="dialog">' +
        '<span class="mbp-trigger__visual" data-mbp-selected-visual aria-hidden="true">+</span>' +
        '<span class="mbp-trigger__copy">' +
          '<small data-mbp-eyebrow>Poťah zatiaľ nie je vybraný</small>' +
          '<strong data-mbp-name>Vybrať zo vzorkovníka Meblosoft</strong>' +
          '<span data-mbp-meta>' + (catalog && catalog.items ? catalog.items.length : 0) + ' vzoriek · Meblosoft</span>' +
        '</span>' +
        '<span class="mbp-trigger__action">Vybrať látku <b aria-hidden="true">→</b></span>' +
      '</button>' +
      '<p class="mbp-panel__message" data-mbp-message role="status" tabindex="-1">Vyberte konkrétnu poťahovú látku.</p>' +
      '<p class="mbp-panel__warning" data-mbp-warning hidden></p>' +
      '<details class="mbp-diagnostic" data-mbp-diagnostic hidden>' +
        '<summary>Kontrola prenosu do košíka</summary>' +
        '<div data-mbp-diagnostic-output></div>' +
      '</details>';

    var slot = form.querySelector("[data-meblosoft-picker-slot]");
    if (slot) {
      markConfigLayout();
      slot.replaceChildren(panel);
    } else {
      var nativeRow = state.groupSelect && state.groupSelect.closest("tr");
      var nativeCell = state.groupSelect && state.groupSelect.closest("td");
      var buyButton = findBuyButtons(form)[0] || null;
      var buyRow = buyButton && buyButton.closest("tr");
      if (nativeCell) {
        markConfigLayout();
        nativeCell.appendChild(panel);
      } else if (nativeRow && nativeRow.parentNode) {
        var row = documentObject.createElement("tr");
        row.className = "mbp-injected-row";
        var cell = documentObject.createElement("td");
        cell.colSpan = Math.max(2, nativeRow.children.length || 2);
        cell.appendChild(panel);
        row.appendChild(cell);
        nativeRow.parentNode.insertBefore(row, nativeRow.nextSibling);
      } else if (buyRow && buyRow.parentNode) {
        var fallbackRow = documentObject.createElement("tr");
        fallbackRow.className = "mbp-injected-row";
        var fallbackCell = documentObject.createElement("td");
        fallbackCell.colSpan = Math.max(2, buyRow.children.length || 2);
        fallbackCell.appendChild(panel);
        fallbackRow.appendChild(fallbackCell);
        buyRow.parentNode.insertBefore(fallbackRow, buyRow);
      } else if (buyButton && buyButton.parentNode) {
        buyButton.parentNode.insertBefore(panel, buyButton);
      } else {
        form.appendChild(panel);
      }
    }

    panel.querySelector("[data-mbp-open]").addEventListener("click", openModal);
    Array.prototype.forEach.call(panel.querySelectorAll("[data-mbp-side]"), function (button) {
      button.addEventListener("click", function () { selectSide(button.getAttribute("data-mbp-side")); });
    });
    state.panel = panel;
    fillLegsGrid();
    return panel;
  }

  function createModal() {
    var dialog = documentObject.createElement("dialog");
    dialog.className = "mbp-modal";
    dialog.setAttribute("data-mbp-modal", "");
    dialog.setAttribute("aria-labelledby", "mbp-modal-title");
    dialog.innerHTML =
      '<div class="mbp-modal__frame">' +
        '<header class="mbp-modal__header">' +
          '<div><span>MEBLOSOFT · vzorkovník látok</span><h2 id="mbp-modal-title">Vyberte poťahovú látku</h2><p>Všetky látky Meblosoft sú v 3. cenovej skupine.</p></div>' +
          '<button type="button" class="mbp-modal__close" data-mbp-close aria-label="Zavrieť výber látky">' +
            '<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M6 6l12 12M18 6 6 18"></path></svg>' +
          '</button>' +
        '</header>' +
        '<div class="mbp-modal__filters">' +
          '<label class="mbp-filter-search"><span>Hľadať látku</span><input type="search" data-mbp-search placeholder="Názov, kolekcia alebo kód" autocomplete="off"></label>' +
          '<label><span>Kolekcia</span><select data-mbp-collection><option value="all">Všetky kolekcie</option></select></label>' +
        '</div>' +
        '<div class="mbp-modal__body">' +
          '<section class="mbp-results" aria-labelledby="mbp-results-title">' +
            '<div class="mbp-results__head"><h3 id="mbp-results-title" aria-live="polite" aria-atomic="true"><strong data-mbp-result-count>0</strong> vzoriek</h3><span>' + catalog.items.length + ' látok · ' + catalog.collections.length + ' kolekcií</span></div>' +
            '<div class="mbp-grid" data-mbp-grid></div>' +
            '<div class="mbp-empty" data-mbp-empty hidden><strong>Nenašli sa žiadne látky</strong><span>Skúste zmeniť vyhľadávanie alebo filter.</span></div>' +
          '</section>' +
          '<aside class="mbp-preview" data-mbp-preview aria-live="polite">' +
            '<button type="button" class="mbp-preview__back" data-mbp-preview-back>← Späť k vzorkám</button>' +
            '<div class="mbp-preview__empty" data-mbp-preview-empty><span aria-hidden="true">▦</span><strong>Vyberte vzorku</strong><small>Tu uvidíte detail farby a štruktúry.</small></div>' +
            '<div class="mbp-preview__content" data-mbp-preview-content hidden>' +
              '<div class="mbp-preview__image-wrap"><img src="" alt="" data-mbp-preview-image></div>' +
              '<div class="mbp-preview__copy"><span data-mbp-preview-collection></span><h3 data-mbp-preview-name></h3><p><strong data-mbp-preview-group></strong></p><button type="button" data-mbp-confirm>Vybrať túto látku</button></div>' +
            '</div>' +
          '</aside>' +
        '</div>' +
      '</div>';

    catalog.collections.slice().sort(function (a, b) { return collator.compare(a.name, b.name); }).forEach(function (collection) {
      var option = documentObject.createElement("option");
      option.value = collection.slug;
      option.textContent = collection.name;
      dialog.querySelector("[data-mbp-collection]").appendChild(option);
    });

    dialog.querySelector("[data-mbp-close]").addEventListener("click", closeModal);
    dialog.querySelector("[data-mbp-preview-back]").addEventListener("click", function () {
      dialog.classList.remove("is-previewing");
    });
    dialog.querySelector("[data-mbp-confirm]").addEventListener("click", confirmCandidate);
    dialog.querySelector("[data-mbp-search]").addEventListener("input", scheduleGridRender);
    dialog.querySelector("[data-mbp-collection]").addEventListener("change", renderGrid);
    var groupFilter = dialog.querySelector("[data-mbp-group]");
    if (groupFilter) groupFilter.addEventListener("change", renderGrid);
    dialog.addEventListener("click", function (event) {
      if (event.target === dialog) closeModal();
    });
    dialog.addEventListener("cancel", function (event) {
      event.preventDefault();
      closeModal();
    });

    documentObject.body.appendChild(dialog);
    state.modal = dialog;
    renderGrid();
    return dialog;
  }

  function scheduleGridRender() {
    globalObject.clearTimeout(state.renderTimer);
    state.renderTimer = globalObject.setTimeout(renderGrid, 80);
  }

  function filteredFabrics() {
    var modal = state.modal;
    var query = normalize(modal.querySelector("[data-mbp-search]").value);
    var collection = modal.querySelector("[data-mbp-collection]").value;
    var groupSelect = modal.querySelector("[data-mbp-group]");
    var group = groupSelect ? groupSelect.value : "all";

    return catalog.items.filter(function (fabric) {
      if (collection !== "all" && fabric.collectionSlug !== collection) return false;
      if (group !== "all" && String(fabric.priceGroup) !== group) return false;
      if (!query) return true;
      return normalize(fabric.name + " " + fabric.collection + " " + fabric.code).indexOf(query) !== -1;
    });
  }

  function renderGrid() {
    if (!state.modal || !catalog || !catalog.items) return;
    var fabrics = filteredFabrics();
    var grid = state.modal.querySelector("[data-mbp-grid]");
    var empty = state.modal.querySelector("[data-mbp-empty]");
    var count = state.modal.querySelector("[data-mbp-result-count]");
    var fragment = documentObject.createDocumentFragment();
    var fabricsByCollection = Object.create(null);

    fabrics.forEach(function (fabric) {
      if (!fabricsByCollection[fabric.collectionSlug]) fabricsByCollection[fabric.collectionSlug] = [];
      fabricsByCollection[fabric.collectionSlug].push(fabric);
    });

    function chip(text, feature) {
      var element = documentObject.createElement("span");
      element.className = "mbp-collection__chip" + (feature ? " is-feature" : "");
      element.textContent = text;
      return element;
    }

    function swatch(fabric) {
      var button = documentObject.createElement("button");
      button.type = "button";
      button.className = "mbp-swatch";
      button.setAttribute("data-mbp-fabric-id", fabric.id);
      button.setAttribute("aria-label", fabric.name + ", kolekcia " + fabric.collection + ", cenová skupina " + fabric.priceGroup);
      button.setAttribute("aria-pressed", state.selectedFabric && state.selectedFabric.id === fabric.id ? "true" : "false");
      if (state.selectedFabric && state.selectedFabric.id === fabric.id) button.classList.add("is-selected");

      var image = documentObject.createElement("img");
      image.src = assetUrl(fabric.thumbUrl);
      image.alt = "";
      image.loading = "lazy";
      image.width = 100;
      image.height = 120;

      var caption = documentObject.createElement("span");
      caption.className = "mbp-swatch__caption";
      var captionName = documentObject.createElement("strong");
      captionName.textContent = fabric.name;
      var captionGroup = documentObject.createElement("small");
      captionGroup.textContent = "3. skupina";
      caption.appendChild(captionName);
      caption.appendChild(captionGroup);
      button.appendChild(image);
      button.appendChild(caption);
      button.addEventListener("click", function () { previewFabric(fabric); });
      return button;
    }

    catalog.collections.forEach(function (collection) {
      var collectionFabrics = fabricsByCollection[collection.slug];
      if (!collectionFabrics || !collectionFabrics.length) return;

      var section = documentObject.createElement("section");
      section.className = "mbp-collection";
      section.setAttribute("data-mbp-collection-section", collection.slug);
      var header = documentObject.createElement("header");
      header.className = "mbp-collection__header";
      var titleRow = documentObject.createElement("div");
      titleRow.className = "mbp-collection__title";
      var title = documentObject.createElement("h4");
      title.textContent = collection.name;
      var groupBadge = documentObject.createElement("span");
      groupBadge.textContent = "3. cenová skupina";
      titleRow.appendChild(title);
      titleRow.appendChild(groupBadge);

      var chips = documentObject.createElement("div");
      chips.className = "mbp-collection__chips";
      if (collection.composition) chips.appendChild(chip("Zloženie: " + collection.composition));
      var weightLabel = "Gramáž: " + formatInteger(collection.weightGsm) + " g/m²";
      if (collection.weightTolerancePct) weightLabel += " (± " + collection.weightTolerancePct + " %)";
      chips.appendChild(chip(weightLabel));
      chips.appendChild(chip("Martindale: " + collection.martindaleDisplay + " cyklov"));
      (collection.features || []).forEach(function (feature) { chips.appendChild(chip(feature, true)); });
      header.appendChild(titleRow);
      header.appendChild(chips);
      if (collection.description) {
        var description = documentObject.createElement("p");
        description.textContent = collection.description;
        header.appendChild(description);
      }

      var collectionGrid = documentObject.createElement("div");
      collectionGrid.className = "mbp-collection__grid";
      collectionFabrics.forEach(function (fabric) { collectionGrid.appendChild(swatch(fabric)); });
      section.appendChild(header);
      section.appendChild(collectionGrid);
      fragment.appendChild(section);
    });

    grid.replaceChildren(fragment);
    count.textContent = String(fabrics.length);
    empty.hidden = fabrics.length !== 0;
    grid.hidden = fabrics.length === 0;
  }

  function previewFabric(fabric) {
    state.candidateFabric = fabric;
    var modal = state.modal;
    var image = modal.querySelector("[data-mbp-preview-image]");
    image.src = assetUrl(fabric.previewUrl);
    image.alt = "Detail poťahovej látky " + fabric.name;
    image.onerror = function () {
      image.onerror = null;
      image.src = assetUrl(fabric.thumbUrl);
    };
    modal.querySelector("[data-mbp-preview-collection]").textContent = "Kolekcia " + fabric.collection;
    modal.querySelector("[data-mbp-preview-name]").textContent = fabric.name;
    modal.querySelector("[data-mbp-preview-group]").textContent = "3. cenová skupina";
    modal.querySelector("[data-mbp-preview-empty]").hidden = true;
    modal.querySelector("[data-mbp-preview-content]").hidden = false;
    modal.classList.add("is-previewing");
  }

  function confirmCandidate() {
    if (!state.candidateFabric || !state.form) return;
    if (hasGroupField() && !state.groupMapping) return;
    state.selectedFabric = state.candidateFabric;
    if (hasGroupField() && !writeGroupToForm(state.form, state.selectedFabric, true)) {
      state.mappingError = "Vybranú cenovú skupinu sa nepodarilo preniesť do systémového poľa.";
      state.groupMapping = null;
      renderPanel();
      return;
    }
    if (!hasSideField() || state.selectedSide) writeConfigurationToForm(state.form, state.selectedSide, state.selectedFabric, true);
    else {
      var pendingNote = ensureNoteField(state.form);
      pendingNote.value = withoutOwnedNote(pendingNote.value);
      pendingNote.removeAttribute("data-mbp-note");
    }
    state.attemptedPurchase = false;
    renderPanel();
    renderGrid();
    closeModal();
  }

  function openModal() {
    if (!state.modal) createModal();
    state.candidateFabric = state.selectedFabric;
    if (state.selectedFabric) previewFabric(state.selectedFabric);
    if (typeof state.modal.showModal === "function") state.modal.showModal();
    else state.modal.setAttribute("open", "");
    documentObject.documentElement.classList.add("mbp-modal-open");
    globalObject.setTimeout(function () {
      var focusTarget = state.modal.querySelector("[data-mbp-search]");
      if (focusTarget) focusTarget.focus();
    }, 0);
  }

  function closeModal() {
    if (!state.modal) return;
    if (typeof state.modal.close === "function" && state.modal.open) state.modal.close();
    else state.modal.removeAttribute("open");
    state.modal.classList.remove("is-previewing");
    documentObject.documentElement.classList.remove("mbp-modal-open");
    var openButton = state.panel && state.panel.querySelector("[data-mbp-open]");
    if (openButton) openButton.focus();
  }

  function compareSameGroup() {
    if (!catalog || !catalog.items || catalog.items.length < 2) return null;
    var first = catalog.items[0];
    var second = catalog.items[1];
    var nativeSignature = "item=" + productId;
    if (hasGroupField()) {
      nativeSignature += "&" + state.groupSelect.name + "=" + state.groupMapping.optionByGroup["3"].value;
    }
    return {
      first: first,
      second: second,
      firstNativeSignature: nativeSignature,
      secondNativeSignature: nativeSignature,
      firstNote: noteSegment(state.selectedSide, first),
      secondNote: noteSegment(state.selectedSide, second)
    };
  }

  function renderDiagnostic() {
    if (!state.panel || !state.form || !state.form.hasAttribute("data-mbp-local-preview")) return;
    var details = state.panel.querySelector("[data-mbp-diagnostic]");
    var output = state.panel.querySelector("[data-mbp-diagnostic-output]");
    details.hidden = false;

    var test = compareSameGroup();
    if (!test) {
      output.textContent = "Kontrola zlúčenia v košíku čaká na katalóg látok.";
      return;
    }
    output.innerHTML =
      '<p><strong>Dve látky, jedna natívna identita:</strong> ' + test.first.name + ' a ' + test.second.name + ' sú obe v 3. cenovej skupine.</p>' +
      '<code>' + test.firstNativeSignature + '</code>' +
      '<p>Webareal dostane rovnaké systémové hodnoty a rozdielnu poznámku. Dve rôzne látky toho istého výrobku sa preto v košíku môžu zlúčiť do jedného riadka.</p>';
  }

  function renderLocalPayload(form) {
    var output = documentObject.querySelector("[data-mbp-local-payload]");
    if (!output || !guardState().valid) return;
    var params = new URLSearchParams(new FormData(form));
    params.set("method", "add");
    params.set("item", productId);
    if (hasSideField()) params.set(state.sideSelect.name, state.sideMapping.optionBySide[state.selectedSide].value);
    if (hasGroupField()) params.set(state.groupSelect.name, state.groupMapping.optionByGroup[String(state.selectedFabric.priceGroup)].value);
    if (hasLegsField() && state.selectedLeg) {
      params.set(state.legSelect.name, state.legMapping.optionByLeg[state.selectedLeg].value);
    }
    params.set(config.noteField, mergeNote(params.get(config.noteField), state.selectedSide, state.selectedFabric));
    output.textContent = Array.from(params.entries()).map(function (entry) {
      return entry[0] + " = " + entry[1];
    }).join("\n");
  }

  function stateMatchesForm(form) {
    return Boolean(
      form && state.form === form &&
      (!state.groupSelect || form.contains(state.groupSelect)) &&
      (!state.sideSelect || form.contains(state.sideSelect)) &&
      (!state.legSelect || form.contains(state.legSelect)) &&
      (!state.groupSelect || state.groupMapping) &&
      (!state.sideSelect || state.sideMapping) &&
      (!state.legSelect || state.legMapping) &&
      nativeSelectFingerprint(form) === state.nativeFingerprint
    );
  }

  function synchronizeForPurchase(form) {
    if (!form || productIdFromForm(form) !== productId) return false;
    if (!stateMatchesForm(form)) attachToForm(form);
    if (!stateMatchesForm(form)) return false;
    if (state.selectedFabric && (!hasSideField() || state.selectedSide)) {
      var note = ensureNoteField(form);
      note.value = mergeNote(note.value, state.selectedSide, state.selectedFabric);
      note.setAttribute("data-mbp-note", noteSegment(state.selectedSide, state.selectedFabric));
    }
    return true;
  }

  function blockInvalidPurchase(event, form) {
    state.attemptedPurchase = true;
    renderPanel();
    event.preventDefault();
    event.stopImmediatePropagation();
    if (state.panel) state.panel.querySelector("[data-mbp-message]").focus({ preventScroll: false });
  }

  function installDelegatedGuards() {
    documentObject.addEventListener("click", function (event) {
      var button = event.target.closest && event.target.closest("#buy_btn, input[type='submit'], button[type='submit'], [data-buy]");
      if (!button) return;
      var form = button.closest("form");
      if (!form || productIdFromForm(form) !== productId) return;
      if (!synchronizeForPurchase(form) || !guardState().valid) blockInvalidPurchase(event, form);
    }, true);

    documentObject.addEventListener("submit", function (event) {
      var form = event.target;
      if (!form || productIdFromForm(form) !== productId) return;
      if (!synchronizeForPurchase(form) || !guardState().valid) {
        blockInvalidPurchase(event, form);
        return;
      }
      writeConfigurationToForm(form, state.selectedSide, state.selectedFabric, false);
      if (form.hasAttribute("data-mbp-local-preview")) {
        event.preventDefault();
        renderLocalPayload(form);
      }
    }, true);

    documentObject.addEventListener("formdata", function (event) {
      var form = event.target;
      if (!form || productIdFromForm(form) !== productId ||
          !synchronizeForPurchase(form) || !guardState().valid) return;
      var fabric = state.selectedFabric;
      if (hasSideField()) {
        event.formData.set(state.sideSelect.name, state.sideMapping.optionBySide[state.selectedSide].value);
      }
      if (hasGroupField()) {
        event.formData.set(state.groupSelect.name, state.groupMapping.optionByGroup[String(fabric.priceGroup)].value);
      }
      if (hasLegsField() && state.selectedLeg) {
        event.formData.set(state.legSelect.name, state.legMapping.optionByLeg[state.selectedLeg].value);
      }
      event.formData.set(config.noteField, mergeNote(event.formData.get(config.noteField), state.selectedSide, fabric));
    });
  }

  function installAjaxPrefilter() {
    if (state.ajaxPrefilterInstalled) return true;
    var jquery = globalObject.jQuery;
    if (!jquery || typeof jquery.ajaxPrefilter !== "function") return false;

    jquery.ajaxPrefilter(function (options, originalOptions, request) {
      var url = String(options.url || "");
      if (url.indexOf("/wa_script/basket_ajax.php") === -1) return;
      var raw = options.data;
      if (typeof raw !== "string") raw = jquery.param(raw || {});
      var params = new URLSearchParams(raw);
      var item = params.get("item") || params.get("pid");
      if (params.get("method") !== "add" || item !== productId) return;

      var activeForm = findProductForm();
      if (!synchronizeForPurchase(activeForm)) {
        state.attemptedPurchase = true;
        renderPanel();
        request.abort("meblosoft-picker-invalid");
        return;
      }

      var guard = guardState();
      if (!guard.valid) {
        state.attemptedPurchase = true;
        renderPanel();
        request.abort("meblosoft-picker-invalid");
        return;
      }

      var fabric = state.selectedFabric;
      if (hasSideField()) {
        params.set(state.sideSelect.name, state.sideMapping.optionBySide[state.selectedSide].value);
      }
      if (hasGroupField()) {
        params.set(state.groupSelect.name, state.groupMapping.optionByGroup[String(fabric.priceGroup)].value);
      }
      if (hasLegsField() && state.selectedLeg) {
        params.set(state.legSelect.name, state.legMapping.optionByLeg[state.selectedLeg].value);
      }
      params.set(config.noteField, mergeNote(params.get(config.noteField), state.selectedSide, fabric));
      options.data = params.toString();
      writeConfigurationToForm(state.form, state.selectedSide, fabric, false);
      body.setAttribute("data-mbp-last-native-group", String(fabric.priceGroup));
      if (hasSideField()) body.setAttribute("data-mbp-last-side", state.selectedSide);
    });
    state.ajaxPrefilterInstalled = true;
    return true;
  }

  function attachToForm(form) {
    state.form = form;
    state.sideSelect = null;
    state.groupSelect = null;
    state.legSelect = null;
    state.sideMapping = null;
    state.groupMapping = null;
    state.legMapping = null;
    state.nativeFingerprint = nativeSelectFingerprint(form);
    state.mappingError = null;
    state.warnings = [];

    if (state.panel && !form.contains(state.panel)) {
      state.panel.remove();
      state.panel = null;
    }

    Array.prototype.forEach.call(form.querySelectorAll("select[name^='ciselnik']"), function (select) {
      select.classList.remove("mbp-native-control");
      select.removeAttribute("aria-hidden");
      select.removeAttribute("tabindex");
      var row = select.closest("tr");
      if (row) row.classList.remove("mbp-native-row-hidden");
    });

    try {
      var fields = discoverNativeFields(form);
      state.sideSelect = fields.sideSelect;
      state.groupSelect = fields.groupSelect;
      state.legSelect = fields.legSelect;
      state.sideMapping = fields.sideMapping;
      state.groupMapping = fields.groupMapping;
      state.legMapping = fields.legMapping;
      state.nativeFingerprint = fields.fingerprint;
      state.warnings = (state.sideMapping ? state.sideMapping.warnings : [])
        .concat(state.groupMapping ? state.groupMapping.warnings : []);
      if (state.legMapping) state.warnings = state.warnings.concat(state.legMapping.warnings);
      state.ready = !state.catalogError;
      [state.sideSelect, state.groupSelect, state.legSelect].filter(Boolean).forEach(function (select) {
        select.classList.add("mbp-native-control");
        select.setAttribute("aria-hidden", "true");
        select.setAttribute("tabindex", "-1");
      });
      if (state.sideSelect) {
        var sideRow = state.sideSelect.closest("tr");
        if (sideRow) sideRow.classList.add("mbp-native-row-hidden");
      }
      if (state.legSelect) {
        var legRow = state.legSelect.closest("tr");
        if (legRow && (!state.groupSelect || legRow !== state.groupSelect.closest("tr"))) legRow.classList.add("mbp-native-row-hidden");
      }
      markConfigLayout();

      if (hasSideField()) {
        if (!state.selectedSide) {
          state.selectedSide = state.sideMapping.sideByNativeValue[state.sideSelect.value] || null;
        }
      } else {
        state.selectedSide = null;
      }
      if (hasLegsField()) {
        if (!state.selectedLeg || !state.legMapping.optionByLeg[state.selectedLeg]) {
          state.selectedLeg = state.legMapping.legByNativeValue[state.legSelect.value] || defaultLegFromMapping(state.legMapping);
        }
      } else {
        state.selectedLeg = null;
      }
      if (state.selectedFabric && (!hasSideField() || state.selectedSide)) {
        writeConfigurationToForm(form, state.selectedSide, state.selectedFabric, false);
      } else {
        if (state.selectedSide) writeSideToForm(form, state.selectedSide, false);
        if (hasLegsField() && state.selectedLeg) writeLegToForm(form, state.selectedLeg, false);
        if (state.selectedFabric) writeGroupToForm(form, state.selectedFabric, false);
      }
    } catch (error) {
      state.mappingError = error && error.message ? error.message : "Systémové polia sa nepodarilo namapovať.";
      state.ready = false;
    }

    if (!state.panel) createPanel(form);
    else fillLegsGrid();

    if (state.sideSelect && !state.sideSelect.__mbpSideListener) {
      state.sideSelect.__mbpSideListener = true;
      state.sideSelect.setAttribute("data-mbp-listener", "true");
      state.sideSelect.addEventListener("change", function () {
        if (state.syncingNative || !state.sideMapping) return;
        state.selectedSide = state.sideMapping.sideByNativeValue[state.sideSelect.value] || null;
        var note = ensureNoteField(form);
        if (state.selectedSide && state.selectedFabric) {
          note.value = mergeNote(note.value, state.selectedSide, state.selectedFabric);
          note.setAttribute("data-mbp-note", noteSegment(state.selectedSide, state.selectedFabric));
        } else {
          note.value = withoutOwnedNote(note.value);
          note.removeAttribute("data-mbp-note");
        }
        renderPanel();
      });
    }

    if (state.legSelect && !state.legSelect.__mbpLegListener) {
      state.legSelect.__mbpLegListener = true;
      state.legSelect.setAttribute("data-mbp-listener", "true");
      state.legSelect.addEventListener("change", function () {
        if (state.syncingNative || !state.legMapping) return;
        state.selectedLeg = state.legMapping.legByNativeValue[state.legSelect.value] || null;
        var note = ensureNoteField(form);
        if (state.selectedFabric && state.selectedLeg && (!hasSideField() || state.selectedSide)) {
          note.value = mergeNote(note.value, state.selectedSide, state.selectedFabric);
          note.setAttribute("data-mbp-note", noteSegment(state.selectedSide, state.selectedFabric));
        } else if (!state.selectedLeg) {
          note.value = withoutOwnedNote(note.value);
          note.removeAttribute("data-mbp-note");
        }
        renderPanel();
      });
    }

    if (state.groupSelect && !state.groupSelect.__mbpGroupListener) {
      state.groupSelect.__mbpGroupListener = true;
      state.groupSelect.setAttribute("data-mbp-listener", "true");
      state.groupSelect.addEventListener("change", function () {
        if (state.syncingNative || !state.selectedFabric || !state.groupMapping) return;
        if (!selectedGroupIsValid()) {
          state.selectedFabric = null;
          state.candidateFabric = null;
          var note = ensureNoteField(form);
          note.value = withoutOwnedNote(note.value);
          note.removeAttribute("data-mbp-note");
        }
        renderPanel();
      });
    }

    renderPanel();
  }

  function refresh() {
    globalObject.clearTimeout(state.refreshTimer);
    state.refreshTimer = globalObject.setTimeout(function () {
      installAjaxPrefilter();
      var form = findProductForm();
      if (!form) {
        state.form = null;
        state.sideSelect = null;
        state.groupSelect = null;
        state.legSelect = null;
        state.sideMapping = null;
        state.groupMapping = null;
        state.legMapping = null;
        state.nativeFingerprint = "";
        state.mappingError = "Nákupný formulár testovacieho produktu sa nenašiel.";
        state.ready = false;
        renderPanel();
        return;
      }
      var fingerprint = nativeSelectFingerprint(form);
      if (form !== state.form || fingerprint !== state.nativeFingerprint ||
          (state.sideSelect && !form.contains(state.sideSelect)) ||
          (state.groupSelect && !form.contains(state.groupSelect)) ||
          (state.legSelect && !form.contains(state.legSelect)) ||
          !state.panel || !form.contains(state.panel)) {
        attachToForm(form);
      } else {
        renderPanel();
      }
    }, 30);
  }

  try {
    validateCatalog(catalog);
  } catch (catalogError) {
    state.catalogError = catalogError && catalogError.message ? catalogError.message : "Vzorkovník nie je platný.";
  }

  installDelegatedGuards();
  refresh();

  var ajaxAttempts = 0;
  var ajaxTimer = globalObject.setInterval(function () {
    ajaxAttempts += 1;
    if (installAjaxPrefilter() || ajaxAttempts >= 50) globalObject.clearInterval(ajaxTimer);
  }, 100);

  var observer = new MutationObserver(function (records) {
    var requiresRefresh = records.some(function (record) {
      var target = record.target && record.target.nodeType === 1 ? record.target : record.target.parentElement;
      return !target || !target.closest("[data-mbp-panel], [data-mbp-modal]");
    });
    if (requiresRefresh) refresh();
  });
  observer.observe(body, { childList: true, subtree: true });

  var publicApi = {
    refresh: refresh,
    compareSameGroup: compareSameGroup,
    selectSide: function (side) {
      if (!state.form || !state.sideMapping || !state.sideMapping.optionBySide[side]) return false;
      selectSide(side);
      return state.selectedSide === side && selectedSideIsValid();
    },
    setSidePlan: function (plan) {
      if (plan === "u" || plan === "l") {
        body.setAttribute("data-mbp-side-plan", plan);
      } else {
        body.removeAttribute("data-mbp-side-plan");
      }
      state.sidePlan = resolveSidePlan();
      applySideVisuals();
      return state.sidePlan;
    },
    selectLeg: function (leg) {
      if (!state.form || !hasLegsField() || !state.legMapping.optionByLeg[leg]) return false;
      selectLeg(leg);
      return state.selectedLeg === leg && selectedLegIsValid();
    },
    selectFabric: function (id) {
      var fabric = catalog && catalog.items && catalog.items.find(function (item) { return item.id === id; });
      if (!fabric || !state.form) return false;
      if (hasGroupField() && !state.groupMapping) return false;
      state.selectedFabric = fabric;
      state.candidateFabric = fabric;
      var written = true;
      if (hasGroupField()) written = writeGroupToForm(state.form, fabric, true);
      if (written && (!hasSideField() || state.selectedSide)) {
        written = writeConfigurationToForm(state.form, state.selectedSide, fabric, true);
      }
      if (written && hasSideField() && !state.selectedSide) {
        var pendingNote = ensureNoteField(state.form);
        pendingNote.value = withoutOwnedNote(pendingNote.value);
        pendingNote.removeAttribute("data-mbp-note");
      }
      renderPanel();
      return written;
    },
    snapshot: function () {
      var guard = guardState();
      return {
        ready: state.ready,
        valid: guard.valid,
        reasons: guard.reasons.slice(),
        catalogCount: catalog && catalog.items ? catalog.items.length : 0,
        collectionCount: catalog && catalog.collections ? catalog.collections.length : 0,
        selectedSide: state.selectedSide,
        sidePlan: state.sidePlan,
        selectedLeg: state.selectedLeg,
        hasLegs: hasLegsField(),
        hasSide: hasSideField(),
        legsCount: hasLegsField() ? state.legMapping.legs.length : 0,
        selectedFabricId: state.selectedFabric ? state.selectedFabric.id : null,
        selectedGroup: state.selectedFabric ? state.selectedFabric.priceGroup : null,
        sideFieldName: state.sideSelect ? state.sideSelect.name : null,
        sideNativeValue: state.sideSelect ? state.sideSelect.value : null,
        legFieldName: state.legSelect ? state.legSelect.name : null,
        legNativeValue: state.legSelect ? state.legSelect.value : null,
        groupFieldName: state.groupSelect ? state.groupSelect.name : null,
        groupNativeValue: state.groupSelect ? state.groupSelect.value : null,
        nativeValue: state.groupSelect ? state.groupSelect.value : null,
        note: state.form && state.form.querySelector("[name='" + config.noteField + "']") ? state.form.querySelector("[name='" + config.noteField + "']").value : null,
        mappingError: state.mappingError,
        warnings: state.warnings.slice()
      };
    }
  };

  globalObject.__MEBLOSOFT_PICKER__ = publicApi;
  globalObject.MEBLOSOFT_PICKER_DIAGNOSTICS = publicApi;
}(window));

