/* Progressive UX only. Never handles payment, credentials or order success. */

(()=>{'use strict';

// Keep Qukasoft as event authority. Normalize only the Meta transport format.

if(typeof window.fbq==='function'&&!window.fbq.__uykuCurrency){

 const original=window.fbq;const normalize=args=>{const a=Array.from(args),single=a[0]==='trackSingle'||a[0]==='trackSingleCustom',eventIndex=single?2:1,paramsIndex=single?3:2;if(['track','trackCustom','trackSingle','trackSingleCustom'].includes(a[0])){const p={...(a[paramsIndex]||{})};if('currency' in p||['ViewContent','AddToCart','InitiateCheckout','Purchase','ViewCart'].includes(a[eventIndex])){const raw=typeof p.currency==='object'?p.currency?.code:p.currency,code=String(raw||'TRY').trim().toUpperCase();p.currency=['TL','₺','TRY'].includes(code)?'TRY':/^[A-Z]{3}$/.test(code)?code:'TRY';}a[paramsIndex]=p;if(a[eventIndex]==='ViewCart')a[0]=single?'trackSingleCustom':'trackCustom';}return a};

 if(Array.isArray(original.queue))original.queue=original.queue.map(normalize);

 const wrapped=new Proxy(original,{apply(target,that,args){return Reflect.apply(target,that,normalize(args))}});Object.defineProperty(original,'__uykuCurrency',{value:true});window.fbq=wrapped;if(window._fbq===original)window._fbq=wrapped;

}



const $=(s,r=document)=>r.querySelector(s),$$=(s,r=document)=>[...r.querySelectorAll(s)],e=(tag,text,cls)=>{const n=document.createElement(tag);if(text)n.textContent=text;if(cls)n.className=cls;return n};

function common(){

 const check=$('#sr-exact-checkout');if(check){const stage=$('[data-step][aria-current=step]',check)?.dataset.step,heading=$('#stepHeading',check),label=stage==='3'?'Ödeme bilgilerin':stage==='2'?'Paketleme tercihin':'İletişim ve adres bilgilerin';if(heading&&heading.textContent!==label)heading.textContent=label;}

 const catalog=$('#sr-exact-collection');if(catalog){const active=$('.type-tabs [aria-pressed=true]',catalog)?.dataset.type,title=$('.adaptive-collection-intro h1',catalog),label=({cloud:'Yorgan setleri',pique:'Kapitone pikeler',cushion:'Kırlentler',seat:'Minderler',all:'Bütün desenler'})[active];if(title&&label&&title.textContent!==label)title.textContent=label;const facets=$('.collection-facets',catalog),drawer=$('#filterDialog .filter-body',catalog);if(facets&&drawer&&!drawer.contains(facets)){drawer.prepend(facets)}if(['cushion','seat'].includes(active)){const empty=$('#emptyState',catalog);if(empty){const h=$('span',empty),p=$('p',empty);if(h&&h.textContent!=='Yeni koleksiyon yakında.')h.textContent='Yeni koleksiyon yakında.';if(p&&p.textContent!=='Bu kategorinin yeni ürünleri hazırlanıyor. Yorgan ve pike desenlerini keşfedebilirsin.')p.textContent='Bu kategorinin yeni ürünleri hazırlanıyor. Yorgan ve pike desenlerini keşfedebilirsin.'}}}

 $$('a[href="/kirlent"]').forEach(a=>a.href='/arama?up_type=cushion');$$('a[href="/minder"]').forEach(a=>a.href='/arama?up_type=seat');

 const main=$('main:not([hidden])')||$('#sr-home');if(main&&!$('.r24-skip')){main.id=main.id||'main-content';const skip=e('a','İçeriğe geç','r24-skip');skip.href='#'+main.id;document.body.prepend(skip);}

 const header=$('.adaptive-site-header');if(header&&!header.dataset.r24){header.dataset.r24='1';$$('nav a',header).forEach(a=>{if(new URL(a.href,location.origin).pathname===location.pathname)a.setAttribute('aria-current','page')});const tools=$(':scope>div',header);if(tools&&!$('a[href*="favori-listem"]',tools)&&!$('#sr-exact-checkout')){const fav=e('a','♡');fav.href='/hesabim/favori-listem';fav.setAttribute('aria-label','Favorilerim');tools.prepend(fav)}

 if(!$('#sr-exact-checkout')){const trigger=e('button','⌕','r24-search-trigger');trigger.setAttribute('aria-label','Ürün ara');trigger.type='button';trigger.setAttribute('aria-haspopup','dialog');trigger.onclick=()=>search(trigger);(tools||header).append(trigger);$$('nav a',header).filter(a=>new URL(a.href,location.origin).pathname==='/arama'&&!new URL(a.href,location.origin).search).forEach(a=>a.hidden=true);}}

 const support=$('#sr-support');if(support&&!support.dataset.r24){support.dataset.r24='1';const article=$('article',support);if(article){$$('main',article).forEach(old=>{const section=e('section');section.append(...old.childNodes);old.replaceWith(section)});$$('h1',article).forEach(h=>{const h2=e('h2',h.textContent);h.replaceWith(h2)});if((location.pathname==='/iletisim'||location.pathname==='/siparis-takip')&&!article.querySelector('a[href="mailto:shop@uykuperest.online"]')){const box=e('div',null,'r24-support-contact');const title=e('strong','Birlikte çözelim.');const p=e('p','Ürün ve sipariş soruların için '),a=e('a','shop@uykuperest.online');a.href='mailto:shop@uykuperest.online';p.append(a);box.append(title,p);if(location.pathname==='/siparis-takip')box.append(e('p','Sipariş numaranı onay e-postanda bulabilirsin. Numaran yoksa siparişte kullandığın e-posta ile bize yaz.'));article.prepend(box)}if(location.pathname==='/hakkimizda'){const content=$('.p-g-mod-body',article);if(content)content.innerHTML='<h2>Deseninle kendine yer aç.</h2><p>Uykuperest, yatak üstü tekstili odanın karakterinin bir parçası olarak görür. Yorgan setleri ve pikelerimizde renkleri, desenleri ve ulaşılabilir tasarımı bir araya getiriyoruz.</p><p>Yorgan setlerimiz poli-pamuk kumaş ve silikonlu elyaf dolguyla hazırlanır. Tek kişilik setlerde bir, çift kişilik setlerde iki yastık kılıfı bulunur. Pikeler ayrı sunulur.</p><p>Yeni kırlent ve minder koleksiyonlarımız da bu dünyayı tamamlayacak. Siparişler 2–3 günde kargoya hazırlanır; teslimat ücretsizdir.</p><p><a href="/arama">Koleksiyonu keşfet ↗</a></p>';}}

 $$('form input,form textarea,form select',support).forEach((input,i)=>{if(input.type==='hidden')return;if(!input.id)input.id='support-r24-'+i;const field=input.closest('.form-group,.q-form-group,.field');const label=field?.querySelector('label');if(label)label.htmlFor=input.id;if(!input.getAttribute('aria-label')&&!label)input.setAttribute('aria-label',input.placeholder||({'email':'E-posta','order_no':'Sipariş numarası','order_code':'Sipariş numarası'}[input.name])||'Bilgi')});}

 const product=$('#sr-generic-product');if(product&&!product.dataset.r24){product.dataset.r24='1';const facts=$('.sr-verified-facts',product);if(facts){const help=e('details',null,'r24-size-help');help.innerHTML='<summary>Ölçü rehberi ＋</summary><table><thead><tr><th>Ürün</th><th>Tek kişilik</th><th>Çift kişilik</th></tr></thead><tbody><tr><td>Yorgan</td><td>160 × 220 cm</td><td>200 × 220 cm</td></tr><tr><td>Pike</td><td>170 × 220 cm</td><td>200 × 220 cm</td></tr><tr><td>Yastık kılıfı</td><td colspan="2">50 × 70 cm · yalnız yorgan setinde</td></tr></tbody></table>';facts.prepend(help)}}

 const checkout=$('#sr-exact-checkout');if(checkout&&!checkout.dataset.r24){checkout.dataset.r24='1';const header=$('.adaptive-site-header',checkout);if(header&&!$('.r24-back',header)){const back=e('a','← Sepete dön','r24-back');back.href='/sepet';header.append(back)}$$('input[type=tel]',checkout).forEach(input=>input.addEventListener('blur',()=>{let n=input.value.replace(/\D/g,'');if(n.length===12&&n.startsWith('90'))n=n.slice(2);if(n.length===11&&n.startsWith('0'))n=n.slice(1);if(n.length===10&&n[0]==='5'){input.value='0'+n;input.dispatchEvent(new Event('input',{bubbles:true}));input.dispatchEvent(new Event('change',{bubbles:true}))}}));const tc=$('[data-payment-input=tc]',checkout);if(tc&&!$('.text-danger',tc)){const detail=e('details',null,'r24-size-help');detail.append(e('summary','T.C. kimlik numarası ekle (isteğe bağlı) ＋'));tc.before(detail);detail.append(tc);}}

}

let dialog,searchSource,abort,timer,seq=0;

function search(source){searchSource=source;if(!dialog){dialog=e('dialog',null,'r24-search');dialog.setAttribute('aria-label','Ürün ara');dialog.innerHTML='<form action="/arama"><input type="search" name="k" aria-label="Ürün, desen veya renk ara" placeholder="Bir desen, ürün ya da renk…" autocomplete="off"><button type="button" aria-label="Aramayı temizle">×</button><button type="button" aria-label="Aramayı kapat">Kapat</button></form><p class="r24-search-status" role="status"></p><div class="r24-search-results"></div>';document.body.append(dialog);const input=$('input',dialog),buttons=$$('button',dialog),results=$('.r24-search-results',dialog),status=$('[role=status]',dialog);buttons[0].onclick=()=>{abort?.abort();seq++;input.value='';results.replaceChildren();status.textContent='';input.focus()};buttons[1].onclick=()=>dialog.close();dialog.addEventListener('close',()=>{abort?.abort();seq++;searchSource?.focus()});dialog.addEventListener('click',ev=>{if(ev.target===dialog){const r=dialog.getBoundingClientRect();if(ev.clientX<r.left||ev.clientX>r.right||ev.clientY<r.top||ev.clientY>r.bottom)dialog.close()}});input.oninput=()=>{clearTimeout(timer);abort?.abort();const token=++seq,query=input.value.trim();results.replaceChildren();status.textContent=query.length<2?'En az iki harf yaz.':'Ürünler getiriliyor…';if(query.length<2)return;timer=setTimeout(async()=>{abort=new AbortController();try{const u=new URL('/arama',location.origin);u.searchParams.set('k',query);const response=await fetch(u,{signal:abort.signal,credentials:'same-origin'});if(!response.ok)throw Error();const doc=new DOMParser().parseFromString(await response.text(),'text/html');if(token!==seq)return;const cards=$$('.card-product',doc).filter(c=>!/^UP-PACK|UP-HEDIYE/.test(c.dataset.upProductCode||'')).slice(0,6);for(const card of cards){const link=$('.image-wrapper a[href]',card);if(!link)continue;const url=new URL(link.getAttribute('href'),location.origin);if(url.origin!==location.origin)continue;const a=e('a');a.href=url.href;const img=e('img');img.src=$('img',card)?.getAttribute('data-src')||$('img',card)?.getAttribute('src')||'';img.alt='';const text=e('span'),title=e('b',$('.title',card)?.textContent.trim()||'Ürün'),price=e('small',$('.sale-price',card)?.textContent.trim()||'');text.append(title,price);a.append(img,text);results.append(a)}status.textContent=results.children.length?'İlgili ürünler':'Eşleşen ürün bulunamadı. Başka bir kelime deneyebilirsin.';const all=e('a','Tüm sonuçları göster ↗');all.href=u.href;results.append(all)}catch(err){if(err.name!=='AbortError'&&token===seq)status.textContent='Sonuçlar yüklenemedi. Enter ile aramaya devam edebilirsin.'}},200)}}dialog.showModal();$('input',dialog).focus()}

common();let queued=false;new MutationObserver(()=>{if(queued)return;queued=true;requestAnimationFrame(()=>{queued=false;common()})}).observe(document.body,{childList:true,subtree:true});

})();

