7️⃣ Withdrawal & Cancellation Form

<div style="max-width: 900px; margin: 0 auto; line-height: 1.7; font-family: -apple-system, system-ui, sans-serif;">

  <h1 style="font-size: 28px; margin-bottom: 8px;">Withdrawal &amp; Cancellation Form</h1>
  <p style="color: #666; font-size: 14px; margin-top: 0;"><em>In compliance with EU Directive 2023/2673 — applicable from 19 June 2026</em></p>
  <p style="color: #888; font-size: 13px; margin-top: 0;"><em>Page title: Withdrawal &amp; Cancellation Form · Shopify slug: withdrawal-cancellation</em></p>

  <p style="background: #e8f4fd; padding: 14px; border-left: 4px solid #2c7be5; font-size: 15px; margin: 16px 0;">
    <strong>Your right to cancel:</strong> Under European Union law, you may withdraw from your purchase within <strong>14 days</strong> of receiving your order, without stating any reason. Use the form below to exercise this right in a few simple steps.
  </p>

  <h2 style="font-size: 20px; margin-top: 32px;">How it works</h2>
  <ol>
    <li>Complete the form below with your order details.</li>
    <li>Review your information at the confirmation step.</li>
    <li>Submit your request — an automatic email confirmation will be generated for you.</li>
    <li>We will process your refund within 14 days of receiving the returned goods.</li>
  </ol>

  <!-- STEP 1 -->
  <div id="vexon-step-1" style="background: #f9f9f9; padding: 24px; border-radius: 8px; margin-top: 24px;">
    <h2 style="font-size: 20px; margin-top: 0;">Step 1 — Your Details</h2>

    <div style="margin-bottom: 16px;">
      <label for="vexon-name" style="display: block; font-weight: 600; margin-bottom: 6px;">Full name *</label>
      <input type="text" id="vexon-name" required style="width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 4px; font-size: 15px; box-sizing: border-box;">
    </div>

    <div style="margin-bottom: 16px;">
      <label for="vexon-email" style="display: block; font-weight: 600; margin-bottom: 6px;">Email address *</label>
      <input type="email" id="vexon-email" required style="width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 4px; font-size: 15px; box-sizing: border-box;">
    </div>

    <div style="margin-bottom: 16px;">
      <label for="vexon-order" style="display: block; font-weight: 600; margin-bottom: 6px;">Order number *</label>
      <input type="text" id="vexon-order" required placeholder="e.g. #1024" style="width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 4px; font-size: 15px; box-sizing: border-box;">
    </div>

    <div style="margin-bottom: 16px;">
      <label for="vexon-date" style="display: block; font-weight: 600; margin-bottom: 6px;">Date of order *</label>
      <input type="date" id="vexon-date" required style="width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 4px; font-size: 15px; box-sizing: border-box;">
    </div>

    <div style="margin-bottom: 16px;">
      <label for="vexon-products" style="display: block; font-weight: 600; margin-bottom: 6px;">Items you wish to return *</label>
      <textarea id="vexon-products" required rows="3" placeholder="Please list the goods you wish to send back" style="width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 4px; font-size: 15px; box-sizing: border-box; font-family: inherit;"></textarea>
    </div>

    <div style="margin-bottom: 16px;">
      <label for="vexon-reason" style="display: block; font-weight: 600; margin-bottom: 6px;">Reason for withdrawal (optional)</label>
      <textarea id="vexon-reason" rows="3" placeholder="No reason is required — but you are welcome to share one" style="width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 4px; font-size: 15px; box-sizing: border-box; font-family: inherit;"></textarea>
    </div>

    <button onclick="vexonGoToStep2()" style="background: #2c7be5; color: #fff; border: none; padding: 14px 24px; font-size: 16px; font-weight: 600; border-radius: 4px; cursor: pointer; width: 100%;">Continue to confirmation →</button>
  </div>

  <!-- STEP 2 -->
  <div id="vexon-step-2" style="background: #fff8dc; padding: 24px; border-radius: 8px; margin-top: 24px; display: none; border-left: 4px solid #e0a800;">
    <h2 style="font-size: 20px; margin-top: 0;">Step 2 — Review and confirm</h2>
    <p>Please review the information below carefully. Once confirmed, your withdrawal request will be submitted.</p>
    <div id="vexon-summary" style="background: #fff; padding: 16px; border-radius: 6px; margin: 16px 0;"></div>

    <div style="margin-bottom: 16px;">
      <label style="display: flex; align-items: flex-start; gap: 10px; font-size: 14px;">
        <input type="checkbox" id="vexon-consent" style="margin-top: 4px;">
        <span>I confirm that the details above are correct and that I am formally exercising my right of withdrawal within the 14-day period.</span>
      </label>
    </div>

    <div style="display: flex; gap: 12px;">
      <button onclick="vexonBackToStep1()" style="background: #ccc; color: #000; border: none; padding: 14px 24px; font-size: 16px; font-weight: 600; border-radius: 4px; cursor: pointer; flex: 1;">← Edit details</button>
      <button onclick="vexonSubmitWithdrawal()" style="background: #2c7be5; color: #fff; border: none; padding: 14px 24px; font-size: 16px; font-weight: 600; border-radius: 4px; cursor: pointer; flex: 2;">Send withdrawal request ✓</button>
    </div>
  </div>

  <!-- STEP 3 -->
  <div id="vexon-step-3" style="background: #e8f7e8; padding: 24px; border-radius: 8px; margin-top: 24px; display: none; border-left: 4px solid #28a745;">
    <h2 style="font-size: 20px; margin-top: 0; color: #1e7e34;">✓ Withdrawal request sent</h2>
    <p>Your request has been successfully submitted. An email confirmation has been automatically prepared and will reach you shortly.</p>
    <p><strong>What happens next:</strong></p>
    <ul>
      <li>We will respond within 24–48 working hours to confirm receipt of your request.</li>
      <li>You will receive return instructions along with our return address.</li>
      <li>Once goods are received and inspected, your refund will be issued within 14 days.</li>
    </ul>
    <p>If you have not heard from us within 48 hours, please contact us directly at <strong>contact@vexon.com</strong>.</p>
  </div>

  <h2 style="font-size: 20px; margin-top: 40px;">Alternative methods</h2>
  <p>You may also submit your withdrawal notice:</p>
  <ul>
    <li><strong>By email:</strong> contact@vexon.com</li>
    <li><strong>By post:</strong> [Your full company address]</li>
  </ul>

  <h2 style="font-size: 20px; margin-top: 32px;">Downloadable Withdrawal Letter Template</h2>
  <p>Use the template below to submit your withdrawal by post or email:</p>
  <div style="background: #f5f5f5; padding: 20px; border-left: 4px solid #888; font-family: 'Courier New', monospace; font-size: 14px; white-space: pre-wrap; margin: 16px 0; border-radius: 4px;">To: VEXON
