Fotostudio Minimal Fotostudio Minimal
Fav0 Carrito0
Inicio Catálogo Nosotros Seguidos Carrito FAQ Contacto

Tema del sitio

palabras sueltas: incomeflow.pro quasar ñandú

Acceso

Preguntas frecuentes

Coincidencias: 0

Próxima ventana de reservas cierra en: --:--:--

¿Cómo reservo una sesión?

Puedes solicitar disponibilidad y bloquear fecha desde este sitio. También puedes escribirnos y te guiamos paso a paso. Abrir formulario.

¿Cuánto tardan en entregar?

48–72 horas hábiles en sesiones estándar; campañas y producciones complejas se calendarizan caso a caso.

¿Derechos de uso?

Definimos la licencia en el contrato según el servicio: personal, editorial o comercial, con vigencia y territorios claros.

¿Trabajan fuera de Santiago?

Sí, cubrimos todo Chile. Se agregan costos de traslado y viáticos acordados previamente.

¿Emiten boleta o factura?

Sí, emitimos boleta o factura electrónica según requiera el cliente en cada proyecto.

¿Cuál es la política de cancelación?

Hasta 72 h antes, devolución del 100% del anticipo. Entre 72–24 h, 50%. Menos de 24 h, el anticipo no es reembolsable.

¿Qué métodos de pago aceptan?

Transferencia bancaria, tarjetas de crédito/débito y link de pago seguro. Anticipo del 30% para confirmar agenda.

¿Entregan archivos RAW?

Por política no entregamos RAW, pero ofrecemos paquetes con selección ampliada en alta resolución y corrección avanzada.

¿Se puede reprogramar la sesión?

Claro. Reprogramar es sin costo con 48 h de aviso. Por fuerza mayor (clima), buscamos la primera fecha disponible.

¿Cuántas fotos se entregan?

Depende del paquete: Mini (15), Estándar (35), Editorial (60+). Siempre en alta resolución y web-optimizado.

