{"id":69,"date":"2026-03-31T10:04:00","date_gmt":"2026-03-31T08:04:00","guid":{"rendered":"https:\/\/vortexmedia.agency\/?page_id=69"},"modified":"2026-05-14T19:13:27","modified_gmt":"2026-05-14T17:13:27","slug":"contacto","status":"publish","type":"page","link":"https:\/\/vortexmedia.agency\/es\/contacto\/","title":{"rendered":"Contacto"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"69\" class=\"elementor elementor-69\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fb080d3 e-flex e-con-boxed e-con e-parent\" data-id=\"fb080d3\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-71ce0883 e-con-full e-flex e-con e-child\" data-id=\"71ce0883\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6960d43 e-flex e-con-boxed e-con e-parent\" data-id=\"6960d43\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9b31049 elementor-widget elementor-widget-shortcode\" data-id=\"9b31049\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><html lang=\"es\">\r\n<head>\r\n  <meta charset=\"UTF-8\">\r\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n  <title>Solicitud de presupuesto \u2014 Vortex Media<\/title>\r\n  <link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n  <link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\r\n  <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Roboto:wght@300;400;500;700;900&display=swap\" rel=\"stylesheet\">\r\n  <style>\r\n    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\r\n    :root {\r\n      --navy:    #0d2455;\r\n      --navy2:   #071228;\r\n      --blue:    #1a4a9a;\r\n      --black:   #000000;\r\n      --gray:    #3a4f72;\r\n      --light:   #f5f7ff;\r\n      --border:  rgba(13,36,85,.14);\r\n      --accent:  #0d2455;\r\n    }\r\n    html, body {\r\n      min-height: 100%;\r\n      background: #ffffff;\r\n      color: var(--black);\r\n      font-family: 'Roboto', sans-serif;\r\n      -webkit-font-smoothing: antialiased;\r\n    }\r\n    .vf-page {\r\n      min-height: 100vh;\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      padding: 60px 24px;\r\n      position: relative;\r\n      overflow: hidden;\r\n    }\r\n    .vf-page::before {\r\n      content: '';\r\n      position: absolute;\r\n      top: -20%;\r\n      right: -10%;\r\n      width: 55vw;\r\n      height: 55vw;\r\n      border-radius: 50%;\r\n      background: radial-gradient(circle, rgba(13,36,85,.05) 0%, transparent 70%);\r\n      pointer-events: none;\r\n    }\r\n    .vf-page::after {\r\n      content: '';\r\n      position: absolute;\r\n      bottom: -10%;\r\n      left: -10%;\r\n      width: 40vw;\r\n      height: 40vw;\r\n      border-radius: 50%;\r\n      background: radial-gradient(circle, rgba(26,74,154,.04) 0%, transparent 70%);\r\n      pointer-events: none;\r\n    }\r\n    .vf-card {\r\n      width: 100%;\r\n      max-width: 620px;\r\n      background: #ffffff;\r\n      border: 1px solid var(--border);\r\n      border-radius: 28px;\r\n      padding: 56px 52px 60px;\r\n      position: relative;\r\n      z-index: 1;\r\n      box-shadow: 0 4px 40px rgba(13,36,85,.07), 0 1px 3px rgba(13,36,85,.04);\r\n    }\r\n    .vf-card::before {\r\n      content: '';\r\n      position: absolute;\r\n      top: 0; left: 40px; right: 40px;\r\n      height: 2px;\r\n      background: linear-gradient(90deg, transparent, var(--navy), var(--blue), transparent);\r\n      border-radius: 0 0 2px 2px;\r\n    }\r\n    .vf-brand {\r\n      font-size: .72rem;\r\n      font-weight: 700;\r\n      letter-spacing: .22em;\r\n      text-transform: uppercase;\r\n      color: var(--navy);\r\n      display: block;\r\n      margin-bottom: 28px;\r\n    }\r\n    .vf-title {\r\n      font-size: clamp(22px, 3vw, 34px);\r\n      font-weight: 700;\r\n      letter-spacing: -.02em;\r\n      line-height: 1.1;\r\n      color: var(--black);\r\n      margin-bottom: 10px;\r\n    }\r\n    .vf-sub {\r\n      font-size: .9rem;\r\n      font-weight: 300;\r\n      line-height: 1.65;\r\n      color: var(--gray);\r\n      margin-bottom: 36px;\r\n    }\r\n    .vf-steps {\r\n      display: flex;\r\n      align-items: center;\r\n      gap: 8px;\r\n      margin-bottom: 36px;\r\n    }\r\n    .vf-dot {\r\n      width: 8px;\r\n      height: 8px;\r\n      border-radius: 50%;\r\n      background: var(--border);\r\n      transition: background .4s, width .4s, border-radius .4s;\r\n      border: 1.5px solid rgba(13,36,85,.15);\r\n    }\r\n    .vf-dot.active {\r\n      background: var(--navy);\r\n      width: 24px;\r\n      border-radius: 4px;\r\n      border-color: var(--navy);\r\n    }\r\n    .vf-dot.done {\r\n      background: rgba(13,36,85,.3);\r\n      border-color: rgba(13,36,85,.3);\r\n    }\r\n    .vf-step { display: none; }\r\n    .vf-step.active { display: block; }\r\n    .step-q {\r\n      font-size: 1rem;\r\n      font-weight: 500;\r\n      color: var(--black);\r\n      margin-bottom: 20px;\r\n      letter-spacing: .01em;\r\n    }\r\n    .step-q span {\r\n      font-weight: 300;\r\n      color: var(--gray);\r\n    }\r\n    .type-cards {\r\n      display: grid;\r\n      grid-template-columns: 1fr 1fr;\r\n      gap: 14px;\r\n      margin-bottom: 28px;\r\n    }\r\n    .type-card {\r\n      padding: 28px 20px;\r\n      border: 1.5px solid var(--border);\r\n      border-radius: 16px;\r\n      text-align: center;\r\n      cursor: pointer;\r\n      transition: border-color .3s, background .3s, transform .25s, box-shadow .3s;\r\n      background: #fff;\r\n      user-select: none;\r\n    }\r\n    .type-card:hover {\r\n      border-color: rgba(13,36,85,.35);\r\n      background: rgba(13,36,85,.02);\r\n      transform: translateY(-3px);\r\n      box-shadow: 0 8px 24px rgba(13,36,85,.07);\r\n    }\r\n    .type-card.selected {\r\n      border-color: var(--navy);\r\n      background: rgba(13,36,85,.04);\r\n      box-shadow: 0 4px 20px rgba(13,36,85,.1);\r\n    }\r\n    .tc-icon { font-size: 2.2rem; margin-bottom: 12px; display: block; }\r\n    .tc-label { font-size: .9rem; font-weight: 500; color: var(--black); display: block; }\r\n    .tc-sub   { font-size: .78rem; font-weight: 300; color: var(--gray); margin-top: 4px; display: block; }\r\n    .svc-checks {\r\n      display: grid;\r\n      grid-template-columns: 1fr 1fr;\r\n      gap: 10px;\r\n      margin-bottom: 28px;\r\n    }\r\n    .svc-check-card {\r\n      padding: 18px 16px;\r\n      border: 1.5px solid var(--border);\r\n      border-radius: 12px;\r\n      cursor: pointer;\r\n      transition: border-color .3s, background .3s, box-shadow .3s;\r\n      display: flex;\r\n      align-items: flex-start;\r\n      gap: 12px;\r\n      background: #fff;\r\n      user-select: none;\r\n    }\r\n    .svc-check-card:hover {\r\n      border-color: rgba(13,36,85,.3);\r\n      background: rgba(13,36,85,.02);\r\n    }\r\n    .svc-check-card.selected {\r\n      border-color: var(--navy);\r\n      background: rgba(13,36,85,.04);\r\n    }\r\n    .svc-check-box {\r\n      width: 18px; height: 18px;\r\n      border-radius: 5px;\r\n      border: 1.5px solid rgba(13,36,85,.25);\r\n      flex-shrink: 0; margin-top: 1px;\r\n      display: flex; align-items: center; justify-content: center;\r\n      transition: background .3s, border-color .3s;\r\n      font-size: .7rem; color: transparent;\r\n      font-weight: 700;\r\n    }\r\n    .svc-check-card.selected .svc-check-box {\r\n      background: var(--navy);\r\n      border-color: var(--navy);\r\n      color: #fff;\r\n    }\r\n    .svc-check-text { font-size: .875rem; font-weight: 400; color: var(--black); line-height: 1.4; }\r\n    .svc-check-sub  { font-size: .75rem; font-weight: 300; color: var(--gray); margin-top: 3px; }\r\n    .vf-field { margin-bottom: 18px; }\r\n    .vf-field label {\r\n      display: block;\r\n      font-size: .72rem;\r\n      font-weight: 500;\r\n      letter-spacing: .1em;\r\n      text-transform: uppercase;\r\n      color: var(--gray);\r\n      margin-bottom: 8px;\r\n    }\r\n    .vf-field input,\r\n    .vf-field textarea {\r\n      width: 100%;\r\n      padding: 14px 18px;\r\n      background: #fafbff;\r\n      border: 1.5px solid var(--border);\r\n      border-radius: 12px;\r\n      font-family: 'Roboto', sans-serif;\r\n      font-size: .9rem;\r\n      font-weight: 300;\r\n      color: var(--black);\r\n      outline: none;\r\n      transition: border-color .3s, background .3s, box-shadow .3s;\r\n      -webkit-appearance: none;\r\n    }\r\n    .vf-field input:focus,\r\n    .vf-field textarea:focus {\r\n      border-color: var(--navy);\r\n      background: #fff;\r\n      box-shadow: 0 0 0 3px rgba(13,36,85,.07);\r\n    }\r\n    .vf-field input::placeholder,\r\n    .vf-field textarea::placeholder { color: rgba(58,79,114,.4); }\r\n    .vf-field textarea { min-height: 120px; resize: vertical; line-height: 1.65; }\r\n    .vf-fields-row {\r\n      display: grid;\r\n      grid-template-columns: 1fr 1fr;\r\n      gap: 14px;\r\n    }\r\n    .vf-nav {\r\n      display: flex;\r\n      gap: 12px;\r\n      margin-top: 28px;\r\n    }\r\n    .btn-next, .btn-submit {\r\n      flex: 1;\r\n      padding: 15px 24px;\r\n      border-radius: 40px;\r\n      font-family: 'Roboto', sans-serif;\r\n      font-size: .85rem;\r\n      font-weight: 500;\r\n      letter-spacing: .1em;\r\n      text-transform: uppercase;\r\n      cursor: pointer;\r\n      border: none;\r\n      background: var(--navy);\r\n      color: #fff;\r\n      transition: transform .3s, box-shadow .3s, background .3s;\r\n      box-shadow: 0 4px 20px rgba(13,36,85,.25);\r\n    }\r\n    .btn-next:hover, .btn-submit:hover {\r\n      transform: translateY(-3px);\r\n      box-shadow: 0 8px 32px rgba(13,36,85,.35);\r\n      background: var(--navy2);\r\n    }\r\n    .btn-next:active, .btn-submit:active {\r\n      transform: scale(.97);\r\n    }\r\n    .btn-submit:disabled {\r\n      opacity: .6;\r\n      cursor: not-allowed;\r\n      transform: none;\r\n      box-shadow: none;\r\n    }\r\n    .btn-back {\r\n      padding: 15px 24px;\r\n      border-radius: 40px;\r\n      font-family: 'Roboto', sans-serif;\r\n      font-size: .85rem;\r\n      font-weight: 400;\r\n      letter-spacing: .1em;\r\n      text-transform: uppercase;\r\n      cursor: pointer;\r\n      background: transparent;\r\n      color: var(--gray);\r\n      border: 1.5px solid var(--border);\r\n      transition: border-color .3s, color .3s;\r\n    }\r\n    .btn-back:hover {\r\n      border-color: var(--navy);\r\n      color: var(--navy);\r\n    }\r\n    .vf-success {\r\n      display: none;\r\n      text-align: center;\r\n      padding: 40px 0;\r\n    }\r\n    .vf-success-icon {\r\n      font-size: 3rem;\r\n      color: var(--navy);\r\n      display: block;\r\n      margin-bottom: 20px;\r\n    }\r\n    .vf-success h3 {\r\n      font-size: 1.6rem;\r\n      font-weight: 700;\r\n      color: var(--black);\r\n      margin-bottom: 12px;\r\n      letter-spacing: -.02em;\r\n    }\r\n    .vf-success p {\r\n      font-size: .95rem;\r\n      font-weight: 300;\r\n      line-height: 1.7;\r\n      color: var(--gray);\r\n    }\r\n    .vf-error {\r\n      display: none;\r\n      font-size: .8rem;\r\n      color: #c0392b;\r\n      margin-top: 10px;\r\n      font-weight: 400;\r\n    }\r\n    .vf-error.show { display: block; }\r\n    @media (max-width: 640px) {\r\n      .vf-card { padding: 36px 24px 40px; border-radius: 20px; }\r\n      .type-cards, .svc-checks, .vf-fields-row { grid-template-columns: 1fr; }\r\n      .vf-nav { flex-direction: column; }\r\n    }\r\n  <\/style>\r\n<\/head>\r\n<body>\r\n<div class=\"vf-page\">\r\n  <div class=\"vf-card\">\r\n    <span class=\"vf-brand\">Vortex Media<\/span>\r\n    <h1 class=\"vf-title\">Cu\u00e9ntanos sobre<br>tu proyecto<\/h1>\r\n    <p class=\"vf-sub\">Presupuesto a medida, sin compromiso. Te respondemos en menos de 24h.<\/p>\r\n    <div class=\"vf-steps\">\r\n      <div class=\"vf-dot active\" id=\"dot1\"><\/div>\r\n      <div class=\"vf-dot\" id=\"dot2\"><\/div>\r\n      <div class=\"vf-dot\" id=\"dot3\"><\/div>\r\n    <\/div>\r\n    <!-- Paso 1: \u00bfQui\u00e9n eres? -->\r\n    <div class=\"vf-step active\" id=\"step1\">\r\n      <p class=\"step-q\">\u00bfQui\u00e9n eres?<\/p>\r\n      <div class=\"type-cards\">\r\n        <div class=\"type-card\" data-type=\"Empresa \/ Marca\">\r\n          <span class=\"tc-icon\"><\/span>\r\n          <span class=\"tc-label\">Empresa \/ Marca<\/span>\r\n          <span class=\"tc-sub\">Negocio, startup, pyme<\/span>\r\n        <\/div>\r\n        <div class=\"type-card\" data-type=\"Atleta\">\r\n          <span class=\"tc-icon\"><\/span>\r\n          <span class=\"tc-label\">Atleta<\/span>\r\n          <span class=\"tc-sub\">Profesional o amateur<\/span>\r\n        <\/div>\r\n      <\/div>\r\n      <p class=\"vf-error\" id=\"err1\">Selecciona una opci\u00f3n para continuar.<\/p>\r\n      <div class=\"vf-nav\">\r\n        <button class=\"btn-next\" id=\"next1\">Siguiente \u2192<\/button>\r\n      <\/div>\r\n    <\/div>\r\n    <!-- Paso 2: \u00bfQu\u00e9 necesitas? -->\r\n    <div class=\"vf-step\" id=\"step2\">\r\n      <p class=\"step-q\">\u00bfQu\u00e9 necesitas? <span>(puedes elegir varios)<\/span><\/p>\r\n      <div class=\"svc-checks\">\r\n        <div class=\"svc-check-card\" data-svc=\"Campa\u00f1as de Publicidad (Meta & Google Ads)\">\r\n          <div class=\"svc-check-box\">\u2713<\/div>\r\n          <div>\r\n            <div class=\"svc-check-text\">Campa\u00f1as de Publicidad<\/div>\r\n            <div class=\"svc-check-sub\">Meta & Google Ads<\/div>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"svc-check-card\" data-svc=\"Gesti\u00f3n de Contenidos\">\r\n          <div class=\"svc-check-box\">\u2713<\/div>\r\n          <div>\r\n            <div class=\"svc-check-text\">Gesti\u00f3n de Contenidos<\/div>\r\n            <div class=\"svc-check-sub\">Editorial, redes, newsletters<\/div>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"svc-check-card\" data-svc=\"Auditor\u00eda y Gesti\u00f3n de Comunicaci\u00f3n\">\r\n          <div class=\"svc-check-box\">\u2713<\/div>\r\n          <div>\r\n            <div class=\"svc-check-text\">Auditor\u00eda y Gesti\u00f3n<\/div>\r\n            <div class=\"svc-check-sub\">An\u00e1lisis completo 24\/7<\/div>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"svc-check-card\" data-svc=\"Gesti\u00f3n de Imagen P\u00fablica\">\r\n          <div class=\"svc-check-box\">\u2713<\/div>\r\n          <div>\r\n            <div class=\"svc-check-text\">Gesti\u00f3n de Imagen<\/div>\r\n            <div class=\"svc-check-sub\">Patrocinios y reputaci\u00f3n<\/div>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n      <p class=\"vf-error\" id=\"err2\">Selecciona al menos un servicio.<\/p>\r\n      <div class=\"vf-nav\">\r\n        <button class=\"btn-back\" id=\"back2\">\u2190 Atr\u00e1s<\/button>\r\n        <button class=\"btn-next\" id=\"next2\">Siguiente \u2192<\/button>\r\n      <\/div>\r\n    <\/div>\r\n    <!-- Paso 3: Datos de contacto \u2014 FORMSPREE -->\r\n    <div class=\"vf-step\" id=\"step3\">\r\n      <p class=\"step-q\">Tus datos de contacto<\/p>\r\n      <form id=\"vfForm\" action=\"https:\/\/formspree.io\/f\/mzdwbkky\" method=\"POST\" novalidate>\r\n        <!-- Campos ocultos: tipo y servicios seleccionados -->\r\n        <input type=\"hidden\" name=\"tipo_cliente\" id=\"hiddenType\">\r\n        <input type=\"hidden\" name=\"servicios\" id=\"hiddenServices\">\r\n        <div class=\"vf-fields-row\">\r\n          <div class=\"vf-field\">\r\n            <label>Nombre *<\/label>\r\n            <input type=\"text\" name=\"nombre\" id=\"vfName\" placeholder=\"Tu nombre\" required>\r\n          <\/div>\r\n          <div class=\"vf-field\">\r\n            <label>Email *<\/label>\r\n            <input type=\"email\" name=\"email\" id=\"vfEmail\" placeholder=\"tu@email.com\" required>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"vf-field\">\r\n          <label>Tel\u00e9fono (opcional)<\/label>\r\n          <input type=\"tel\" name=\"telefono\" id=\"vfPhone\" placeholder=\"+34 600 000 000\">\r\n        <\/div>\r\n        <div class=\"vf-field\">\r\n          <label>Cu\u00e9ntanos m\u00e1s sobre tu proyecto<\/label>\r\n          <textarea name=\"mensaje\" id=\"vfMsg\" placeholder=\"Describe brevemente tu proyecto, objetivos o cualquier detalle que quieras compartir...\"><\/textarea>\r\n        <\/div>\r\n        <!-- Honeypot anti-spam -->\r\n        <input type=\"text\" name=\"_gotcha\" style=\"display:none\">\r\n        <!-- Asunto del correo que recibir\u00e1s -->\r\n        <input type=\"hidden\" name=\"_subject\" value=\"Nueva solicitud \u2014 Vortex Media\">\r\n        <p class=\"vf-error\" id=\"err3\">Por favor rellena nombre y email.<\/p>\r\n        <div class=\"vf-nav\">\r\n          <button type=\"button\" class=\"btn-back\" id=\"back3\">\u2190 Atr\u00e1s<\/button>\r\n          <button type=\"submit\" class=\"btn-submit\" id=\"btnSubmit\">Enviar solicitud \u2726<\/button>\r\n        <\/div>\r\n      <\/form>\r\n    <\/div>\r\n    <!-- \u00c9xito -->\r\n    <div class=\"vf-success\" id=\"vfSuccess\">\r\n      <span class=\"vf-success-icon\">\u2726<\/span>\r\n      <h3>\u00a1Solicitud enviada!<\/h3>\r\n      <p>Hemos recibido tu mensaje. Te contactaremos en menos de 24 horas con una propuesta a medida.<\/p>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n<script>\r\n(function () {\r\n  var currentStep = 1;\r\n  var selectedType = '';\r\n  var selectedServices = [];\r\n\r\n  var steps = [\r\n    document.getElementById('step1'),\r\n    document.getElementById('step2'),\r\n    document.getElementById('step3'),\r\n  ];\r\n  var dots = [\r\n    document.getElementById('dot1'),\r\n    document.getElementById('dot2'),\r\n    document.getElementById('dot3'),\r\n  ];\r\n  var errors = [\r\n    document.getElementById('err1'),\r\n    document.getElementById('err2'),\r\n    document.getElementById('err3'),\r\n  ];\r\n\r\n  function goTo(n) {\r\n    steps.forEach(function(s, i) {\r\n      s.classList.toggle('active', i === n - 1);\r\n    });\r\n    dots.forEach(function(d, i) {\r\n      d.classList.remove('active', 'done');\r\n      if (i === n - 1) d.classList.add('active');\r\n      else if (i < n - 1) d.classList.add('done');\r\n    });\r\n    errors.forEach(function(e) { e.classList.remove('show'); });\r\n    currentStep = n;\r\n  }\r\n\r\n  \/* \u2500\u2500 Paso 1: selecci\u00f3n de tipo \u2500\u2500 *\/\r\n  document.querySelectorAll('.type-card').forEach(function(card) {\r\n    card.addEventListener('click', function() {\r\n      document.querySelectorAll('.type-card').forEach(function(c) { c.classList.remove('selected'); });\r\n      card.classList.add('selected');\r\n      selectedType = card.dataset.type;\r\n    });\r\n  });\r\n  document.getElementById('next1').addEventListener('click', function() {\r\n    if (!selectedType) { errors[0].classList.add('show'); return; }\r\n    goTo(2);\r\n  });\r\n\r\n  \/* \u2500\u2500 Paso 2: selecci\u00f3n de servicios \u2500\u2500 *\/\r\n  document.querySelectorAll('.svc-check-card').forEach(function(card) {\r\n    card.addEventListener('click', function() {\r\n      card.classList.toggle('selected');\r\n      var svc = card.dataset.svc;\r\n      var idx = selectedServices.indexOf(svc);\r\n      if (idx === -1) selectedServices.push(svc);\r\n      else selectedServices.splice(idx, 1);\r\n    });\r\n  });\r\n  document.getElementById('back2').addEventListener('click', function() { goTo(1); });\r\n  document.getElementById('next2').addEventListener('click', function() {\r\n    if (selectedServices.length === 0) { errors[1].classList.add('show'); return; }\r\n    goTo(3);\r\n  });\r\n\r\n  \/* \u2500\u2500 Paso 3: env\u00edo via Formspree (AJAX) \u2500\u2500 *\/\r\n  document.getElementById('back3').addEventListener('click', function() { goTo(2); });\r\n\r\n  document.getElementById('vfForm').addEventListener('submit', function(e) {\r\n    e.preventDefault();\r\n\r\n    var name  = document.getElementById('vfName').value.trim();\r\n    var email = document.getElementById('vfEmail').value.trim();\r\n\r\n    if (!name || !email || !\/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/.test(email)) {\r\n      errors[2].classList.add('show');\r\n      return;\r\n    }\r\n\r\n    \/* Rellenar campos ocultos *\/\r\n    document.getElementById('hiddenType').value = selectedType;\r\n    document.getElementById('hiddenServices').value = selectedServices.join(', ');\r\n\r\n    \/* Desactivar bot\u00f3n *\/\r\n    var btn = document.getElementById('btnSubmit');\r\n    btn.disabled = true;\r\n    btn.textContent = 'Enviando...';\r\n\r\n    \/* Enviar a Formspree *\/\r\n    var formData = new FormData(this);\r\n\r\n    fetch('https:\/\/formspree.io\/f\/mzdwbkky', {\r\n      method: 'POST',\r\n      body: formData,\r\n      headers: { 'Accept': 'application\/json' }\r\n    })\r\n    .then(function(response) {\r\n      if (response.ok) {\r\n        steps.forEach(function(s) { s.style.display = 'none'; });\r\n        document.querySelector('.vf-steps').style.display = 'none';\r\n        document.querySelector('.vf-title').style.display = 'none';\r\n        document.querySelector('.vf-sub').style.display   = 'none';\r\n        document.getElementById('vfSuccess').style.display = 'block';\r\n      } else {\r\n        return response.json().then(function(data) {\r\n          throw new Error(data.errors ? data.errors.map(function(e){return e.message}).join(', ') : 'Error');\r\n        });\r\n      }\r\n    })\r\n    .catch(function(error) {\r\n      btn.disabled = false;\r\n      btn.textContent = 'Enviar solicitud \u2726';\r\n      errors[2].textContent = 'Ha ocurrido un error. Int\u00e9ntalo de nuevo.';\r\n      errors[2].classList.add('show');\r\n    });\r\n  });\r\n})();\r\n<\/script>\r\n<\/body>\r\n<\/html><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-69","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/vortexmedia.agency\/es\/wp-json\/wp\/v2\/pages\/69","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vortexmedia.agency\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/vortexmedia.agency\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/vortexmedia.agency\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vortexmedia.agency\/es\/wp-json\/wp\/v2\/comments?post=69"}],"version-history":[{"count":15,"href":"https:\/\/vortexmedia.agency\/es\/wp-json\/wp\/v2\/pages\/69\/revisions"}],"predecessor-version":[{"id":725,"href":"https:\/\/vortexmedia.agency\/es\/wp-json\/wp\/v2\/pages\/69\/revisions\/725"}],"wp:attachment":[{"href":"https:\/\/vortexmedia.agency\/es\/wp-json\/wp\/v2\/media?parent=69"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}