1import{l as E,aq as ke,j as pe,ar as Pe,as as Me,at as Ee,P as Re,au as ze,B as G,av as $e,aw as je,r as Q,ax as le,ay as qe,L as Fe,R as Ae,m as y,az as Oe,c as h,o as g,e as O,b as o,p as M,f as V,v as ue,g as Le,z as J,F as U,x as H,t as f,d as ce,k as Ne,a3 as Ve,O as Z,aA as Be,a as $,h as W,N as de,i as R,_ as Ue,a4 as Ie,ae as Te,a5 as We,S as Qe,af as He}from"#entry";import{_ as Ge}from"./WWy_r-EY.js";import{_ as Ye}from"./DJnSA2PW.js";import{F as Je}from"./DiAwE3HV.js";import{u as Ze}from"./sM5-ZMpm.js";import{u as Xe}from"./D-FiP20x.js";import{u as Ke}from"./Dfz_eyMs.js";import{u as ea}from"./B-jTRGN7.js";import{u as aa}from"./GyODDOTC.js";import"./BsqTxom4.js";import"./D-GNixRz.js";import"./UdKP_XCG.js";import"./pAYh3yWb.js";const ta={trailing:!0};function oa(e,a=25,r={}){if(r={...ta,...r},!Number.isFinite(a))throw new TypeError("Expected `wait` to be a finite number");let c,i,b=[],n,t;const _=(l,d)=>(n=sa(e,l,d),n.finally(()=>{if(n=null,r.trailing&&t&&!i){const q=_(l,t);return t=null,q}}),n),z=function(...l){return r.trailing&&(t=l),n||new Promise(d=>{const q=!i&&r.leading;clearTimeout(i),i=setTimeout(()=>{i=null;const v=r.leading?c:_(this,l);t=null;for(const w of b)w(v);b=[]},a),q?(c=_(this,l),d(c)):b.push(d)})},m=l=>{l&&(clearTimeout(l),i=null)};return z.isPending=()=>!!i,z.cancel=()=>{m(i),b=[],t=null},z.flush=()=>
1{if(m(i),!t||n)return;const l=t;return t=null,_(this,l)},z}async function sa(e,a,r){return await e.apply(a,r)}const ra=Symbol.for("nuxt:client-only");function na(...e){const a=typeof e[e.length-1]=="string"?e.pop():void 0;ia(e[0],e[1])&&e.unshift(a);let[r,c,i={}]=e,b=!1;const n=E(()=>ke(r));if(typeof n.value!="string")throw new TypeError("[nuxt] [useAsyncData] key must be a string.");if(typeof c!="function")throw new TypeError("[nuxt] [useAsyncData] handler must be a function.");const t=pe();i.server??=!0,i.default??=ua,i.getCachedData??=be,i.lazy??=!1,i.immediate??=!0,i.deep??=Pe.deep,i.dedupe??="cancel",i._functionName,t._asyncData[n.value];function _(){const v={cause:"initial",dedupe:i.dedupe};return t._asyncData[n.value]?._init||(v.cachedData=i.getCachedData(n.value,t,{cause:"initial"}),t._asyncData[n.value]=me(t,n.value,c,i,v.cachedData)),()=>t._asyncData[n.value].execute(v)}const z=_(),m=t._asyncData[n.value];m._deps++;const l=i.server!==!1&&t.payload.serverRendered;{let v=function(p){const C=t._asyncData[p];C?._deps&&(C._deps--,C._deps===0&&C?._off())};const w=Me();if(w&&l&&i.immediate&&!w.sp&&(w.sp=[]),w&&!w._nuxtOnBeforeMountCbs){w._nuxtOnBeforeMountCbs=[];const p=w._nuxtOnBeforeMountCbs;Ee(()=>{p.forEach(C=>{C()}),p.splice(0,p.length)}),Re(()=>p.splice(0,p.length))}const P=w&&(w._nuxtClientOnly||ze(ra,!1));l&&t.isHydrating&&(m.error.value||m.data.value!==void 0)?m.status.value=m.error.value?"error":"success":w&&(!P&&t.payload.serverRendered&&t.isHydrating||i.lazy)&&i.immediate?w._nuxtOnBeforeMountCbs.push(z):i.immediate&&m.status.value!=="success"&&z();const x=je(),S=G(n,(p,C)=>{if((p||C)&&p!==C){b=!0;const D=t._asyncData[C]?.data.value!==void 0,I=t._asyncDataPromises[C]!==void 0,B={cause:"initial",dedupe:i.dedupe};if(!t._asyncData[p]?._init){let A;C&&D?A=t._asyncData[C].data.value:(A=i.getCachedData(p,t,{cause:"initial"}),B.cachedData=A),t._asyncData[p]=me(t,p,c,i,A)}t._asyncData[p]._deps++,C&&v(C),(i.immediate||D||I)&&t._asyncData[p].execute(B),Oe(()=>{b=!1})}},{flush:"sync"}),j=i.watch?G(i.watch,()=>{b||m._execute({cause:"watch",dedupe:i.dedupe})}):()=>{};x&&$e(()=>{S(),j(),v(n.value)})}const d={data:X(()=>t._asyncData[n.value]?.data),pending:X(()=>t._asyncData[n.value]?.pending),status:X(()=>t._asyncData[n.value]?.status),error:X(()=>t._asyncData[n.value]?.error),refresh:(...v)=>t._asyncData[n.value]?._init?t._asyncData[n.value].execute(...v):_()(),execute:(...v)=>d.refresh(...v),clear:()=>{const v=t._asyncData[n.value];if(v?._abortController)try{v._abortController.abort(new DOMException("AsyncData aborted by user.","AbortError"))}finally{v._abortController=void 0}fe(t,n.value)}},q=Promise.resolve(t._asyncDataPromises[n.value]).then(()=>d);return Object.assign(q,d),q}function X(e){return E({get(){return e()?.value},set(a){const r=e();r&&(r.value=a)}})}function ia(e,a){return!(typeof e=="string"||typeof e=="object"&&e!==null||typeof e=="function"&&typeof a=="function")}function fe(e,a){a in e.payload.data&&(e.payload.data[a]=void 0),a in e.payload._errors&&(e.payload._errors[a]=void 0),e._asyncData[a]&&(e._asyncData[a].data.value=y(e._asyncData[a]._default()),e._asyncData[a].error.value=void 0,e._asyncData[a].status.value="idle"),a in e._asyncDataPromises&&(e._asyncDataPromises[a]=void 0)}function la(e,a){const r={};for(const c of a)r[c]=e[c];return r}function me(e,a,r,c,i){e.payload._errors[a]??=void 0;const b=c.getCachedData!==be,n=r,t=c.deep?Q:le,_=i!==void 0,z=e.hook("app:data:refresh",async l=>{(!l||l.includes(a))&&await m.execute({cause:"refresh:hook"})}),m={data:t(_?i:c.default()),pending:E(()=>m.status.value==="pending"),error:qe(e.payload._errors,a),status:le("idle"),execute:(...l)=>{const[d,q=void 0]=l,v=d&&q===void 0&&typeof d=="object"?d:{};if(e._asyncDataPromises[a]&&(v.dedupe??c.dedupe)==="defer")return e._asyncDataPromises[a];{const P="cachedData"in v?v.cachedData:c.getCachedData(a,e,{cause:v.cause??"refresh:manual"});if(P!==void 0)return e.payload.data[a]=m.data.value=P,m.error.value=void 0,m.status.value="success",Promise.resolve(P)}m._abortController&&m._abortController.abort(new DOMException("AsyncData request cancelled by deduplication","AbortError")),m._abortController=new AbortController,m.status.value="pending";const w=new Promise((P,x)=>{try{const S=v.timeout??c.timeout,j=ca([m._abortController?.signal,v?.signal],S);if(j.aborted){const p=j.reason;x(p instanceof Error?p:new DOMException(String(p??"Aborted"),"AbortError"));return}return j.addEventListener("abort",()=>{const p=j.reason;x(p instanceof Error?p:new DOMException(String(p??"Aborted"),"AbortError"))},{once:!0}),Promise.resolve(n(e,{signal:j})).then(P,x)}catch(S){x(S)}}).then(async P=>{let x=P;c.transform&&(x=await c.transform(P)),c.pick&&(x=la(x,c.pick)),e.payload.data[a]=x,m.data.value=x,m.error.value=void 0,m.status.value="success"}).catch(P=>{if(!(e._asyncDataPromises[a]&&e._asyncDataPromises[a]!==w)&&!m._abortController?.signal.aborted){if(typeof DOMException<"u"&&P instanceof DOMException&&P.n
1ame==="AbortError"){m.status.value="idle";return}m.error.value=Ae(P),m.data.value=y(c.default()),m.status.value="error"}}).finally(()=>{delete e._asyncDataPromises[a]});return e._asyncDataPromises[a]=w,e._asyncDataPromises[a]},_execute:oa((...l)=>m.execute(...l),0,{leading:!0}),_default:c.default,_deps:0,_init:!0,_hash:void 0,_off:()=>{z(),e._asyncData[a]?._init&&(e._asyncData[a]._init=!1),b||Fe(()=>{e._asyncData[a]?._init||(fe(e,a),m.execute=()=>Promise.resolve())})}};return m}const ua=()=>{},be=(e,a,r)=>{if(a.isHydrating)return a.payload.data[e];if(r.cause!=="refresh:manual"&&r.cause!=="refresh:hook")return a.static.data[e]};function ca(e,a){const r=e.filter(b=>!!b);if(typeof a=="number"&&a>=0){const b=AbortSignal.timeout?.(a);b&&r.push(b)}if(AbortSignal.any)return AbortSignal.any(r);const c=new AbortController;for(const b of r)if(b.aborted){const n=b.reason??new DOMException("Aborted","AbortError");try{c.abort(n)}catch{c.abort()}return c.signal}const i=()=>{const n=r.find(t=>t.aborted)?.reason??new DOMException("Aborted","AbortError");try{c.abort(n)}catch{c.abort()}};for(const b of r)b.addEventListener?.("abort",i,{once:!0});return c.signal}const da={key:0,class:"text-lg font-semibold text-gray-800 mb-4"},ma={class:"space-y-5"},pa={class:"grid grid-cols-2 gap-2"},fa={class:"flex items-center cursor-pointer"},ba={key:0},ga=["value"],va={key:1},ya=["value"],ha={__name:"FiltrosRepuestos",props:{variant:{type:String,default:"default"},subcategorias:{type:Array,default:()=>[]},marcasRepuestos:{type:Array,default:()=>[]},filtrosIniciales:{type:Object,default:()=>({})}},emits:["filtros-aplicados","filtros-limpios"],setup(e,{emit:a}){const r=e,c=a,i=E(()=>r.variant==="shopify"?"block text-xs font-semibold uppercase tracking-wider text-slate-500 mb-2":"block text-sm font-medium text-gray-700 mb-2"),b=E(()=>r.variant==="shopify"?"w-full px-3 py-2 border border-slate-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500/30 focus:border-blue-500 text-sm bg-white text-slate-900":"px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 text-sm"),n=E(()=>r.variant==="shopify"?"w-full px-3 py-2 border border-slate-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500/30 focus:border-blue-500 text-sm bg-white text-slate-900":"w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 text-sm"),t=Q({precioMin:r.filtrosIniciales.precioMin,precioMax:r.filtrosIniciales.precioMax,soloStock:r.filtrosIniciales.soloStock||!1,marcaRepuesto:r.filtrosIniciales.marcaRepuesto||"",subcategoria:r.filtrosIniciales.subcategoria||"",garantiaMinima:r.filtrosIniciales.garantiaMinima||"",ordenarPor:r.filtrosIniciales.ordenarPor||"relevancia"}),_=()=>{const m=Object.fromEntries(Object.entries(t.value).filter(([l,d])=>d!==""&&d!==null&&d!==void 0));c("filtros-aplicados",m)},z=()=>{t.value={precioMin:void 0,precioMax:void 0,soloStock:!1,marcaRepuesto:"",subcategoria:"",garantiaMinima:"",ordenarPor:"relevancia"},c("filtros-limpios")};return G(t,()=>{},{deep:!0}),(m,l)=>(g(),h("div",{class:M([e.variant==="shopify"?"space-y-5":"bg-white rounded-lg shadow-md p-6"])},[e.variant!=="shopify"?(g(),h("h3",da," Filtros ")):O("",!0),o("div",ma,[o("div",null,[o("label",{class:M(i.value)},"Rango de precio",2),o("div",pa,[V(o("input",{"onUpdate:modelValue":l[0]||(l[0]=d=>t.value.precioMin=d),type:"number",placeholder:"MÃnimo",class:M(b.value)},null,2),[[ue,t.value.precioMin,void 0,{number:!0}]]),V(o("input",{"onUpdate:modelValue":l[1]||(l[1]=d=>t.value.precioMax=d),type:"number",placeholder:"Máximo",class:M(b.value)},null,2),[[ue,t.value.precioMax,void 0,{number:!0}]])])]),o("div",null,[o("label",fa,[V(o("input",{"onUpdate:modelValue":l[2]||(l[2]=d=>t.value.soloStock=d),type:"checkbox",class:"rounded border-slate-300 text-blue-600 focus:ring-blue-500"},null,512),[[Le,t.value.soloStock]]),o("span",{class:M(["ml-2 text-sm",e.variant==="shopify"?"text-slate-700":"text-gray-700"])}," Solo con stock ",2)])]),e.marcasRepuestos.length?(g(),h("div",ba,[o("label",{class:M(i.value)},"Marca del repuesto",2),V(o("select",{"onUpdate:modelValue":l[3]||(l[3]=d=>t.value.marcaRepuesto=d),class:M(n.value)},[l[7]||(l[7]=o("option",{value:""},"Todas las marcas",-1)),(g(!0),h(U,null,H(e.marcasRepuestos,d=>(g(),h("option",{key:d,value:d},f(d),9,ga))),128))],2),[[J,t.value.marcaRepuesto]])])):O("",!0),e.subcategorias.length?(g(),h("div",va,[o("label",{class:M(i.value)},"SubcategorÃa",2),V(o("select",{"onUpdate:modelValue":l[4]||(l[4]=d=>t.value.subcategoria=d),class:M(n.value)},[l[8]||(l[8]=o("option",{value:""},"Todas las subcategorÃas",-1)),(g(!0),h(U,null,H(e.subcategorias,d=>(g(),h("option",{key:d,value:d},f(d.replace(/-/g," ").replace(/\b\w/g,q=>q.toUpperCase())),9,ya))),128))],2),[[J,t.value.subcategoria]])])):O("",!0),o("div",null,[o("label",{class:M(i.value)},"GarantÃa mÃnima",2),V(o("select",{"onUpdate:modelValue":l[5]||(l[5]=d=>t.value.garantiaMinima=d),class:M(n.value)},[...l[9]||(l[9]=[ce('<option value="">Cualquier garantÃa</option><option value="6">6 meses o más</option><option value="12">12 meses o más</option><option value="24">24 meses o más</option><option value="36">36 meses o más</option>',5)])],2),[[J,t.value.garantiaMinima]])]),o("div",null,[o("label",{class:M(i.value)},"Ordenar por",2),V(o("select",{"onUpdate:modelValue":l[6]||(l[6]=d=>
1t.value.ordenarPor=d),class:M(n.value)},[...l[10]||(l[10]=[ce('<option value="relevancia">Relevancia</option><option value="precio">Precio (menor a mayor)</option><option value="precio-desc">Precio (mayor a menor)</option><option value="nombre">Nombre (A-Z)</option><option value="fecha">Más recientes</option>',5)])],2),[[J,t.value.ordenarPor]])]),o("div",{class:M(["flex gap-2 pt-4",e.variant==="shopify"?"border-t border-slate-200":"border-t"])},[o("button",{type:"button",class:M(["flex-1 py-2.5 px-4 rounded-md transition-colors text-sm font-medium",e.variant==="shopify"?"bg-slate-900 text-white hover:bg-blue-700":"bg-blue-600 text-white hover:bg-blue-700"]),onClick:_}," Aplicar filtros ",2),o("button",{type:"button",class:M(["flex-1 py-2.5 px-4 rounded-md transition-colors text-sm font-medium",e.variant==="shopify"?"border border-slate-300 text-slate-700 hover:bg-slate-50":"bg-gray-500 text-white hover:bg-gray-600"]),onClick:z}," Limpiar ",2)],2)])],2))}};function ge(e){const a=[e.marca,e.modelo,e.anio].filter(Boolean);return a.length?a.join(" "):"tu vehÃculo"}function k(e){const{categoriaNombre:a}=e,r=ge(e);return[{pregunta:`¿Qué repuestos de ${a} puedo conseguir para ${r}?`,respuesta:`En AutoPiezas360 listamos ${a.toLowerCase()} compatibles con ${r}. Filtra por año, precio y stock. Si no aparece la pieza, la importamos con entrega estimada en 7 dÃas.`},{pregunta:`¿Cómo sé que un repuesto de ${a} es compatible?`,respuesta:"Verifica marca, modelo, año y código OEM cuando exista. Nuestro catálogo filtra por vehÃculo; ante duda, consulta por WhatsApp con la patente o VIN y te confirmamos la referencia correcta."},{pregunta:"¿Los repuestos son originales o alternativos?",respuesta:"Trabajamos con repuestos OEM y alternativos de primera lÃnea según disponibilidad. Ca
1da ficha indica marca del repuesto, garantÃa y stock. Priorizamos calidad equivalente a fábrica."},{pregunta:"¿Cuánto demora la entrega en Chile?",respuesta:"Con stock local despachamos a la brevedad. En importación directa el plazo estimado es de 7 dÃas hábiles a todo Chile, con seguimiento y garantÃa extendida."},{pregunta:"¿Qué garantÃa tienen los repuestos?",respuesta:"La mayorÃa incluye garantÃa del fabricante entre 6 y 36 meses según la pieza. El detalle aparece en cada producto. Compras con envÃo a todo el paÃs."}]}const xa={motor:e=>[{pregunta:"¿Qué repuestos de motor se cambian con más frecuencia?",respuesta:"Filtros, correa o cadena de distribución, bujÃas, juntas, bombas de agua, termostato y sensores. En motores con alto kilometraje también empaquetaduras, pistones y componentes de lubricación."},{pregunta:"¿Cuándo debo cambiar la correa o cadena de distribución?",respuesta:"Sigue el intervalo del manual (km o años). Una correa rota puede dañar válvulas en motores de interferencia. Revisa tensores y bomba de agua si el kit lo incluye."},...k(e).slice(2)],"freno-maza-rueda":e=>[{pregunta:"¿Cada cuánto cambiar pastillas de freno?",respuesta:"Depende del uso: en ciudad suele ser entre 30.000 y 50.000 km. Revisa espesor, ruidos y pedal esponjoso. Cambia pastillas y discos del mismo eje cuando corresponda."},{pregunta:"¿Puedo mezclar marcas de pastillas o discos?",respuesta:"Se recomienda el mismo conjunto por eje (marca y tipo). Mezclar compuestos distintos puede afectar frenado y desgaste irregular."},...k(e).slice(2)],suspension:e=>[{pregunta:"¿Cómo sé si los amortiguadores están malos?",respuesta:"Rebotes excesivos, inclinación en curvas, frenadas largas, lÃquido en el amortiguador o kilometraje alto son señales. También revisa rotulas, bujes y terminales."},{pregunta:"¿Debo cambiar amortiguadores de a pares?",respuesta:"SÃ, en el mismo eje (delantero o trasero) para mantener estabilidad y desgaste uniforme de neumáticos."},...k(e).slice(2)],electrico:e=>[{pregunta:"¿Qué piezas eléctricas fallan más a menudo?",respuesta:"BaterÃa, alternador, motor de arranque, sensores (ABS, temperatura, oxÃgeno) y fusibles. SÃntomas: no arranca, luces tenues, testigo encendido o consumo parasitario."},{pregunta:"¿Cómo elegir la baterÃa correcta?",respuesta:"Respeta amperaje (Ah), CCA y dimensiones del soporte. El manual o la baterÃa actual indican la referencia. En AutoPiezas360 filtras por marca y modelo."},...k(e).slice(2)],"calefaccion-aire-acondicionado":e=>[{pregunta:"¿Por qué el aire acondicionado no enfrÃa?",respuesta:"Causas frecuentes: gas refrigerante bajo, compresor, condensador obstruido, filtro de cabina saturado o fuga. Un diagnóstico evita cambiar piezas innecesarias."},{pregunta:"¿Cada cuánto cambiar el filtro de polen o cabina?",respuesta:"En general cada 12â24 meses o 15.000â20.000 km. En polvo o humo urbano, más seguido. Mejora aire interior y flujo del climatizador."},...k(e).slice(2)],"sistema-enfriamiento":e=>[{pregunta:"¿Qué incluye el mantenimiento del sistema de enfriamiento?",respuesta:"Revisión de nivel y estado del refrigerante, mangueras, radiador, tapa presurizada, termostato y bomba de agua. El anticongelante debe renovarse según manual."},{pregunta:"¿Termostato o bomba de agua: cuándo cambiarlos?",respuesta:"Si hay sobrecalentamiento, fugas, ruido en bomba o al cambiar distribución (muchos kits incluyen bomba). No ignores testigo de temperatura."},...k(e).slice(2)],encendido:e=>[{pregunta:"¿Cuándo cambiar bujÃas?",respuesta:"Según tipo: iridio/platino suelen durar más que cobre. SÃntomas de desgaste: fallas en ralentÃ, mayor consumo, arranque difÃcil. Revisa también cables y bobinas."},...k(e).slice(1)],"combustible-aire":e=>[{pregunta:"¿Cada cuánto cambiar filtro de aire y combustible?",respuesta:"Filtro de aire: cada 15.000â30.000 km según polvo. Filtro de combustible: intervalo del fabricante (a menudo 40.000â60.000 km). Un filtro sucio reduce rendimiento."},...k(e).slice(1)],direccion:e=>[{pregunta:"¿Qué sÃntomas indican problemas de dirección?",respuesta:"Volante duro, ruidos al girar, fuga de lÃquido hidráulico, juego en volante o desgaste irregular de neumáticos. Revisa cremallera, bomba y terminales."},...k(e).slice(1)],"tren-transmision":e=>[{pregunta:"¿Cuándo cambiar el kit de embrague?",respuesta:"Patina al acelerar, pedal duro o alto, ruidos al engranar. El kit suele incluir disco, plato y rulemán; cambia los tres juntos."},...k(e).slice(1)],"transmision-automatica":e=>[{pregunta:"¿Debo cambiar el aceite de la caja automática?",respuesta:"Muchos fabricantes indican âsell for lifeâ, pero un cambio periódico del ATF y filtro puede prolongar la vida útil. Usa fluido con especificación exacta del manual."},...k(e).slice(1)],"escapes-emisiones":e=>[{pregunta:"¿Por qué es importante el catalizador?",respuesta:"Reduce emisiones tóxicas y es exigido en revisión técnica. Robos y fallas encienden testigo; reemplazar con pieza compatible evita multas y olores."},...k(e).slice(1)],limpiaparabrisas:e=>[{pregunta:"¿Cada cuánto cambiar las escobillas?",respuesta:"Cuando dejan franjas, saltan o rechinan: normalmente cada 6â12 meses. Cambia pares delanteros para visibilidad uniforme bajo lluvia."},...k(e).slice(1)],"carroceria-ensamblaje-lampara":e=>[{pregunta:"¿Puedo pedir piezas de carrocerÃa por importación?",respuesta:"SÃ: parachoques, espejos, faros y guardafangos se importan
1según marca, modelo y año. EnvÃa fotos o código OEM para cotizar la pieza correcta."},...k(e).slice(1)],"electrico-bombilla-casquillo":e=>[{pregunta:"¿Cómo elijo la bombilla correcta para faros o intermitentes?",respuesta:"Revisa tipo de casquillo (H4, H7, PY21W, etc.) en manual o pieza vieja. LED debe cumplir normativa de homologación para uso en vÃa pública."},...k(e).slice(1)],"electrico-interruptor-rele":e=>[{pregunta:"¿Relé o interruptor: cómo diagnosticar fallas?",respuesta:"Si luces, ventilador o arranque fallan intermitente, prueba fusible, relé equivalente y continuidad. Muchos relés son plug-and-play con misma referencia."},...k(e).slice(1)]};function _a(e,a){const r=xa[e];return r?r(a):k(a)}function Ca(e,a){const r=ge(a),i={motor:"Componentes de motor, distribución, lubricación y sellado para un rendimiento confiable.","freno-maza-rueda":"Pastillas, discos, lÃquido de frenos y mazas para frenado seguro.",suspension:"Amortiguadores, rotulas, bujes y brazos para estabilidad y confort.",electrico:"Alternador, arranque, baterÃa, sensores y cableado eléctrico.","calefaccion-aire-acondicionado":"Compresor, condensador, evaporador y climatización de cabina."}[e]||`Repuestos de ${a.categoriaNombre.toLowerCase()} con importación directa.`;return`Catálogo de ${a.categoriaNombre} para ${r}. ${i} Stock en Chile o importación en 7 dÃas con garantÃa.`}const Da={class:"bg-[#f6f6f7] pt-32 pb-20 min-h-screen"},wa={class:"max-w-[1400px] mx-auto px-4 sm:px-6 pt-2"},Sa={class:"text-sm text-slate-500 mb-5 flex flex-wrap items-center gap-1","aria-label":"Breadcrumb"},ka={class:"text-slate-800"},Pa={class:"mb-8 lg:mb-10"},Ma={class:"text-[11px] font-semibold uppercase tracking-[0.2em] text-blue-700 mb-2 flex items-center gap-2"},Ea={key:1},Ra={class:"text-[1.75rem] sm:text-[2rem] font-semibold text-slate-900 tracking-tight leading-tight"},za={class:"text-slate-600 font-normal"},$a={key:0,class:"text-slate-600 font-normal"},ja={class:"mt-2 text-[15px] text-slate-600 leading-relaxed max-w-3xl"},qa={key:0,class:"mt-5 flex flex-wrap items-center gap-3"},Fa=["value"],Aa=["value"],Oa={key:0,class:"py-16 text-center"},La={key:1,class:"bg-white border border-red-200 rounded-lg px-6 py-10 text-center text-red-700"},Na={class:"lg:hidden mb-6 group"},Va={class:"flex items-center justify-between w-full bg-white border border-slate-200 rounded-md px-4 py-3 text-sm font-medium text-slate-900 cursor-pointer list-none [&::-webkit-details-marker]:hidden"},Ba={class:"flex items-center gap-2"},Ua={class:"mt-3 bg-white border border-slate-200 rounded-md p-4"},Ia={class:"flex flex-col lg:flex-row lg:items-start gap-0"},Ta={class:"hidden lg:block lg:w-[280px] flex-shrink-0 lg:pr-10 lg:border-r lg:border-slate-200/90","aria-label":"Filtros de repuestos"},Wa={class:"lg:sticky lg:top-28 lg:max-h-[calc(100vh-7.5rem)] lg:overflow-y-auto lg:pb-8"},Qa={class:"flex-1 min-w-0 lg:pl-10"},Ha={class:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-3 mb-6 pb-4 border-b border-slate-200/80"},Ga={class:"text-lg font-semibold text-slate-900"},Ya={class:"text-sm text-slate-600 mt-0.5"},Ja={key:0},Za={key:0,class:"grid grid-cols-1 sm:grid-cols-2 xl:grid-cols-3 gap-5"},Xa={key:1,class:"bg-white border border-slate-200/80 rounded-lg px-6 py-14 text-center"},Ka={class:"text-sm text-slate-600 mb-2 max-w-md mx-auto"},et={key:0},at={class:"mt-10 bg-white border border-slate-200/80 rounded-lg p-6 sm:p-8"},tt={class:"text-lg font-semibold text-slate-900 mb-3"},ot={class:"text-sm text-slate-600 space-y-3 leading-relaxed max-w-3xl"},st={key:0,class:"space-y-2"},rt={class:"space-y-2"},nt={class:"flex items-start gap-2"},it={class:"flex items-start gap-2"},_t={__name:"index",async setup(e){let a,r;const c=Ne(),i=Ve(),b=pe(),n=String(c.params.marca),t=String(c.params.modelo),_=String(c.params.categoria),{setCategoriaSEO:z,resolveMarcaLabel:m,resolveModeloLabel:l}=Ze(),{setIndexable:d}=Xe(),{setStructuredDataList:q}=Ke(),{getRepuestos:v}=ea(),{getCategoriaBySlug:w,getAñosByModelo:P}=aa(),x=m(n),S=Q(""),j=w(_),p=j?.nombre||_.charAt(0).toUpperCase()+_.slice(1),C=Q([]),D=E(()=>{const u=Ie(c.query);return u&&C.value.includes(u)?u:C.value[0]??null}),I=E(()=>Te(n,t,D.value??void 0)),B=E(()=>We(n,t,_,D.value??void 0)),A=Q({}),Y=j?.subcategorias||[],ee=E(()=>JSON.stringify(A.value)),ae=E(()=>({categoriaNombre:p,marca:x,modelo:S.value,anio:D.value})),te=E(()=>_a(_,ae.value)),K=E(()=>Ca(_,ae.value));function ve(u){return u.replace(/-/g," ").replace(/\b\w/g,s=>s.toUpperCase())}function ye(u){const s={};return u.precioMin!=null&&u.precioMin!==""&&(s.precioMin=u.precioMin),u.precioMax!=null&&u.precioMax!==""&&(s.precioMax=u.precioMax),u.soloStock&&(s.stock=!0),u.marcaRepuesto&&(s.marcaRepuesto=u.marcaRepuesto),u.subcategoria&&(s.subcategoria=u.subcategoria),u.ordenarPor==="precio"||u.ordenarPor==="precio-desc"?(s.ordenarPor="precio",u.ordenarPor==="precio-desc"&&(s.orden="desc")):u.ordenarPor==="nombre"?s.ordenarPor="nombre":u.ordenarPor==="fecha"&&(s.ordenarPor="fecha"),s}C.value=[...([a,r]=Z(()=>P(n,t)),a=await a,r(),a)].sort((u,s)=>s-u),S.value=([a,r]=Z(()=>l(n,t)),a=await a,r(),a),[a,r]=Z(()=>b.runWithContext(()=>z(n,t,_,D.value))),await a,r();const{data:he,pending:xe,error:_e}=([a,r]=Z(()=>na(()=>`repuestos-cat-${n}-${t}-${_}-${D.value??"na"}-${ee.value}`,async()=>{const u=D.value;return u?v({marca:n.toLowerCase(),modelo:t,anio:u,categoria:_.toLowerCase(),...ye(A.value),limite:100}):[]},{watch:[D,ee]})),a=await a,r(),a),L=E(()=>he.value??[]),oe=E(()=>_e.value?"No pudimos cargar los repuestos. Intenta recargar la página.":null),se=E(()=>[...new Set(L.value.map(u=>
1u.marcaRepuesto).filter(Boolean))]);function Ce(){b.runWithContext(()=>{const u=[{type:"breadcrumb",data:{breadcrumbs:[{name:"Inicio",path:"/"},{name:"Repuestos",path:"/repuestos"},{name:x,path:`/repuestos/${n}`},{name:S.value,path:I.value},{name:p,path:B.value}]}},{type:"faq",data:{faqs:te.value,url:`${Qe}${B.value}`}}];L.value.length>0&&u.unshift({type:"collection",data:{name:`Repuestos ${p} ${x} ${S.value}`,description:K.value,url:B.value,items:L.value.map(s=>({name:s.nombre,url:He({marca:s.marca,modelo:s.modelo,anio:s.año??s.anio,categoria:s.categoria,slug:s.slug,nombre:s.nombre})}))}}),q(u)})}Be(()=>{S.value&&Ce()}),G(L,u=>{d(u.length>0)},{immediate:!0}),G(D,async u=>{await b.runWithContext(()=>z(n,t,_,u))});function De(u){i.push({path:c.path,query:{...c.query,ano:u}})}const re=u=>{A.value={...A.value,...u}},ne=()=>{A.value={}},we=()=>{const u=`Hola, necesito repuesto de ${p} para ${x} ${S.value} ${D.value||""}`;window.open(`https://wa.me/56944622816?text=${encodeURIComponent(u)}`,"_blank")};return(u,s)=>{const T=Ue,N=Ge,ie=ha,Se=Ye;return g(),h("div",Da,[o("div",wa,[o("nav",Sa,[$(T,{to:"/",class:"hover:text-blue-700 hover:underline"},{default:W(()=>[...s[1]||(s[1]=[R("Inicio",-1)])]),_:1}),s[3]||(s[3]=o("span",{class:"text-slate-400","aria-hidden":"true"},"/",-1)),$(T,{to:"/repuestos",class:"hover:text-blue-700 hover:underline"},{default:W(()=>[...s[2]||(s[2]=[R("Repuestos",-1)])]),_:1}),s[4]||(s[4]=o("span",{class:"text-slate-400","aria-hidden":"true"},"/",-1)),$(T,{to:`/repuestos/${y(n)}`,class:"hover:text-blue-700 hover:underline"},{default:W(()=>[R(f(y(x)),1)]),_:1},8,["to"]),s[5]||(s[5]=o("span",{class:"text-slate-400","aria-hidden":"true"},"/",-1)),$(T,{to:I.value,class:"hover:text-blue-700 hover:underline"},{default:W(()=>[R(f(S.value),1)]),_:1},8,["to"]),s[6]||(s[6]=o("span",{class:"text-slate-400","aria-hidden":"true"},"/",-1)),o("span",ka,f(y(p)),1)]),o("header",Pa,[o("p",Ma,[y(j)?.icono?(g(),de(N,{key:0,name:y(j).icono,size:"sm",class:"text-blue-600"},null,8,["name"])):O("",!0),R(" "+f(y(x))+" "+f(S.value)+" ",1),D.value?(g(),h("span",Ea,"· "+f(D.value),1)):O("",!0)]),o("h1",Ra,[R(" Repuestos "+f(y(p))+" ",1),o("span",za,"â "+f(y(x))+" "+f(S.value),1),D.value?(g(),h("span",$a,f(D.value),1)):O("",!0)]),o("p",ja,f(K.value),1),C.value.length?(g(),h("div",qa,[s[7]||(s[7]=o("label",{for:"ano-select",class:"text-sm font-medium text-slate-700"},"Año del vehÃculo",-1)),o("select",{id:"ano-select",value:D.value,class:"text-sm border border-slate-300 rounded-md px-3 py-2 bg-white text-slate-900 min-w-[120px] focus:outline-none focus:ring-2 focus:ring-blue-500/30 focus:border-blue-500",onChange:s[0]||(s[0]=F=>De(F.target.value))},[(g(!0),h(U,null,H(C.value,F=>(g(),h("option",{key:F,value:F},f(F),9,Aa))),128))],40,Fa)])):O("",!0)]),y(xe)?(g(),h("div",Oa,[...s[8]||(s[8]=[o("div",{class:"inline-block h-10 w-10 animate-spin rounded-full border-2 border-slate-300 border-t-slate-900"},null,-1),o("p",{class:"mt-4 text-slate-500"},"Cargando repuestos...",-1)])])):oe.value?(g(),h("div",La,f(oe.value),1)):(g(),h(U,{key:2},[o("details",Na,[o("summary",Va,[o("span",Ba,[$(N,{name:"funnel",size:"sm",class:"text-slate-500"}),s[9]||(s[9]=R(" Filtros ",-1))]),s[10]||(s[10]=o("span",{class:"text-slate-400 group-open:rotate-180 transition-transform"},"â¼",-1))]),o("div",Ua,[$(ie,{variant:"shopify",subcategorias:y(Y),"marcas-repuestos":se.value,onFiltrosAplicados:re,onFiltrosLimpios:ne},null,8,["subcategorias","marcas-repuestos"])])]),o("div",Ia,[o("aside",Ta,[o("div",Wa,[s[11]||(s[11]=o("p",{class:"text-xs font-semibold uppercase tracking-wider text-slate-500 mb-5"},"Filtros",-1)),$(ie,{variant:"shopify",subcategorias:y(Y),"marcas-repuestos":se.value,onFiltrosAplicados:re,onFiltrosLimpios:ne},null,8,["subcategorias","marcas-repuestos"])])]),o("div",Qa,[o("div",Ha,[o("div",null,[o("h2",Ga,f(L.value.length)+" "+f(L.value.length===1?"repuesto":"repuestos"),1),o("p",Ya,[R(f(y(p))+" para "+f(y(x))+" "+f(S.value)+" ",1),D.value?(g(),h("span",Ja," ("+f(D.value)+")",1)):O("",!0)])])]),L.value.length>0?(g(),h("div",Za,[(g(!0),h(U,null,H(L.value,F=>(g(),de(Se,{key:F.id,repuesto:F},null,8,["repuesto"]))),128))])):(g(),h("div",Xa,[$(N,{name:"magnifying-glass",size:"xl",class:"text-slate-300 w-14 h-14 mx-auto mb-4"}),s[15]||(s[15]=o("h3",{class:"text-lg font-semibold text-slate-900 mb-2"}
1,"¿No encuentras el repuesto?",-1)),o("p",Ka,[R(" Aún no hay productos publicados en "+f(y(p))+" para tu "+f(y(x))+" "+f(S.value)+" ",1),D.value?(g(),h("span",et,f(D.value),1)):O("",!0),s[12]||(s[12]=R(". ",-1))]),s[16]||(s[16]=o("p",{class:"text-sm text-slate-500 mb-6 max-w-md mx-auto"}," Te lo conseguimos: importación directa con entrega en 7 dÃas y garantÃa extendida. ",-1)),o("button",{type:"button",class:"inline-flex items-center gap-2 bg-green-600 text-white px-6 py-3 rounded-md font-medium hover:bg-green-700 transition-colors",onClick:we},[$(N,{name:"chat-bubble",size:"sm"}),s[13]||(s[13]=R(" Consultar por WhatsApp ",-1))]),$(T,{to:I.value,class:"block mt-4 text-sm text-blue-700 hover:underline"},{default:W(()=>[...s[14]||(s[14]=[R(" Ver otras categorÃas ",-1)])]),_:1},8,["to"])])),o("section",at,[o("h2",tt,f(y(p))+" para "+f(y(x))+" "+f(S.value),1),o("div",ot,[o("p",null,f(y(j)?.descripcion||K.value),1),y(Y).length?(g(),h("ul",st,[(g(!0),h(U,null,H(y(Y).slice(0,6),F=>(g(),h("li",{key:F,class:"flex items-start gap-2"},[$(N,{name:"check-circle",size:"sm",class:"text-emerald-600 shrink-0 mt-0.5"}),R(" "+f(ve(F)),1)]))),128))])):O("",!0),o("ul",rt,[o("li",nt,[$(N,{name:"check-circle",size:"sm",class:"text-emerald-600 shrink-0 mt-0.5"}),s[17]||(s[17]=R(" Stock en Chile o importación en 7 dÃas ",-1))]),o("li",it,[$(N,{name:"check-circle",size:"sm",class:"text-emerald-600 shrink-0 mt-0.5"}),s[18]||(s[18]=R(" GarantÃa del fabricante y envÃo a todo el paÃs ",-1))])])])]),$(Je,{"id-prefix":"categoria-faq",title:`Preguntas frecuentes â ${y(p)}`,subtitle:`Dudas sobre repuestos de ${y(p).toLowerCase()} para ${y(x)} ${S.value}.`,faqs:te.value},null,8,["title","subtitle","faqs"])])])],64))])])}}};export{_t as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.