{"id":9463,"date":"2025-09-03T13:43:51","date_gmt":"2025-09-03T11:43:51","guid":{"rendered":"https:\/\/accelcars.com\/es\/?page_id=9463"},"modified":"2025-09-09T13:29:19","modified_gmt":"2025-09-09T11:29:19","slug":"accel-cars-con-chofer","status":"publish","type":"page","link":"https:\/\/accelcars.com\/pt\/accel-cars-con-chofer\/","title":{"rendered":"ACCEL CARS CON CHOFER"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"9463\" class=\"elementor elementor-9463\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c445794 e-con-full e-flex e-con e-parent\" data-id=\"c445794\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-399988f elementor-widget elementor-widget-html\" data-id=\"399988f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!doctype html>\r\n<html lang=\"es\">\r\n<head>\r\n<meta charset=\"utf-8\"\/>\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"\/>\r\n<title>Ch\u00f3fer Privado | Accel Cars \u2014 Puntualidad, elegancia y confort<\/title>\r\n<meta name=\"description\" content=\"Ch\u00f3fer privado con Accel Cars. Servicios VIP, rutas con precio cerrado y c\u00e1lculo por distancia (1,10 \u20ac\/km). Paga online con Stripe.\"\/>\r\n<style>\r\n  .acx-driver { isolation:isolate; }\r\n  .acx-driver, .acx-driver * { box-sizing:border-box; }\r\n  .acx-driver { --brand:#7B2CBF; --brand-2:#4C1D95; --brand-3:#9D4EDD;\r\n    --ink:#16161a; --muted:#6b7280; --bg:#ffffff; --bg-soft:#fafafa;\r\n    --card:#ffffff; --border:#e5e7eb; --shadow:0 10px 30px rgba(0,0,0,.08);\r\n    --radius:18px; --maxw:1120px; --fs-hero:clamp(28px,5.5vw,50px);\r\n    --fs-h2:clamp(22px,3.2vw,28px); --fs-small:clamp(13px,1.8vw,14px);\r\n    color:var(--ink); background:#fff; line-height:1.55; font-family:ui-sans-serif,system-ui,-apple-system,\"Segoe UI\",Roboto,Helvetica,Arial;\r\n  }\r\n  .acx-driver a { color:var(--brand-2); text-decoration:none }\r\n  .acx-driver a:hover { text-decoration:underline }\r\n  .acx-container{max-width:var(--maxw);margin-inline:auto;padding:20px 16px}\r\n  @media(min-width:768px){.acx-container{padding:28px 22px}}\r\n\r\n  .acx-hero{color:#fff;overflow:hidden;background:\r\n    radial-gradient(1100px 380px at 20% -20%, var(--brand-3) 0, rgba(157,78,221,.2) 35%, transparent 60%),\r\n    linear-gradient(135deg, var(--brand) 0%, var(--brand-2) 100%);\r\n  }\r\n  .acx-hero .acx-wrap{max-width:var(--maxw);margin-inline:auto;padding:62px 16px 42px;display:flex;flex-direction:column;align-items:center;text-align:center}\r\n  .acx-badge{display:inline-flex;gap:8px;align-items:center;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);padding:8px 12px;border-radius:999px;font-size:var(--fs-small)}\r\n  .acx-pills{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:10px}\r\n  .acx-pill{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);color:#fff;padding:6px 10px;border-radius:999px;font-size:12px}\r\n  .acx-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#fff;color:var(--brand-2);padding:12px 18px;border-radius:14px;font-weight:800;box-shadow:var(--shadow);border:2px solid #ffffff40;min-height:48px;text-decoration:none}\r\n  .acx-cta .acx-dot{width:8px;height:8px;border-radius:50%;background:var(--brand)}\r\n  .acx-cta-whatsapp{display:inline-flex;align-items:center;gap:10px;background:#25D366;color:#fff;padding:12px 18px;border-radius:14px;font-weight:800;min-height:48px;text-decoration:none}\r\n\r\n  .acx-grid{display:grid;gap:16px}\r\n  .acx-cols-2{grid-template-columns:1fr}\r\n  @media(min-width:900px){.acx-cols-2{grid-template-columns:1fr 1fr}}\r\n  .acx-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);overflow:hidden}\r\n  @media(min-width:768px){.acx-card{padding:22px}}\r\n  .acx-ribbon{border-left:6px solid var(--brand)}\r\n  .acx-muted{color:var(--muted)}\r\n  .acx-field{display:flex;flex-direction:column;gap:6px}\r\n  .acx-field input,.acx-field select{padding:10px 12px;border-radius:10px;border:1px solid var(--border);font-size:16px}\r\n  .acx-note{font-size:var(--fs-small);color:var(--muted)}\r\n  .acx-breakdown{display:grid;gap:8px;margin-top:12px;background:var(--bg-soft);border:1px dashed var(--border);padding:12px;border-radius:12px}\r\n  .acx-row{display:flex;justify-content:space-between;gap:10px}\r\n  .acx-total{font-weight:900}\r\n  .acx-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}\r\n  [aria-disabled=\"true\"]{opacity:.5;pointer-events:none}\r\n\r\n  .acx-vip-grid{display:grid; gap:14px; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); align-items:stretch;}\r\n  .acx-vip-item{display:flex; flex-direction:column; align-items:center; text-align:center; gap:8px; cursor:pointer; background:#fff; border:2px solid var(--border); border-radius:14px; padding:16px; height:100%; transition:transform .12s, box-shadow .12s, border-color .12s;}\r\n  .acx-vip-item h4{margin:0; font-size:18px; line-height:1.25}\r\n  .acx-vip-item p{margin:0; color:var(--muted); font-size:var(--fs-small)}\r\n  .acx-vip-item .acx-price{font-weight:900; margin-top:auto}\r\n  .acx-vip-item:hover{transform:translateY(-1px); box-shadow:0 8px 24px rgba(0,0,0,.06)}\r\n  .acx-vip-item[aria-pressed=\"true\"]{border-color:var(--brand); box-shadow:0 0 0 2px rgba(123,44,191,.15)}\r\n<\/style>\r\n<\/head>\r\n<body>\r\n\r\n<div class=\"acx-driver\">\r\n  <header class=\"acx-hero\">\r\n    <div class=\"acx-wrap\">\r\n      <span class=\"acx-badge\">\ud83d\ude98 Accel Cars con ch\u00f3fer<\/span>\r\n      <h1 style=\"margin:12px 0 8px; font-size:var(--fs-hero)\">Puntualidad, elegancia y confort en cada trayecto<\/h1>\r\n      <p style=\"max-width:840px\">Servicios VIP, rutas con precio cerrado y c\u00e1lculo por distancia (1,10 \u20ac\/km). Paga online con Stripe y recibe confirmaci\u00f3n al instante.<\/p>\r\n      <div class=\"acx-pills\" aria-hidden=\"true\">\r\n        <span class=\"acx-pill\">Veh\u00edculos premium<\/span><span class=\"acx-pill\">Ch\u00f3fer profesional<\/span><span class=\"acx-pill\">IVA incluido<\/span>\r\n      <\/div>\r\n      <p style=\"margin-top:18px;display:flex;gap:10px;flex-wrap:wrap;justify-content:center\">\r\n        <a class=\"acx-cta\" href=\"https:\/\/accelcars.com\/es\/filtro-de-busqueda\/\"><span class=\"acx-dot\" aria-hidden=\"true\"><\/span> Ver veh\u00edculos<\/a>\r\n        <a class=\"acx-cta-whatsapp\" href=\"https:\/\/wa.me\/34618159063?text=Hola%20Accel%20Cars%2C%20quiero%20informaci%C3%B3n%20del%20servicio%20con%20ch%C3%B3fer.\" target=\"_blank\" rel=\"noopener\">\ud83d\udcac WhatsApp (+34 618 159 063)<\/a>\r\n      <\/p>\r\n    <\/div>\r\n  <\/header>\r\n\r\n  <main class=\"acx-container\">\r\n\r\n    <!-- VIP -->\r\n    <section class=\"acx-card acx-ribbon\" id=\"calc-vip\" data-endpoint=\"https:\/\/accelcars.com\/wp-json\/accel\/v2\/chofer\/create-checkout-session\">\r\n      <h2 style=\"margin:0 0 10px;font-size:var(--fs-h2)\">Servicios VIP (selecci\u00f3n r\u00e1pida)<\/h2>\r\n      <p class=\"acx-muted\" style=\"margin:0 0 8px\">Elige un servicio VIP y completa la fecha\/detalles. Precio final con IVA incluido.<\/p>\r\n      <div class=\"acx-vip-grid\" id=\"vip-grid\" role=\"group\" aria-label=\"Selecciona servicio VIP\"><\/div>\r\n      <div class=\"acx-grid acx-cols-2\" style=\"margin-top:10px\">\r\n        <div class=\"acx-field\">\r\n          <label for=\"vip-fecha\">Fecha del servicio<\/label>\r\n          <input id=\"vip-fecha\" type=\"date\"\/>\r\n          <span class=\"acx-note\">Confirmaci\u00f3n con contacto y detalles del ch\u00f3fer.<\/span>\r\n        <\/div>\r\n        <div class=\"acx-field\">\r\n          <label for=\"vip-notas\">Notas (opcional)<\/label>\r\n          <input id=\"vip-notas\" type=\"text\" placeholder=\"Punto de recogida, n\u00ba de vuelo, paradas\u2026\"\/>\r\n          <span class=\"acx-note\">A\u00f1ade informaci\u00f3n que debamos saber.<\/span>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"acx-breakdown\" aria-live=\"polite\" style=\"margin-top:10px\">\r\n        <div class=\"acx-row\"><span>Servicio<\/span><span id=\"vip-concepto\">\u2014<\/span><\/div>\r\n        <div class=\"acx-row acx-total\"><span>Total<\/span><span id=\"vip-total\">\u2014<\/span><\/div>\r\n      <\/div>\r\n      <div class=\"acx-actions\">\r\n        <a id=\"vip-pay\" class=\"acx-cta\" href=\"#\" aria-disabled=\"true\"><span class=\"acx-dot\" aria-hidden=\"true\"><\/span> Pagar ahora<\/a>\r\n        <span class=\"acx-note\" id=\"vip-note\">Elige un servicio para continuar.<\/span>\r\n      <\/div>\r\n    <\/section>\r\n\r\n    <!-- FIJOS -->\r\n    <section class=\"acx-card\" id=\"calc-fijos\" data-endpoint=\"https:\/\/accelcars.com\/wp-json\/accel\/v2\/chofer\/create-checkout-session\" style=\"margin-top:20px\">\r\n      <h2 style=\"margin:0 0 10px;font-size:var(--fs-h2)\">Servicios establecidos (precio cerrado)<\/h2>\r\n      <p class=\"acx-muted\" style=\"margin:0 0 12px\">Traslados de larga distancia desde Madrid. Precios con IVA (Berlina\/SUV).<\/p>\r\n      <div class=\"acx-grid acx-cols-2\">\r\n        <div class=\"acx-field\">\r\n          <label for=\"fijo-destino\">Destino<\/label>\r\n          <select id=\"fijo-destino\"><\/select>\r\n          <span class=\"acx-note\">Origen por defecto: Madrid. Si necesitas otro origen, ind\u00edcalo en el pago.<\/span>\r\n        <\/div>\r\n        <div class=\"acx-field\">\r\n          <label for=\"fijo-fecha\">Fecha del servicio<\/label>\r\n          <input id=\"fijo-fecha\" type=\"date\"\/>\r\n          <span class=\"acx-note\">La confirmaci\u00f3n incluir\u00e1 fecha y contacto.<\/span>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"acx-breakdown\" aria-live=\"polite\">\r\n        <div class=\"acx-row\"><span>Concepto<\/span><span id=\"fijo-concepto\">\u2014<\/span><\/div>\r\n        <div class=\"acx-row acx-total\"><span>Total<\/span><span id=\"fijo-total\">\u2014<\/span><\/div>\r\n      <\/div>\r\n      <div class=\"acx-actions\">\r\n        <a id=\"fijo-pay\" class=\"acx-cta\" href=\"#\" aria-disabled=\"true\"><span class=\"acx-dot\" aria-hidden=\"true\"><\/span> Pagar ahora<\/a>\r\n        <span class=\"acx-note\" id=\"fijo-note\">Selecciona un destino para continuar.<\/span>\r\n      <\/div>\r\n    <\/section>\r\n\r\n    <!-- PROVINCIAS \/ POR KM -->\r\n    <section class=\"acx-card\" id=\"calc-provincias\" data-endpoint=\"https:\/\/accelcars.com\/wp-json\/accel\/v2\/chofer\/create-checkout-session\" style=\"margin-top:20px\">\r\n      <h2 style=\"margin:0 0 10px;font-size:var(--fs-h2)\">Provincias y c\u00e1lculo por distancia<\/h2>\r\n      <p class=\"acx-muted\" style=\"margin:0 0 12px\">Si tu provincia no tiene tarifa fija, calcula por distancia a <strong>1,10 \u20ac\/km<\/strong> (IVA incl.).<\/p>\r\n      <div class=\"acx-grid acx-cols-2\">\r\n        <div class=\"acx-field\">\r\n          <label for=\"prov-provincia\">Provincia destino<\/label>\r\n          <select id=\"prov-provincia\"><\/select>\r\n          <span class=\"acx-note\" id=\"prov-msg\">Selecciona una provincia<\/span>\r\n        <\/div>\r\n        <div class=\"acx-field\">\r\n          <label for=\"prov-km\">Distancia estimada (km)<\/label>\r\n          <input id=\"prov-km\" type=\"number\" min=\"1\" step=\"1\" value=\"100\"\/>\r\n          <span class=\"acx-note\">Solo se usa si no hay tarifa fija. Precio por km: <strong>1,10 \u20ac<\/strong>.<\/span>\r\n        <\/div>\r\n        <div class=\"acx-field\">\r\n          <label for=\"prov-fecha\">Fecha del servicio<\/label>\r\n          <input id=\"prov-fecha\" type=\"date\"\/>\r\n          <span class=\"acx-note\">Confirmaremos disponibilidad por email\/tel\u00e9fono.<\/span>\r\n        <\/div>\r\n        <div class=\"acx-field\">\r\n          <label for=\"prov-origen\">Origen<\/label>\r\n          <input id=\"prov-origen\" type=\"text\" value=\"Madrid\" \/>\r\n          <span class=\"acx-note\">C\u00e1mbialo si tu recogida es en otra ciudad.<\/span>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"acx-breakdown\" aria-live=\"polite\" style=\"margin-top:12px\">\r\n        <div class=\"acx-row\"><span>Concepto<\/span><span id=\"prov-concepto\">\u2014<\/span><\/div>\r\n        <div class=\"acx-row\"><span>Tarifa aplicada<\/span><span id=\"prov-tarifa\">\u2014<\/span><\/div>\r\n        <div class=\"acx-row acx-total\"><span>Total<\/span><span id=\"prov-total\">\u2014<\/span><\/div>\r\n      <\/div>\r\n      <div class=\"acx-actions\">\r\n        <a id=\"prov-pay\" class=\"acx-cta\" href=\"#\" aria-disabled=\"true\"><span class=\"acx-dot\" aria-hidden=\"true\"><\/span> Pagar ahora<\/a>\r\n        <span class=\"acx-note\" id=\"prov-note\">Selecciona provincia y\/o indica kil\u00f3metros.<\/span>\r\n      <\/div>\r\n    <\/section>\r\n\r\n    <section class=\"acx-card\" style=\"margin-top:22px;text-align:center\">\r\n      <h3 style=\"margin:0 0 8px\">\u00bfDudas antes de reservar?<\/h3>\r\n      <p class=\"acx-muted\">Te atendemos por WhatsApp o tel\u00e9fono.<\/p>\r\n      <p style=\"display:flex;gap:10px;justify-content:center;flex-wrap:wrap\">\r\n        <a class=\"acx-cta\" href=\"tel:+34618159063\"><span class=\"acx-dot\" aria-hidden=\"true\"><\/span> Llamar +34 618 159 063<\/a>\r\n        <a class=\"acx-cta-whatsapp\" href=\"https:\/\/wa.me\/34618159063?text=Hola%20Accel%20Cars%2C%20quiero%20contratar%20servicio%20con%20ch%C3%B3fer.\" target=\"_blank\" rel=\"noopener\">\ud83d\udcac WhatsApp<\/a>\r\n      <\/p>\r\n    <\/section>\r\n\r\n  <\/main>\r\n<\/div>\r\n\r\n<script>\r\n(() => {\r\n  const EUR = (n)=> (isNaN(n)?0:n).toLocaleString('es-ES',{minimumFractionDigits:2,maximumFractionDigits:2}) + ' \u20ac';\r\n  async function postJSON(url, payload){\r\n    const r = await fetch(url, {method:'POST', headers:{'Content-Type':'application\/json'}, body: JSON.stringify(payload)});\r\n    let data = {}; try{ data = await r.json(); }catch(e){}\r\n    if (!r.ok || !data.url) throw new Error(data.error || 'No se pudo crear la sesi\u00f3n de pago.'); return data.url;\r\n  }\r\n\r\n  \/* VIP *\/\r\n  const VIP = [\r\n    { id:'vip_corto', name:'Trayectos Cortos VIP (1h)', price:100, desc:'Aeropuerto \u2194 hotel, eventos, restaurantes o clubs.', extra:'Duraci\u00f3n estimada: 1h' },\r\n    { id:'vip_bodas', name:'Bodas y Eventos Especiales (3h, traslados fotos)', price:250, desc:'Ceremonia, banquete y reportaje fotogr\u00e1fico.' },\r\n    { id:'vip_city', name:'City Tour Exclusivo (3\u20134h)', price:250, desc:'Madrid y alrededores. Incluye agua y gu\u00eda b\u00e1sico.' },\r\n    { id:'vip_negocios', name:'Jornada de Negocios (8h)', price:490, desc:'Ch\u00f3fer a disposici\u00f3n toda la jornada. Incluye 150 km' },\r\n    { id:'vip_aeropuerto', name:'Traslados Aeropuerto \u2013 Hotel \u2013 Congreso', price:120, desc:'Puerta a puerta desde\/hacia Barajas\/Atocha\/Chamart\u00edn.' },\r\n    { id:'vip_nocturno', name:'Conciertos, Discotecas y Fiestas Privadas (Traslado Nocturno)', price:250, desc:'Traslado nocturno con espera y retorno.' },\r\n    { id:'vip_excursion', name:'Excursiones y Turismo Premium (D\u00eda Completo, 8\u201310h)', price:550, desc:'Toledo, Segovia, \u00c1vila o El Escorial.' },\r\n  ];\r\n  const vipGrid = document.getElementById('vip-grid');\r\n  const vipConcepto = document.getElementById('vip-concepto');\r\n  const vipTotal = document.getElementById('vip-total');\r\n  const vipPay = document.getElementById('vip-pay');\r\n  const vipNote = document.getElementById('vip-note');\r\n  const vipFecha = document.getElementById('vip-fecha');\r\n  const vipNotas = document.getElementById('vip-notas');\r\n  const endpointVip = document.getElementById('calc-vip').dataset.endpoint;\r\n\r\n  let vipSelected = null;\r\n  (function renderVIP(){\r\n    VIP.forEach((s) => {\r\n      const el = document.createElement('div');\r\n      el.className = 'acx-vip-item';\r\n      el.setAttribute('role','button');\r\n      el.setAttribute('tabindex','0');\r\n      el.setAttribute('aria-pressed','false');\r\n      el.innerHTML = `<h4>${s.name}<\/h4><p>${s.desc}${s.extra?('<br><em>'+s.extra+'<\/em>'):''}<\/p><div class=\"acx-price\">${EUR(s.price)}<\/div>`;\r\n      const selectThis = () => {\r\n        vipSelected = s;\r\n        vipGrid.querySelectorAll('.acx-vip-item').forEach(b => b.setAttribute('aria-pressed','false'));\r\n        el.setAttribute('aria-pressed','true');\r\n        vipConcepto && (vipConcepto.textContent = s.name);\r\n        vipTotal && (vipTotal.textContent = EUR(s.price));\r\n        vipPay.setAttribute('aria-disabled','false');\r\n        vipNote.textContent = 'Listo para pagar con Stripe.';\r\n      };\r\n      el.addEventListener('click', selectThis);\r\n      el.addEventListener('keydown', (ev)=>{ if(ev.key==='Enter' || ev.key===' '){ ev.preventDefault(); selectThis(); }});\r\n      vipGrid.appendChild(el);\r\n    });\r\n  })();\r\n\r\n  vipPay.addEventListener('click', async (e)=>{\r\n    if (vipPay.getAttribute('aria-disabled')==='true' || !vipSelected) return;\r\n    e.preventDefault();\r\n    const title = `Ch\u00f3fer VIP \u00b7 ${vipSelected.name}`;\r\n    const metadata = { tipo:'vip', servicio_id: vipSelected.id, servicio: vipSelected.name, fecha: vipFecha.value || '', notas: vipNotas.value || '' };\r\n    vipPay.setAttribute('aria-disabled','true'); const old = vipPay.innerHTML; vipPay.innerHTML='Creando pago\u2026';\r\n    try{\r\n      const url = await postJSON(endpointVip, { title, amount_eur: vipSelected.price, metadata });\r\n      window.location = url;\r\n    }catch(err){ alert(err?.message || 'Error al iniciar el pago.'); vipPay.setAttribute('aria-disabled','false'); vipPay.innerHTML = old; }\r\n  });\r\n\r\n  \/* FIJOS *\/\r\n  const FIJOS = [\r\n    {dest:'Alicante', price:420},{dest:'Valencia', price:390},{dest:'M\u00e1laga', price:520},\r\n    {dest:'Castell\u00f3n', price:370},{dest:'Lisboa (Portugal)', price:900},{dest:'Oporto (Portugal)', price:850},\r\n    {dest:'Sevilla', price:520},{dest:'Bilbao', price:450},{dest:'Zaragoza', price:370},\r\n    {dest:'San Sebasti\u00e1n', price:490},{dest:'Barcelona', price:700},\r\n  ];\r\n  const fijoSel  = document.getElementById('fijo-destino');\r\n  const fijoFecha= document.getElementById('fijo-fecha');\r\n  const fijoConcepto = document.getElementById('fijo-concepto');\r\n  const fijoTotal    = document.getElementById('fijo-total');\r\n  const fijoPay      = document.getElementById('fijo-pay');\r\n  const fijoNote     = document.getElementById('fijo-note');\r\n  const endpointFijos= document.getElementById('calc-fijos').dataset.endpoint;\r\n\r\n  fijoSel.innerHTML = '<option value=\"\">Selecciona destino\u2026<\/option>' + FIJOS.map((o,i)=>`<option value=\"${i}\">${o.dest} \u2014 ${EUR(o.price)}<\/option>`).join('');\r\n  fijoPay.setAttribute('aria-disabled','true');\r\n\r\n  fijoSel.addEventListener('change', ()=>{\r\n    const idx = fijoSel.value;\r\n    if (idx === ''){\r\n      fijoConcepto.textContent = '\u2014'; fijoTotal.textContent = '\u2014'; fijoPay.setAttribute('aria-disabled','true'); fijoNote.textContent = 'Selecciona un destino para continuar.'; return;\r\n    }\r\n    const item = FIJOS[parseInt(idx,10)];\r\n    fijoConcepto.textContent = `Ch\u00f3fer Larga Distancia \u00b7 Madrid \u2192 ${item.dest} (Berlina\/SUV)`;\r\n    fijoTotal.textContent = EUR(item.price);\r\n    fijoPay.removeAttribute('aria-disabled'); fijoNote.textContent = 'Listo para pagar con Stripe.';\r\n  });\r\n\r\n  fijoPay.addEventListener('click', async (e)=>{\r\n    if (fijoPay.getAttribute('aria-disabled')==='true') return;\r\n    e.preventDefault();\r\n    const item = FIJOS[parseInt(fijoSel.value,10)];\r\n    const title = `Ch\u00f3fer: Madrid \u2192 ${item.dest} (Berlina\/SUV)`;\r\n    const metadata = { tipo:'fijo', origen:'Madrid', destino:item.dest, fecha: fijoFecha.value || '', vehiculo:'Berlina\/SUV' };\r\n    fijoPay.setAttribute('aria-disabled','true'); const old = fijoPay.innerHTML; fijoPay.innerHTML='Creando pago\u2026';\r\n    try{ const url = await postJSON(endpointFijos, { title, amount_eur: item.price, metadata }); window.location = url; }\r\n    catch(err){ alert(err?.message || 'Error al iniciar el pago.'); fijoPay.removeAttribute('aria-disabled'); fijoPay.innerHTML = old; }\r\n  });\r\n\r\n  \/* PROVINCIAS \/ POR KM *\/\r\n  const PROVINCIAS = ['Madrid','Valencia','M\u00e1laga','Granada','C\u00e1diz','Castell\u00f3n','Alicante','Barcelona','A Coru\u00f1a','Otra'];\r\n  const PRICE_PER_KM = 1.10;\r\n  const provSel  = document.getElementById('prov-provincia');\r\n  const provKm   = document.getElementById('prov-km');\r\n  const provFecha= document.getElementById('prov-fecha');\r\n  const provOrigen= document.getElementById('prov-origen');\r\n  const provMsg  = document.getElementById('prov-msg');\r\n  const provConcepto= document.getElementById('prov-concepto');\r\n  const provTarifa  = document.getElementById('prov-tarifa');\r\n  const provTotal   = document.getElementById('prov-total');\r\n  const provPay     = document.getElementById('prov-pay');\r\n  const provNote    = document.getElementById('prov-note');\r\n  const endpointProv= document.getElementById('calc-provincias').dataset.endpoint;\r\n\r\n  provSel.innerHTML = PROVINCIAS.map(p=>`<option value=\"${p}\">${p}<\/option>`).join('');\r\n\r\n  function fixedPriceFor(name){\r\n    const hit = FIJOS.find(x => x.dest.toLowerCase().includes(name.toLowerCase())); return hit ? hit.price : null;\r\n  }\r\n\r\n  function updateProvincia(){\r\n    const p = provSel.value;\r\n    let concept='\u2014', tarifa='\u2014', total='\u2014', enable=false;\r\n    const fixed = fixedPriceFor(p === 'Otra' ? '' : p);\r\n    if (fixed != null){\r\n      concept = `Ch\u00f3fer \u00b7 ${provOrigen.value || 'Madrid'} \u2192 ${p} (tarifa fija)`;\r\n      tarifa  = 'Tarifa fija'; total = EUR(fixed); enable = true; provMsg.textContent = 'Tarifa fija disponible para esta provincia.';\r\n    } else {\r\n      const kms = Math.max(1, parseInt(provKm.value||'0',10));\r\n      const amount = kms * PRICE_PER_KM;\r\n      concept = `Ch\u00f3fer \u00b7 ${provOrigen.value || 'Madrid'} \u2192 ${p} (por distancia)`;\r\n      tarifa  = `1,10 \u20ac\/km \u00d7 ${kms} km`; total = EUR(amount); enable = true;\r\n      provMsg.textContent = 'Sin tarifa fija: se aplica precio por km (1,10 \u20ac\/km).';\r\n    }\r\n    provConcepto.textContent = concept; provTarifa.textContent = tarifa; provTotal.textContent = total;\r\n    if (enable){ provPay.removeAttribute('aria-disabled'); provNote.textContent='Listo para pagar con Stripe.'; }\r\n    else { provPay.setAttribute('aria-disabled','true'); provNote.textContent='Selecciona provincia y\/o indica kil\u00f3metros.'; }\r\n  }\r\n\r\n  ['change','input'].forEach(ev=>{\r\n    provSel.addEventListener(ev, updateProvincia);\r\n    provKm.addEventListener(ev, updateProvincia);\r\n    provOrigen.addEventListener(ev, updateProvincia);\r\n  });\r\n  updateProvincia();\r\n\r\n  provPay.addEventListener('click', async (e)=>{\r\n    if (provPay.getAttribute('aria-disabled')==='true') return;\r\n    e.preventDefault();\r\n    const p = provSel.value;\r\n    const fixed = fixedPriceFor(p === 'Otra' ? '' : p);\r\n    let kms = Math.max(1, parseInt(provKm.value||'0',10));\r\n    let amount = fixed != null ? fixed : (Math.round(kms * PRICE_PER_KM * 100)\/100);\r\n    const title = fixed != null ? `Ch\u00f3fer: ${provOrigen.value || 'Madrid'} \u2192 ${p} (tarifa fija)` : `Ch\u00f3fer: ${provOrigen.value || 'Madrid'} \u2192 ${p} (${kms} km \u00d7 1,10 \u20ac\/km)`;\r\n    const metadata = { tipo: fixed != null ? 'provincia_fija' : 'por_km', origen: provOrigen.value || 'Madrid', destino: p, km: fixed != null ? 0 : kms, fecha: provFecha.value || '' };\r\n    provPay.setAttribute('aria-disabled','true'); const old = provPay.innerHTML; provPay.innerHTML='Creando pago\u2026';\r\n    try{ const url = await postJSON(endpointProv, { title, amount_eur: amount, metadata }); window.location = url; }\r\n    catch(err){ alert(err?.message || 'Error al iniciar el pago.'); provPay.removeAttribute('aria-disabled'); provPay.innerHTML = old; }\r\n  });\r\n})();\r\n<\/script>\r\n<\/body>\r\n<\/html>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Ch\u00f3fer Privado | Accel Cars \u2014 Puntualidad, elegancia y confort \ud83d\ude98 Accel Cars con ch\u00f3fer Puntualidad, elegancia y confort en cada trayecto Servicios VIP, rutas con precio cerrado y c\u00e1lculo por distancia (1,10 \u20ac\/km). Paga online con Stripe y recibe confirmaci\u00f3n al instante. Veh\u00edculos premiumCh\u00f3fer profesionalIVA incluido Ver veh\u00edculos \ud83d\udcac WhatsApp (+34 618 159 063) [&hellip;]<\/p>\n","protected":false},"author":240754275,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_wpcom_ai_launchpad_about_page":false,"_wpcom_ai_launchpad_gallery_page":false,"_wpcom_ai_launchpad_contact_page":false,"_wpcom_ai_launchpad_events_page":false,"_wpcom_ai_launchpad_video_page":false,"_wpcom_ai_launchpad_portfolio_piece":false,"_joinchat":[],"footnotes":""},"class_list":["post-9463","page","type-page","status-publish","hentry"],"ams_acf":[],"jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/PfRJlW-2sD","jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/accelcars.com\/pt\/wp-json\/wp\/v2\/pages\/9463","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/accelcars.com\/pt\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/accelcars.com\/pt\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/accelcars.com\/pt\/wp-json\/wp\/v2\/users\/240754275"}],"replies":[{"embeddable":true,"href":"https:\/\/accelcars.com\/pt\/wp-json\/wp\/v2\/comments?post=9463"}],"version-history":[{"count":19,"href":"https:\/\/accelcars.com\/pt\/wp-json\/wp\/v2\/pages\/9463\/revisions"}],"predecessor-version":[{"id":9730,"href":"https:\/\/accelcars.com\/pt\/wp-json\/wp\/v2\/pages\/9463\/revisions\/9730"}],"wp:attachment":[{"href":"https:\/\/accelcars.com\/pt\/wp-json\/wp\/v2\/media?parent=9463"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}