Address: [Your Company Address]
Email: contact@vexon.com

I hereby give notice that I withdraw from my contract of sale for the following goods:

Order number: ______________
Order date: ______________
Goods to be returned: ______________

Name of consumer: ______________
Address of consumer: ______________
Signature (if posted): ______________
Date: ______________</div>

  <h2 style="font-size: 20px; margin-top: 32px;">Important information</h2>
  <ul>
    <li>The 14-day withdrawal period begins on the day you (or a third party other than the carrier) receive the goods.</li>
    <li>Sending your withdrawal notice before the 14-day period expires is sufficient to meet the deadline.</li>
    <li>You bear the direct costs of returning the goods, unless otherwise stated.</li>
    <li>You are liable only for any reduction in value caused by handling beyond what is necessary to assess the nature, characteristics and functioning of the goods.</li>
    <li>Refunds are issued via the original payment method used for the transaction, unless agreed otherwise.</li>
  </ul>

  <p style="margin-top: 32px; font-size: 14px; color: #666;">
    For full details of your cancellation rights, please consult our <a href="/policies/refund-policy" style="color: #2c7be5;">Cancellation Policy &amp; Returns</a> page.
  </p>

</div>

<script>
function vexonGoToStep2() {
  var name = document.getElementById('vexon-name').value.trim();
  var email = document.getElementById('vexon-email').value.trim();
  var order = document.getElementById('vexon-order').value.trim();
  var date = document.getElementById('vexon-date').value;
  var products = document.getElementById('vexon-products').value.trim();
  var reason = document.getElementById('vexon-reason').value.trim();

  if (!name || !email || !order || !date || !products) {
    alert('Please complete all required fields marked with *');
    return;
  }

  var summary = '<p><strong>Name:</strong> ' + name + '</p>' +
                '<p><strong>Email:</strong> ' + email + '</p>' +
                '<p><strong>Order number:</strong> ' + order + '</p>' +
                '<p><strong>Order date:</strong> ' + date + '</p>' +
                '<p><strong>Items:</strong> ' + products + '</p>';
  if (reason) summary += '<p><strong>Reason:</strong> ' + reason + '</p>';

  document.getElementById('vexon-summary').innerHTML = summary;
  document.getElementById('vexon-step-1').style.display = 'none';
  document.getElementById('vexon-step-2').style.display = 'block';
  window.scrollTo({ top: document.getElementById('vexon-step-2').offsetTop - 20, behavior: 'smooth' });
}

function vexonBackToStep1() {
  document.getElementById('vexon-step-2').style.display = 'none';
  document.getElementById('vexon-step-1').style.display = 'block';
  window.scrollTo({ top: document.getElementById('vexon-step-1').offsetTop - 20, behavior: 'smooth' });
}

function vexonSubmitWithdrawal() {
  if (!document.getElementById('vexon-consent').checked) {
    alert('Please tick the confirmation box to proceed.');
    return;
  }

  var name = document.getElementById('vexon-name').value.trim();
  var email = document.getElementById('vexon-email').value.trim();
  var order = document.getElementById('vexon-order').value.trim();
  var date = document.getElementById('vexon-date').value;
  var products = document.getElementById('vexon-products').value.trim();
  var reason = document.getElementById('vexon-reason').value.trim();

  var subject = encodeURIComponent('Withdrawal Request — Order ' + order);
  var body = encodeURIComponent(
    'Withdrawal / Cancellation Request\n' +
    '(under EU Directive 2023/2673)\n\n' +
    'Name: ' + name + '\n' +
    'Email: ' + email + '\n' +
    'Order number: ' + order + '\n' +
    'Order date: ' + date + '\n' +
    'Items to return: ' + products + '\n' +
    (reason ? 'Reason: ' + reason + '\n' : '') +
    '\nI hereby formally exercise my right of withdrawal within the 14-day period.\n\n' +
    'Date: ' + new Date().toLocaleDateString('en-GB')
  );

  window.location.href = 'mailto:contact@vexon.com?subject=' + subject + '&body=' + body;

  document.getElementById('vexon-step-2').style.display = 'none';
  document.getElementById('vexon-step-3').style.display = 'block';
  window.scrollTo({ top: document.getElementById('vexon-step-3').offsetTop - 20, behavior: 'smooth' });
}
</script>