/* R30 shared pointer/touch navigation; first tap opens, outside tap closes. */
(()=>{'use strict';if(window.__uykuTouchNavigation)return;window.__uykuTouchNavigation=true;
const style=document.createElement('style');style.textContent='.peri-nav-panel{position:fixed;z-index:10050;min-width:230px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;padding:12px;background:#fffdf9;color:#44362b;border:1px solid #d9d0c5;border-radius:16px;box-shadow:0 12px 36px #44362b22}.peri-nav-panel[hidden]{display:none!important}.peri-nav-panel a{display:flex;align-items:center;min-height:44px;padding:10px 14px;color:inherit;text-decoration:none;font-size:16px;border-radius:9px}.peri-nav-panel a:hover,.peri-nav-panel a:focus-visible{background:#eee7df;outline:2px solid #735466;outline-offset:-2px}.peri-nav-toggle{border:0;background:transparent;color:inherit;min-width:44px;min-height:44px;padding:4px;font-size:18px;cursor:pointer}.peri-nav-panel.uy-menu-inline{position:static;box-shadow:none;flex-basis:100%;margin:6px 0 12px}';document.head.append(style);
let active=null,closing,lastPointer='',serial=0;const groups=[];
function close(focus=false){clearTimeout(closing);if(!active)return;const g=active;g.pop.hidden=true;g.button.setAttribute('aria-expanded','false');active=null;if(focus)g.button.focus();}
function show(g,focus=false){if(active!==g)close();clearTimeout(closing);active=g;g.pop.hidden=false;g.button.setAttribute('aria-expanded','true');if(!g.inline){const r=g.a.getBoundingClientRect(),p=g.pop.getBoundingClientRect();g.pop.style.left=Math.max(12,Math.min(innerWidth-p.width-12,r.left))+'px';g.pop.style.top=Math.max(12,Math.min(innerHeight-p.height-12,r.bottom+8))+'px';}if(focus)g.pop.querySelector('a').focus();}
function scan(){for(const a of document.querySelectorAll('.adaptive-site-header nav a[href],.r25-menu a[href]')){let path;try{path=new URL(a.href,location.origin).pathname}catch{continue}if(!['/yorgan','/pike'].includes(path)||a.dataset.uyTouchMenu)continue;a.dataset.uyTouchMenu='1';const title=path==='/yorgan'?'Yorgan':'Pike',button=document.createElement('button'),pop=document.createElement('div'),inline=!!a.closest('dialog,.r25-menu');button.type='button';button.className='peri-nav-toggle';button.textContent='⌄';button.setAttribute('aria-label',title+' alt kategorileri');button.setAttribute('aria-expanded','false');pop.className='peri-nav-panel'+(inline?' uy-menu-inline':'');pop.id='uy-menu-sub-'+serial++;pop.hidden=true;pop.setAttribute('aria-label',title+' alt kategorileri');button.setAttribute('aria-controls',pop.id);a.after(button);for(const [label,size]of [['Tüm '+title.toLocaleLowerCase('tr')+' seçenekleri',''],['Tek kişilik','tek'],['Çift kişilik','cift']]){const l=document.createElement('a');l.textContent=label;const u=new URL(a.href,location.origin);if(size)u.searchParams.set('up_size',size);l.href=u.href;pop.append(l)}if(inline)button.after(pop);else (a.closest('.adaptive-site-header')||document.body).append(pop);const g={a,button,pop,inline};groups.push(g);
for(const target of [a,button]){target.addEventListener('pointerenter',e=>{if(e.pointerType==='mouse'&&!inline&&innerWidth>1024)show(g)});target.addEventListener('pointerleave',e=>{if(e.pointerType==='mouse'&&!inline&&innerWidth>1024)closing=setTimeout(()=>close(),280)});target.addEventListener('keydown',e=>{if(e.key==='ArrowDown'){e.preventDefault();show(g,true)}})}pop.addEventListener('pointerenter',()=>clearTimeout(closing));pop.addEventListener('pointerleave',e=>{if(e.pointerType==='mouse'&&!inline&&innerWidth>1024)closing=setTimeout(()=>close(),280)});
}}
document.addEventListener('pointerdown',e=>{lastPointer=e.pointerType;if(active&&!active.pop.contains(e.target)&&!active.a.contains(e.target)&&!active.button.contains(e.target))close()},true);
document.addEventListener('click',e=>{const g=groups.find(g=>g.button.contains(e.target)||g.a.contains(e.target));if(g){if(g.button.contains(e.target)||g.inline||lastPointer==='touch'||innerWidth<=1024){e.preventDefault();e.stopPropagation();active===g?close():show(g)}}else if(active&&!active.pop.contains(e.target))close()},true);
document.addEventListener('keydown',e=>{if(e.key==='Escape'&&active){e.preventDefault();close(true)}});document.addEventListener('peri:layer-open',()=>close());document.addEventListener('close',()=>close(),true);window.addEventListener('resize',()=>close());window.addEventListener('scroll',()=>{if(active&&!active.inline)close()},{passive:true});scan();let queued=false;new MutationObserver(()=>{if(queued)return;queued=true;requestAnimationFrame(()=>{queued=false;scan();if(active&&!active.a.isConnected)close()})}).observe(document.body,{childList:true,subtree:true});})();