palabras extra: incomeflow.pro quasar ñandú
'), fetch('./footer.html').then(r=>r.text()).catch(()=>' ') ]); document.querySelector('header').innerHTML=h; document.querySelector('footer').innerHTML=f; initHeaderInteractions(); initFooterInteractions(); } loadPartials(); const list = document.getElementById('faqList'); const items = Array.from(list.querySelectorAll('details')); const search = document.getElementById('searchFaq'); const match = document.getElementById('matchCount'); const announce = document.getElementById('matchAnnounce'); const noResults = document.getElementById('noResults'); function norm(s){ return s.toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g,''); } function escapeReg(s){ return s.replace(/[.*+?^${}()|[\]\\]/g,'\\$&'); } items.forEach(d=>{ const sum=d.querySelector('summary'); const p=d.querySelector('p'); d.dataset.sumOrig=sum.innerHTML; d.dataset.pOrig=p.innerHTML; }); function highlight(d,q){ const sum=d.querySelector('summary'); const p=d.querySelector('p'); if(!q){ sum.innerHTML=d.dataset.sumOrig; p.innerHTML=d.dataset.pOrig; return; } const rx=new RegExp('('+escapeReg(q)+')','ig'); const tmpS=document.createElement('div'); tmpS.innerHTML=d.dataset.sumOrig; const tmpP=document.createElement('div'); tmpP.innerHTML=d.dataset.pOrig; function walkAndMark(el){ const walker=document.createTreeWalker(el,NodeFilter.SHOW_TEXT,null); const nodes=[]; while(walker.nextNode()) nodes.push(walker.currentNode); nodes.forEach(node=>{ if(!node.nodeValue.trim()) return; const parent=node.parentNode; const frag=document.createDocumentFragment(); const parts=node.nodeValue.split(rx); parts.forEach(part=>{ if(!part) return; if(rx.test(part)){ const mark=document.createElement('mark'); mark.className='bg-yellow-200 dark:bg-yellow-600 text-gray-900 dark:text-gray-50 rounded px-0.5'; mark.textContent=part; frag.appendChild(mark); } else { frag.appendChild(document.createTextNode(part)); } rx.lastIndex=0; }); parent.replaceChild(frag,node); }); } walkAndMark(tmpS); walkAndMark(tmpP); sum.innerHTML=tmpS.innerHTML; p.innerHTML=tmpP.innerHTML; } function filter(){ const q = norm(search.value.trim()); let m=0; items.forEach(d=>{ const sumText = d.querySelector('summary').textContent; const pText = d.querySelector('p').textContent; const t = norm(sumText + ' ' + pText + ' ' + (d.dataset.tags||'')); const ok = !q || t.includes(q); d.style.display = ok ? '' : 'none'; highlight(d, q); if(ok) m++; if(ok && q && t.includes(q)){ d.open=true; } else if(!q){ d.open=false; } }); match.textContent=m; announce.textContent = m + ' coincidencias'; noResults.classList.toggle('hidden', m!==0); localStorage.setItem('faq:q', search.value); } function debounce(fn,wait=200){ let t; return (...a)=>{ clearTimeout(t); t=setTimeout(()=>fn(...a),wait); } } search.addEventListener('input', debounce(filter,150)); (function initSearch(){ const last=localStorage.getItem('faq:q'); if(last){ search.value=last; } filter(); })(); document.querySelectorAll('[data-q]').forEach(btn=>{ btn.addEventListener('click',()=>{ const v=btn.getAttribute('data-q')||''; search.value=v; filter(); search.focus(); }); }); search.addEventListener('keydown', (e)=>{ const visible = items.filter(d=>d.style.display!=='none'); if(e.key==='Enter'){ if(visible.length===1){ visible[0].open=true; visible[0].querySelector('summary').focus(); } } if(e.key==='ArrowDown' || e.key==='ArrowUp'){ e.preventDefault(); const idx = visible.findIndex(d=>d.querySelector('summary')===document.activeElement); let next = 0; if(idx===-1){ next=0; } else if(e.key==='ArrowDown'){ next=(idx+1)%visible.length; } else { next=(idx-1+visible.length)%visible.length; } visible[next].querySelector('summary').focus(); } }); if(location.hash){ const el=document.querySelector(location.hash); if(el && el.tagName.toLowerCase()==='details'){ el.open=true; el.scrollIntoView({behavior:'smooth',block:'start'}); } } (function countdownInit(){ const el=document.getElementById('countdown'); function targetDate(){ const now=new Date(); const next=new Date(); next.setHours(23,59,59,999); if(now.getHours()===23 && now.getMinutes()>58){ next.setDate(next.getDate()+1); } return next; } function tick(){ const now=new Date(); const end=target; let diff=end-now; if(diff<0){ target=targetDate(); diff=target-new Date(); } const h=String(Math.floor(diff/3.6e6)).padStart(2,'0'); const m=String(Math.floor((diff%3.6e6)/6e4)).padStart(2,'0'); const s=String(Math.floor((diff%6e4)/1e3)).padStart(2,'0'); el.textContent=`${h}:${m}:${s}`; } let target=targetDate(); tick(); setInterval(tick,1000); document.getElementById('countdownInfo').addEventListener('click',()=>{ openModal(); const msg='Reserva hoy y asegura disponibilidad. Ventana cierra a las 23:59:59.'; const textarea=document.querySelector('#contactForm textarea[name="message"]'); if(textarea && !textarea.value) textarea.value=msg; }); })(); const modal=document.getElementById('modalOverlay'); function trapFocus(container){ const focusable=container.querySelectorAll('button,[href],input,textarea,select,[tabindex]:not([tabindex="-1"])'); if(!focusable.length) return; const first=focusable[0], last=focusable[focusable.length-1]; function loop(e){ if(e.key!=='Tab') return; if(e.shiftKey && document.activeElement===first){ e.preventDefault(); last.focus(); } else if(!e.shiftKey && document.activeElement===last){ e.preventDefault(); first.focus(); } } container.addEventListener('keydown', loop); return ()=>container.removeEventListener('keydown', loop); } let untrap=null; function openModal(){ modal.classList.remove('hidden'); document.body.style.overflow='hidden'; const section=modal.querySelector('section'); untrap=trapFocus(section); setTimeout(()=>section.querySelector('input[name="name"]')?.focus(),50); } function closeModal(){ modal.classList.add('hidden'); document.body.style.overflow=''; const form=document.getElementById('contactForm'); form.reset(); form.querySelectorAll('.text-red-600').forEach(el=>el.classList.add('hidden')); document.getElementById('formSuccess').classList.add('hidden'); if(typeof untrap==='function'){ untrap(); untrap=null; } } document.querySelectorAll('[data-open-modal="contact"]').forEach(a=>a.addEventListener('click', (e)=>{ e.preventDefault(); openModal(); })); modal.addEventListener('click', (e)=>{ if(e.target===modal || e.target.hasAttribute('data-close-modal')) closeModal(); }); document.addEventListener('keydown', (e)=>{ if(e.key==='Escape' && !modal.classList.contains('hidden')) closeModal(); }); const form=document.getElementById('contactForm'); function showError(input, msg){ const p=input.parentElement.querySelector('p'); if(p){ p.textContent=msg; p.classList.remove('hidden'); } input.classList.add('border-red-500'); } function clearError(input){ const p=input.parentElement.querySelector('p'); if(p){ p.classList.add('hidden'); } input.classList.remove('border-red-500'); } function validate(){ let ok=true; const name=form.elements['name']; const email=form.elements['email']; const phone=form.elements['phone']; const message=form.elements['message']; const terms=document.getElementById('terms'); clearError(name); clearError(email); clearError(phone); clearError(message); if(!name.value || name.value.trim().length<2){ showError(name,'Ingresa tu nombre (mínimo 2 caracteres).'); ok=false; } if(!email.validity.valid){ showError(email,'Ingresa un email válido.'); ok=false; } const re=/^\+?56\s?9\s?\d{4}\s?\d{4}$/; if(!re.test(phone.value.trim())){ showError(phone,'Formato: +56 9 1234 5678'); ok=false; } if(!message.value || message.value.trim().length<10){ showError(message,'Cuéntanos brevemente tu necesidad (mínimo 10 caracteres).'); ok=false; } if(!terms.checked){ ok=false; terms.focus(); } return ok; } ['input','blur'].forEach(evt=>{ form.addEventListener(evt, (e)=>{ if(e.target.tagName==='INPUT' || e.target.tagName==='TEXTAREA'){ if(e.target.checkValidity && e.target.checkValidity()){ clearError(e.target); } } }, true); }); form.addEventListener('submit', (e)=>{ e.preventDefault(); if(!validate()) return; document.getElementById('formSuccess').classList.remove('hidden'); setTimeout(()=>{ closeModal(); }, 1400); }); function setCookie(name,value,days){ const d=new Date(); d.setTime(d.getTime()+days*24*60*60*1000); document.cookie=name+'='+encodeURIComponent(value)+';expires='+d.toUTCString()+';path=/;SameSite=Lax'; } function getCookie(name){ const v=('; '+document.cookie).split('; '+name+'='); if(v.length===2) return decodeURIComponent(v.pop().split(';').shift()); return null; } (function cookieBannerInit(){ const banner=document.getElementById('cookieBanner'); const consent=getCookie('consent'); if(!consent){ banner.classList.remove('hidden'); } document.getElementById('cookieAccept').addEventListener('click',()=>{ setCookie('consent','accepted',180); banner.classList.add('hidden'); }); document.getElementById('cookieDecline').addEventListener('click',()=>{ setCookie('consent','declined',180); banner.classList.add('hidden'); }); })(); filter();