{"id":9727,"date":"2026-11-10T12:59:54","date_gmt":"2026-11-10T12:59:54","guid":{"rendered":"https:\/\/bihome.pl\/dobor-lampy\/"},"modified":"2026-11-10T12:59:54","modified_gmt":"2026-11-10T12:59:54","slug":"dobor-lampy","status":"publish","type":"page","link":"https:\/\/bihome.pl\/en\/dobor-lampy\/","title":{"rendered":"Dob\u00f3r lampy do pokoju"},"content":{"rendered":"<p>Wybierz pomieszczenie, metra\u017c i wysoko\u015b\u0107 sufitu \u2014 poka\u017cemy lampy z katalogu, kt\u00f3re do nich pasuj\u0105.<\/p>\n<div id=\"bdl\" class=\"bdl\" data-src=\"https:\/\/bihome.pl\/wp-content\/uploads\/bihome-tools\/lampy.json?v=1794315558\">\n<style>\n.bdl { font-family: Outfit, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif; max-width: 1200px; margin: 0 auto; color: #1e293b; }\n.bdl * { box-sizing: border-box; }\n.bdl-layout { display: grid; grid-template-columns: 310px 1fr; gap: 24px; align-items: start; margin-top: 16px; }\n@media (max-width: 900px) {\n  .bdl-layout { grid-template-columns: 1fr; gap: 20px; }\n}\n\n\/* Sidebar filtr\u00f3w - sticky *\/\n.bdl-sidebar {\n  position: -webkit-sticky;\n  position: sticky;\n  top: 24px;\n  background: #ffffff;\n  border: 1px solid #e2e8f0;\n  border-radius: 14px;\n  padding: 20px;\n  box-shadow: 0 4px 16px rgba(0,0,0,0.03);\n}\n.bdl-sb-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; padding-bottom: 10px; border-bottom: 1px solid #f1f5f9; }\n.bdl-sb-title { font-size: 15px; font-weight: 700; color: #1e293b; margin: 0; display: flex; align-items: center; gap: 8px; }\n.bdl-sb-reset { background: none; border: 0; color: #cc685c; font-size: 12px; font-weight: 600; cursor: pointer; padding: 0; text-decoration: underline; }\n\n.bdl-group { margin-bottom: 16px; }\n.bdl-group label { display: block; font-size: 12px; font-weight: 600; color: #334155; margin-bottom: 6px; }\n.bdl-val-badge { float: right; font-size: 11px; font-weight: 700; color: #cc685c; background: #fbf1ef; padding: 2px 7px; border-radius: 5px; }\n\n.bdl-select {\n  width: 100%;\n  padding: 8px 10px;\n  border: 1px solid #cbd5e1;\n  border-radius: 6px;\n  font-size: 13px;\n  font-family: inherit;\n  color: #1e293b;\n  background-color: #fff;\n}\n.bdl-select:focus { outline: none; border-color: #cc685c; }\n\n.bdl-range { width: 100%; accent-color: #cc685c; cursor: pointer; margin: 4px 0 2px; }\n.bdl-range-bounds { display: flex; justify-content: space-between; font-size: 10px; color: #94a3b8; }\n\n.bdl-type-pills { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px; margin-top: 4px; }\n.bdl-type-pill {\n  border: 1px solid #cbd5e1;\n  background: #fff;\n  border-radius: 6px;\n  padding: 6px 4px;\n  font-size: 12px;\n  font-weight: 500;\n  color: #475569;\n  cursor: pointer;\n  text-align: center;\n  transition: all .2s;\n}\n.bdl-type-pill.active { background: #cc685c; color: #fff; border-color: #cc685c; font-weight: 600; }\n\n.bdl-kpi-box {\n  background: #fbf1ef;\n  border: 1px solid #f7f6f4;\n  border-radius: 8px;\n  padding: 12px;\n  margin-top: 16px;\n}\n.bdl-kpi-title { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #cc685c; margin-bottom: 6px; }\n.bdl-kpi-row { display: flex; justify-content: space-between; font-size: 12px; padding: 3px 0; border-bottom: 1px dashed #f7f6f4; color: #475569; }\n.bdl-kpi-row:last-child { border-bottom: none; }\n.bdl-kpi-row strong { color: #1e293b; font-weight: 600; }\n\n\/* Wyniki po prawej *\/\n.bdl-results-top {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  margin-bottom: 16px;\n  padding-bottom: 10px;\n  border-bottom: 1px solid #e2e8f0;\n}\n.bdl-results-count { font-size: 14px; font-weight: 600; color: #1e293b; }\n.bdl-results-count span { color: #cc685c; }\n\n.bdl-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));\n  gap: 18px;\n}\n\n\/* ===== KARTA LAMPY \u2014 wsp\u00f3lny szkielet (F5b, 2026-11-08) =====\n   UWAGA: ten blok ma bli\u017aniaczy odpowiednik w bihome-tool-kalkulator-swiatla.php\n   (klasy .bkl-*). Ka\u017cd\u0105 zmian\u0119 wprowadzaj w OBU plikach \u2014 inaczej karty si\u0119 rozjad\u0105.\n   Zasady: packshot 1:1 (max 220px) wy\u015brodkowany, karta flex-column 100% wysoko\u015bci,\n   tre\u015b\u0107 flex:1, przyciski margin-top:auto, dolny padding 16px. *\/\n.bdl-card {\n  background: #ffffff;\n  border: 1px solid #e2e8f0;\n  border-radius: 12px;\n  overflow: hidden;\n  display: flex;\n  flex-direction: column;\n  height: 100%;\n  transition: transform .2s ease, box-shadow .2s ease, border-color .2s;\n  box-shadow: 0 2px 8px rgba(0,0,0,0.02);\n}\n.bdl-card:hover {\n  transform: translateY(-3px);\n  box-shadow: 0 10px 24px rgba(12, 64, 105, 0.08);\n  border-color: #cbd5e1;\n}\n\n\/* Packshot: kwadrat 1:1, maksymalnie 220px wysoko\u015bci, bia\u0142e t\u0142o, wy\u015brodkowany *\/\n.bdl-img-wrap {\n  flex: 0 0 auto;\n  width: 100%;\n  aspect-ratio: 1 \/ 1;\n  max-height: 220px;\n  background: #faf9f6;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  padding: 14px;\n  border-bottom: 1px solid #f1f5f9;\n}\n.bdl-img-wrap img {\n  display: block;\n  width: 100%;\n  height: 100%;\n  max-height: 100%;\n  object-fit: contain;\n  object-position: center;\n  mix-blend-mode: normal !important;\n  border-radius: 8px;\n  transition: transform .25s ease;\n}\n.bdl-card:hover .bdl-img-wrap img { transform: scale(1.04); }\n.bdl-img-ph { color: #94a3b8; font-size: 12px; }\n\n\/* Tre\u015b\u0107: wype\u0142nia reszt\u0119 karty, przyciski doci\u0105gni\u0119te do do\u0142u *\/\n.bdl-card-body {\n  flex: 1 1 auto;\n  min-height: 0;\n  padding: 14px 16px 16px;\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n}\n\n.bdl-badges-row {\n  display: flex;\n  flex-wrap: nowrap;\n  gap: 6px;\n  align-items: center;\n  min-height: 20px;\n  font-size: 11px;\n}\n.bdl-brand-badge {\n  display: inline-flex;\n  align-items: center;\n  height: 18px;\n  font-size: 11px;\n  line-height: 18px;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.04em;\n  color: #cc685c;\n  background: #fbf1ef;\n  padding: 0 6px;\n  border-radius: 4px;\n  white-space: nowrap;\n}\n.bdl-type-badge {\n  color: #64748b;\n  font-weight: 500;\n  line-height: 18px;\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n\n.bdl-card-title {\n  font-size: 13px;\n  font-weight: 600;\n  line-height: 18px;\n  min-height: 36px;\n  color: #1e293b;\n  margin: 0;\n  display: -webkit-box;\n  -webkit-line-clamp: 2;\n  -webkit-box-orient: vertical;\n  overflow: hidden;\n}\n\n.bdl-specs-compact {\n  font-size: 11px;\n  color: #64748b;\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  margin: 0;\n  line-height: 16px;\n}\n\n.bdl-why-compact {\n  font-size: 11px;\n  color: #166534;\n  background: #f0fdf4;\n  border-radius: 4px;\n  padding: 2px 6px;\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  line-height: 16px;\n}\n\n.bdl-card-actions {\n  margin-top: auto;\n  display: grid;\n  grid-template-columns: 1fr auto;\n  gap: 8px;\n  padding-top: 10px;\n  border-top: 1px solid #f1f5f9;\n}\n.bdl-btn-view,\n.bdl-btn-cmp {\n  min-height: 34px;\n  font-size: 12px;\n  font-weight: 600;\n  border-radius: 6px;\n  text-decoration: none;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  transition: background .2s, border-color .2s, color .2s;\n}\n.bdl-btn-view {\n  background: #cc685c;\n  color: #ffffff !important;\n  text-align: center;\n}\n.bdl-btn-view:hover { background: #b55347; text-decoration: none; }\n.bdl-btn-cmp {\n  background: #ffffff;\n  border: 1px solid #cbd5e1;\n  color: #475569 !important;\n  padding: 0 10px;\n}\n.bdl-btn-cmp:hover { border-color: #cc685c; color: #cc685c !important; text-decoration: none; }\n.bdl-disclaimer {\n  font-size: 12px;\n  color: #64748b;\n  margin-top: 24px;\n  padding: 12px 16px;\n  background: #f8fafc;\n  border-radius: 8px;\n  border: 1px solid #e2e8f0;\n  line-height: 1.5;\n}\n\n\/* F5b polish (audyt UX) *\/\n.bdl-specs-compact, .bdl-why-compact { font-size: 12px; line-height: 18px; }\n.bdl-type-badge { font-size: 12px; }\n.bdl-range-bounds { font-size: 11px; }\n\n.bdl-btn-view:focus-visible, .bdl-btn-cmp:focus-visible, .bdl-type-pill:focus-visible, .bdl-select:focus-visible, .bdl-range:focus-visible { outline: 2px solid #cc685c; outline-offset: 2px; }\n.bdl-select:focus { box-shadow: 0 0 0 3px rgba(138,90,43,.15); }\n@media (max-width: 900px) {\n  .bdl-sidebar { position: static; }\n  .bdl-type-pill { padding: 10px 4px; font-size: 13px; }\n  .bdl-select { padding: 11px 10px; font-size: 16px; }\n}\n@media (max-width: 520px) {\n  .bdl-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }\n  .bdl-card-body { padding: 12px 12px 16px; gap: 6px; }\n  .bdl-card-actions { grid-template-columns: 1fr; gap: 6px; }\n  .bdl-btn-cmp, .bdl-btn-view { min-height: 34px; }\n}\n<\/style>\n\n<div class=\"bdl-layout\">\n  <!-- LEWA KOLUMNA: Sticky filtry -->\n  <aside class=\"bdl-sidebar\">\n    <div class=\"bdl-sb-header\">\n      <h3 class=\"bdl-sb-title\">\n        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M4 21v-7m0-4V3m8 18v-9m0-4V3m8 18v-5m0-4V3M1 14h6m2-6h6m2 8h6\"\/><\/svg>\n        Parametry wn\u0119trza\n      <\/h3>\n      <button type=\"button\" class=\"bdl-sb-reset\" id=\"bdl-reset\">Resetuj<\/button>\n    <\/div>\n\n    <form onsubmit=\"return false\">\n      <div class=\"bdl-group\">\n        <label for=\"bdl-room\">Pomieszczenie<\/label>\n        <select id=\"bdl-room\" class=\"bdl-select\">\n          <option value=\"salon\">Salon (strefa dzienna)<\/option>\n          <option value=\"jadalnia\">Jadalnia (nad sto\u0142em)<\/option>\n          <option value=\"wyspa\">Kuchnia \/ wyspa kuchenna<\/option>\n          <option value=\"sypialnia\">Sypialnia<\/option>\n          <option value=\"biuro\">Biuro \/ gabinet<\/option>\n        <\/select>\n      <\/div>\n\n      <div class=\"bdl-group\">\n        <label for=\"bdl-m2\">\n          Powierzchnia\n          <span class=\"bdl-val-badge\" id=\"bdl-m2o\">20 m\u00b2<\/span>\n        <\/label>\n        <input type=\"range\" id=\"bdl-m2\" class=\"bdl-range\" min=\"4\" max=\"60\" step=\"1\" value=\"20\">\n        <div class=\"bdl-range-bounds\"><span>4 m\u00b2<\/span><span>60 m\u00b2<\/span><\/div>\n      <\/div>\n\n      <div class=\"bdl-group\">\n        <label for=\"bdl-h\">\n          Wysoko\u015b\u0107 sufitu\n          <span class=\"bdl-val-badge\" id=\"bdl-ho\">250 cm<\/span>\n        <\/label>\n        <input type=\"range\" id=\"bdl-h\" class=\"bdl-range\" min=\"220\" max=\"420\" step=\"5\" value=\"250\">\n        <div class=\"bdl-range-bounds\"><span>220 cm<\/span><span>420 cm<\/span><\/div>\n      <\/div>\n\n      <div class=\"bdl-group\">\n        <label for=\"bdl-mat\">Materia\u0142 \/ styl<\/label>\n        <select id=\"bdl-mat\" class=\"bdl-select\">\n          <option value=\"\">Wszystkie materia\u0142y<\/option>\n          <option value=\"szklo\">Szk\u0142o (dmuchane, dymione)<\/option>\n          <option value=\"metal\">Metal \/ aluminium \/ mosi\u0105dz<\/option>\n          <option value=\"drewno\">Drewno \/ fornir<\/option>\n          <option value=\"ceramika\">Ceramika<\/option>\n          <option value=\"tkanina\">Tkanina \/ papier \/ tektura<\/option>\n        <\/select>\n      <\/div>\n\n      <div class=\"bdl-group\">\n        <label>Typ lampy<\/label>\n        <div class=\"bdl-type-pills\" id=\"bdl-typ-group\">\n          <button type=\"button\" class=\"bdl-type-pill active\" data-typ=\"\">Wszystkie<\/button>\n          <button type=\"button\" class=\"bdl-type-pill\" data-typ=\"wis\">Wisz\u0105ce<\/button>\n          <button type=\"button\" class=\"bdl-type-pill\" data-typ=\"sci\">Kinkiety<\/button>\n          <button type=\"button\" class=\"bdl-type-pill\" data-typ=\"sto\">Sto\u0142owe<\/button>\n        <\/div>\n        <input type=\"hidden\" id=\"bdl-typ\" value=\"\">\n      <\/div>\n    <\/form>\n\n    <!-- Sticky Live Summary -->\n    <div class=\"bdl-kpi-box\">\n      <div class=\"bdl-kpi-title\">Kalkulacja o\u015bwietlenia<\/div>\n      <div class=\"bdl-kpi-row\"><span>\u015awiat\u0142o og\u00f3lne:<\/span><strong id=\"bdl-kpi-lux\">3 000 lm<\/strong><\/div>\n      <div class=\"bdl-kpi-row\"><span>\u015arednica klosza:<\/span><strong id=\"bdl-kpi-dia\">~60 cm<\/strong><\/div>\n      <div class=\"bdl-kpi-row\"><span>Prze\u015bwit od sufitu:<\/span><strong id=\"bdl-kpi-clr\">ok. 45 cm<\/strong><\/div>\n    <\/div>\n  <\/aside>\n\n  <!-- PRAWA KOLUMNA: Wyniki i karty o sta\u0142ym uk\u0142adzie -->\n  <main class=\"bdl-content\">\n    <div class=\"bdl-results-top\">\n      <div class=\"bdl-results-count\" id=\"bdl-count-text\">\n        Dopasowane lampy: <span id=\"bdl-count-num\">0<\/span>\n      <\/div>\n      <div style=\"font-size:12px; color:#64748b;\" id=\"bdl-rec-hint\">\n        Optymalne dla Twojego metra\u017cu\n      <\/div>\n    <\/div>\n\n    <div class=\"bdl-grid\" id=\"bdl-out\">\n      <!-- Karty wstrzykiwane przez JS -->\n    <\/div>\n\n    <p class=\"bdl-disclaimer\">\n      <strong>Informacja techniczna:<\/strong> Rekomendowane warto\u015bci oparte s\u0105 na normach o\u015bwietleniowych (100\u2013400 lx w zale\u017cno\u015bci od strefy roboczej) oraz optymalnych proporcjach kubatury pomieszczenia. Zakup produkt\u00f3w odbywa si\u0119 u autoryzowanych dystrybutor\u00f3w \u2014 bihome.pl pe\u0142ni funkcj\u0119 niezale\u017cnego katalogu architektonicznego.\n    <\/p>\n  <\/main>\n<\/div>\n\n<script>\n(function(){\n  var R = document.getElementById('bdl');\n  var L = [];\n  var CFG = {\n    salon: { lux: 150, typ: { wis: 1, sto: .8, sci: .7, pod: .6 }, clr: 205, name: 'salonu' },\n    jadalnia: { lux: 200, typ: { wis: 1, sto: 0, sci: .2, pod: 0 }, clr: 160, name: 'jadalni (nad st\u00f3\u0142)' },\n    wyspa: { lux: 300, typ: { wis: 1, sto: 0, sci: 0, pod: 0 }, clr: 160, name: 'wyspy kuchennej' },\n    sypialnia: { lux: 100, typ: { sci: 1, sto: 1, wis: .7, pod: .5 }, clr: 205, name: 'sypialni' },\n    biuro: { lux: 400, typ: { sto: 1, wis: .9, sci: .4, pod: .6 }, clr: 170, name: 'biura \/ gabinetu' }\n  };\n  var TN = { wis: 'Wisz\u0105ca', sci: '\u015acienna', sto: 'Sto\u0142owa', pod: 'Pod\u0142ogowa' };\n\n  function $(id){ return document.getElementById(id); }\n  function esc(s){ return String(s==null?'':s).replace(\/[&<>\"]\/g, function(c){return{'&':'&amp;','<':'&lt;','>':'&gt;','\"':'&quot;'}[c]}); }\n\n  function idealD(room, m2, t){\n    var s = Math.sqrt(m2);\n    if(room === 'wyspa') return Math.round(25 + Math.min(15, s * 2));\n    if(room === 'jadalnia') return Math.round(Math.min(75, 30 + s * 8));\n    if(t === 'wis') return Math.round(Math.min(85, 15 + s * 10));\n    return Math.round(20 + s * 2.5);\n  }\n\n  function score(p, o){\n    var c = CFG[o.room];\n    var tw = c.typ[p.t];\n    if(tw === undefined) tw = .3;\n    if(o.typ && p.t !== o.typ) return null;\n    if(tw <= 0 && !o.typ) return null;\n\n    var sc = 40 * tw, why = [];\n    if(o.mat && p.mg.indexOf(o.mat) < 0) return null;\n\n    var d = p.d || p.w;\n    var id = idealD(o.room, o.m2, p.t);\n    if(d){\n      var r = Math.abs(d - id) \/ id;\n      sc += 25 * Math.max(0, 1 - r);\n      if(r < .35) why.push('\u015arednica ' + d + ' cm pasuje do ' + o.m2 + ' m\u00b2');\n    }\n\n    if(p.t === 'wis'){\n      var lim = o.h - c.clr - 20;\n      if(p.h && p.h <= lim){ sc += 20; why.push('Mie\u015bci si\u0119 przy suficie ' + o.h + ' cm'); }\n    }\n\n    var need = o.m2 * c.lux;\n    if(p.lm){\n      sc += 12;\n      why.push(p.lm + ' lm zapewnia optymalne \u015bwiat\u0142o');\n    }\n\n    if(p.img) sc += 8;\n    if(p.pub) sc += 6;\n    return { p: p, s: sc, why: why };\n  }\n\n  function render(){\n    var o = {\n      room: $('bdl-room').value,\n      m2: +$('bdl-m2').value,\n      h: +$('bdl-h').value,\n      mat: $('bdl-mat').value,\n      typ: $('bdl-typ').value\n    };\n\n    $('bdl-m2o').textContent = o.m2 + ' m\u00b2';\n    $('bdl-ho').textContent = o.h + ' cm';\n\n    var c = CFG[o.room];\n    var needLm = o.m2 * c.lux;\n    var targetD = idealD(o.room, o.m2, o.typ || 'wis');\n    var maxCord = Math.max(0, o.h - c.clr);\n\n    $('bdl-kpi-lux').textContent = needLm.toLocaleString('pl-PL') + ' lm';\n    $('bdl-kpi-dia').textContent = '~' + targetD + ' cm';\n    $('bdl-kpi-clr').textContent = 'do ' + maxCord + ' cm';\n\n    var scored = [];\n    L.forEach(function(p){\n      var res = score(p, o);\n      if(res) scored.push(res);\n    });\n\n    scored.sort(function(a, b){ return b.s - a.s; });\n\n    var out = [], seen = {};\n    for(var i = 0; i < scored.length; i++){\n      var k = scored[i].p.s || scored[i].p.n;\n      var q = seen[k] || 0;\n      if(q >= 2) continue;\n      seen[k] = q + 1;\n      out.push(scored[i]);\n    }\n\n    $('bdl-count-num').textContent = scored.length;\n\n    var grid = $('bdl-out');\n    grid.innerHTML = '';\n    var oldMore = $('bdl-more'); if(oldMore) oldMore.remove();\n\n    if(!out.length){\n      grid.innerHTML = '<div style=\"grid-column: 1\/-1; padding: 40px; text-align: center; background: #fff; border: 1px dashed #cbd5e1; border-radius: 12px; color: #64748b;\">Brak lamp spe\u0142niaj\u0105cych te kryteria. Spr\u00f3buj zmieni\u0107 materia\u0142 lub wybra\u0107 dowolny typ.<\/div>';\n      return;\n    }\n\n    function renderCard(r){\n      var p = r.p;\n      var card = document.createElement('div');\n      card.className = 'bdl-card';\n\n      var specs = [];\n      if(p.d) specs.push('\u015br. ' + p.d + ' cm');\n      else if(p.w) specs.push('szer. ' + p.w + ' cm');\n      if(p.h) specs.push('wys. ' + p.h + ' cm');\n      if(p.lm) specs.push(p.lm + ' lm');\n      if(p.g) specs.push(p.g);\n\n      var whyText = r.why.length ? ('\u2713 ' + r.why[0]) : ('\u2713 Rekomendacja do ' + o.m2 + ' m\u00b2');\n\n      card.innerHTML = \n        '<div class=\"bdl-img-wrap\">' +\n          (p.img ? '<img decoding=\"async\" loading=\"lazy\" src=\"' + esc(p.img) + '\" alt=\"' + esc(p.n) + '\">' : '<div class=\"bdl-img-ph\">Brak zdj\u0119cia<\/div>') +\n        '<\/div>' +\n        '<div class=\"bdl-card-body\">' +\n          '<div class=\"bdl-badges-row\">' +\n            (p.m ? '<span class=\"bdl-brand-badge\">' + esc(p.m) + '<\/span>' : '') +\n            '<span class=\"bdl-type-badge\">' + esc(TN[p.t] || p.t) + '<\/span>' +\n          '<\/div>' +\n          '<h4 class=\"bdl-card-title\">' + esc(p.n) + '<\/h4>' +\n          '<p class=\"bdl-specs-compact\">' + esc(specs.join(' \u00b7 ') || 'Wymiary standardowe') + '<\/p>' +\n          '<div class=\"bdl-why-compact\">' + esc(whyText) + '<\/div>' +\n          '<div class=\"bdl-card-actions\">' +\n            '<a href=\"' + esc(p.u) + '\" class=\"bdl-btn-view\">' + (p.pub ? 'Karta produktu' : 'Zobacz model') + '<\/a>' +\n            '<a href=\"\/porownywarka\/?porownaj=' + esc(p.i || '') + '\" class=\"bdl-btn-cmp\">Por\u00f3wnaj<\/a>' +\n          '<\/div>' +\n        '<\/div>';\n\n      grid.appendChild(card);\n    }\n\n    var STEP = 12, shown = 0;\n    var more = document.createElement('button');\n    more.id = 'bdl-more'; more.type = 'button';\n    more.style.cssText = 'display:block;margin:24px auto 0;padding:14px 28px;background:#cc685c;color:#fff;border:0;border-radius:999px;font-weight:700;font-size:15px;cursor:pointer;';\n    more.onmouseover = function(){ more.style.background = '#b55347'; };\n    more.onmouseout = function(){ more.style.background = '#cc685c'; };\n    function showMore(){\n      out.slice(shown, shown + STEP).forEach(renderCard);\n      shown = Math.min(out.length, shown + STEP);\n      var left = out.length - shown;\n      if(left > 0){ more.textContent = 'Poka\u017c kolejne ' + Math.min(STEP, left) + ' lamp (' + shown + ' z ' + out.length + ')'; }\n      else { more.style.display = 'none'; }\n    }\n    grid.parentNode.insertBefore(more, grid.nextSibling);\n    more.addEventListener('click', showMore);\n    showMore();\n  }\n\n  var typeGroup = $('bdl-typ-group');\n  if(typeGroup){\n    typeGroup.addEventListener('click', function(e){\n      var btn = e.target.closest('.bdl-type-pill');\n      if(!btn) return;\n      typeGroup.querySelectorAll('.bdl-type-pill').forEach(function(p){ p.classList.remove('active'); });\n      btn.classList.add('active');\n      $('bdl-typ').value = btn.getAttribute('data-typ');\n      render();\n    });\n  }\n\n  $('bdl-reset').addEventListener('click', function(){\n    $('bdl-room').value = 'salon';\n    $('bdl-m2').value = 20;\n    $('bdl-h').value = 250;\n    $('bdl-mat').value = '';\n    $('bdl-typ').value = '';\n    typeGroup.querySelectorAll('.bdl-type-pill').forEach(function(p, idx){ if(idx === 0) p.classList.add('active'); else p.classList.remove('active'); });\n    render();\n  });\n\n  ['bdl-room', 'bdl-m2', 'bdl-h', 'bdl-mat'].forEach(function(id){\n    $(id).addEventListener('input', render);\n    $(id).addEventListener('change', render);\n  });\n\n  fetch(R.getAttribute('data-src'))\n    .then(function(r){ return r.json(); })\n    .then(function(data){\n      L = data;\n      render();\n    })\n    .catch(function(){\n      $('bdl-out').innerHTML = '<div style=\"grid-column: 1\/-1; padding: 30px; text-align: center; color: #dc2626;\">Nie uda\u0142o si\u0119 wczyta\u0107 katalogu lamp.<\/div>';\n    });\n})();\n<\/script>\n<\/div>\n\t<div class=\"bnl\" id=\"bnl1\" data-source=\"narzedzie:dobor-lampy\" data-api=\"https:\/\/bihome.pl\/en\/wp-json\/bihome\/v1\/newsletter\">\n<style>\n.bnl{max-width:760px;margin:40px auto;padding:28px;background:#1e293b;color:#fff;border-radius:16px;font-family:Outfit,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,sans-serif}\n.bnl *{box-sizing:border-box}\n.bnl-t{margin:0 0 6px;font-size:22px;font-weight:700;color:#fff}\n.bnl-d{margin:0 0 16px;color:#cbd5e1;font-size:15px;line-height:1.5}\n.bnl-row{display:flex;gap:10px;flex-wrap:wrap}\n.bnl input[type=email]{flex:1 1 220px;min-height:46px;padding:0 14px;border:0;border-radius:10px;font-size:16px}\n.bnl button{min-height:46px;padding:0 22px;border:0;border-radius:10px;background:#cc685c;color:#fff;font-size:16px;font-weight:700;cursor:pointer}\n.bnl button:disabled{opacity:.6}\n.bnl-c{display:flex;gap:8px;align-items:flex-start;margin-top:12px;font-size:12.5px;line-height:1.45;color:#cbd5e1}\n.bnl-c input{margin-top:3px}\n.bnl-hp{position:absolute;left:-9999px;height:0;overflow:hidden}\n.bnl-m{margin-top:12px;font-size:15px;min-height:1px}\n.bnl-m a{color:#fff;font-weight:700}\n<\/style>\n<p class=\"bnl-t\">Katalog inspiracji o\u015bwietleniowych \u2014 za darmo (PDF)<\/p>\n<p class=\"bnl-d\">8 stron: jak dobra\u0107 lampy do salonu, jadalni, wyspy, sypialni i biura \u2014 z wymiarami i przyk\u0142adami z katalogu. Do\u0142\u0105cz do newslettera, a PDF pobierzesz od razu.<\/p>\n<form class=\"bnl-f\" novalidate>\n<div class=\"bnl-row\"><input type=\"email\" name=\"email\" placeholder=\"Tw\u00f3j adres e-mail\" aria-label=\"Adres e-mail\" required autocomplete=\"email\">\n<button type=\"submit\">Pobierz PDF<\/button><\/div>\n<div class=\"bnl-hp\" aria-hidden=\"true\"><input type=\"text\" name=\"website\" tabindex=\"-1\" autocomplete=\"off\"><\/div>\n<label class=\"bnl-c\"><input type=\"checkbox\" name=\"consent\" value=\"1\"><span>Zgadzam si\u0119 na otrzymywanie newslettera bihome.pl na podany adres. Mog\u0119 zrezygnowa\u0107 w ka\u017cdej chwili. Administratorem danych jest bihome.pl.<\/span><\/label>\n<div class=\"bnl-m\" role=\"status\" aria-live=\"polite\"><\/div>\n<\/form>\n<script>\n(function(){var R=document.getElementById(\"bnl1\"),f=R.querySelector('form'),m=R.querySelector('.bnl-m'),b=R.querySelector('button');\nf.addEventListener('submit',function(e){e.preventDefault();\nvar p={email:f.email.value.trim(),consent:f.consent.checked?1:0,website:f.website.value,source:R.getAttribute('data-source')||location.pathname};\nb.disabled=true;m.textContent='Wysy\u0142am\u2026';\nfetch(R.getAttribute('data-api'),{method:'POST',headers:{'Content-Type':'application\/json'},body:JSON.stringify(p)})\n.then(function(r){return r.json().then(function(j){return j.code?{ok:false,msg:'B\u0142\u0105d. Spr\u00f3buj ponownie.'}:j;});})\n.then(function(j){b.disabled=false;\nif(j.ok&&j.pdf){f.querySelector('.bnl-row').style.display='none';m.innerHTML='Dzi\u0119kujemy! <a href=\"'+j.pdf+'\" download>Pobierz Katalog inspiracji (PDF)<\/a>';}\nelse if(j.ok){m.textContent='Dzi\u0119kujemy!';}\nelse{m.textContent=j.msg||'B\u0142\u0105d. Spr\u00f3buj ponownie.';}})\n.catch(function(){b.disabled=false;m.textContent='Brak po\u0142\u0105czenia. Spr\u00f3buj ponownie.';});});})();\n<\/script>\n<\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>Wybierz pomieszczenie, metra\u017c i wysoko\u015b\u0107 sufitu \u2014 poka\u017cemy lampy z katalogu, kt\u00f3re do nich pasuj\u0105<\/p>","protected":false},"author":0,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_swt_meta_header_display":false,"_swt_meta_footer_display":false,"_swt_meta_site_title_display":false,"_swt_meta_sticky_header":false,"_swt_meta_transparent_header":false,"footnotes":""},"class_list":["post-9727","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/bihome.pl\/en\/wp-json\/wp\/v2\/pages\/9727","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bihome.pl\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/bihome.pl\/en\/wp-json\/wp\/v2\/types\/page"}],"replies":[{"embeddable":true,"href":"https:\/\/bihome.pl\/en\/wp-json\/wp\/v2\/comments?post=9727"}],"version-history":[{"count":0,"href":"https:\/\/bihome.pl\/en\/wp-json\/wp\/v2\/pages\/9727\/revisions"}],"wp:attachment":[{"href":"https:\/\/bihome.pl\/en\/wp-json\/wp\/v2\/media?parent=9727"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}