{"id":14,"date":"2026-04-17T09:43:12","date_gmt":"2026-04-17T09:43:12","guid":{"rendered":"https:\/\/wkshirt.crystalpromotions.nl\/?page_id=14"},"modified":"2026-04-17T09:43:52","modified_gmt":"2026-04-17T09:43:52","slug":"14-2","status":"publish","type":"page","link":"https:\/\/wkshirt.crystalpromotions.nl\/","title":{"rendered":""},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"nl\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>WK 2026 Shirts met Jouw Logo<\/title>\n<style>\n  * { box-sizing: border-box; margin: 0; padding: 0; }\n\n  body {\n    font-family: 'Segoe UI', Arial, sans-serif;\n    background: #f5f5f5;\n    color: #222;\n  }\n\n  \/* HERO *\/\n  .hero {\n    background: #E87722;\n    color: white;\n    text-align: center;\n    padding: 48px 24px 40px;\n  }\n  .hero-logo {\n    width: 56px; height: 56px;\n    margin: 0 auto 16px;\n  }\n  .hero h1 {\n    font-size: clamp(2rem, 6vw, 3.5rem);\n    font-weight: 900;\n    letter-spacing: -1px;\n    line-height: 1.1;\n    text-transform: uppercase;\n  }\n  .hero h1 span { color: #fff; }\n  .hero p {\n    margin-top: 12px;\n    font-size: 1.05rem;\n    opacity: .9;\n  }\n  .deadline-badge {\n    display: inline-block;\n    margin-top: 20px;\n    background: white;\n    color: #E87722;\n    font-weight: 800;\n    font-size: .95rem;\n    padding: 8px 22px;\n    border-radius: 50px;\n    text-transform: uppercase;\n    letter-spacing: .5px;\n  }\n\n  \/* SHIRTS GRID *\/\n  .section { max-width: 1100px; margin: 0 auto; padding: 48px 24px; }\n  .section-title {\n    font-size: 1.5rem;\n    font-weight: 800;\n    text-transform: uppercase;\n    letter-spacing: 1px;\n    margin-bottom: 28px;\n    text-align: center;\n    color: #333;\n  }\n\n  .shirts-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));\n    gap: 20px;\n    margin-bottom: 48px;\n  }\n\n  .shirt-card {\n    background: white;\n    border-radius: 16px;\n    padding: 24px 20px 20px;\n    text-align: center;\n    border: 2px solid transparent;\n    cursor: pointer;\n    transition: border-color .2s, box-shadow .2s;\n    position: relative;\n  }\n  .shirt-card:hover { box-shadow: 0 4px 20px rgba(232,119,34,.15); }\n  .shirt-card.selected {\n    border-color: #E87722;\n    box-shadow: 0 4px 20px rgba(232,119,34,.25);\n  }\n  .shirt-card .badge {\n    display: inline-block;\n    background: #E87722;\n    color: white;\n    font-size: .75rem;\n    font-weight: 700;\n    padding: 4px 12px;\n    border-radius: 50px;\n    text-transform: uppercase;\n    letter-spacing: .5px;\n    margin-bottom: 14px;\n  }\n  .shirt-card .shirt-img {\n    width: 100px; height: 100px;\n    object-fit: contain;\n    margin: 0 auto 14px;\n    display: block;\n  }\n  .shirt-emoji {\n    font-size: 64px;\n    line-height: 1;\n    margin-bottom: 14px;\n    display: block;\n  }\n  .shirt-card h3 {\n    font-size: 1rem;\n    font-weight: 700;\n    text-transform: uppercase;\n    letter-spacing: .5px;\n    margin-bottom: 6px;\n    color: #222;\n  }\n  .shirt-card p {\n    font-size: .82rem;\n    color: #666;\n    line-height: 1.4;\n    margin-bottom: 16px;\n  }\n  .price-row {\n    display: flex;\n    justify-content: space-between;\n    font-size: .8rem;\n    border-top: 1px solid #f0f0f0;\n    padding-top: 10px;\n    gap: 4px;\n  }\n  .price-cell { text-align: center; flex: 1; }\n  .price-cell .qty { font-size: .7rem; color: #999; display: block; margin-bottom: 2px; }\n  .price-cell .price { font-weight: 700; color: #E87722; font-size: .9rem; }\n  .check-icon {\n    position: absolute;\n    top: 12px; right: 12px;\n    width: 22px; height: 22px;\n    background: #E87722;\n    border-radius: 50%;\n    display: none;\n    align-items: center;\n    justify-content: center;\n    color: white;\n    font-size: 12px;\n    font-weight: 700;\n  }\n  .shirt-card.selected .check-icon { display: flex; }\n\n  \/* FORM *\/\n  .form-section {\n    background: white;\n    border-radius: 20px;\n    padding: 40px;\n    max-width: 800px;\n    margin: 0 auto;\n    box-shadow: 0 2px 20px rgba(0,0,0,.07);\n  }\n\n  .form-section h2 {\n    font-size: 1.4rem;\n    font-weight: 800;\n    text-transform: uppercase;\n    color: #333;\n    margin-bottom: 28px;\n    padding-bottom: 14px;\n    border-bottom: 2px solid #E87722;\n  }\n\n  .form-row {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 16px;\n    margin-bottom: 16px;\n  }\n  @media(max-width: 560px) {\n    .form-row { grid-template-columns: 1fr; }\n    .form-section { padding: 24px 16px; }\n  }\n  .form-row.single { grid-template-columns: 1fr; }\n\n  label {\n    display: block;\n    font-size: .8rem;\n    font-weight: 600;\n    color: #555;\n    text-transform: uppercase;\n    letter-spacing: .4px;\n    margin-bottom: 6px;\n  }\n  input[type=\"text\"],\n  input[type=\"email\"],\n  input[type=\"tel\"],\n  input[type=\"number\"],\n  select {\n    width: 100%;\n    padding: 11px 14px;\n    border: 1.5px solid #e0e0e0;\n    border-radius: 10px;\n    font-size: .95rem;\n    color: #222;\n    background: #fafafa;\n    outline: none;\n    transition: border-color .2s;\n  }\n  input:focus, select:focus { border-color: #E87722; background: white; }\n  input[type=\"number\"] { -moz-appearance: textfield; }\n  input[type=\"number\"]::-webkit-outer-spin-button,\n  input[type=\"number\"]::-webkit-inner-spin-button { -webkit-appearance: none; }\n\n  \/* SHIRT SELECTOR IN FORM *\/\n  .form-shirt-pick {\n    display: grid;\n    grid-template-columns: repeat(4, 1fr);\n    gap: 10px;\n    margin-bottom: 24px;\n  }\n  @media(max-width: 560px) { .form-shirt-pick { grid-template-columns: repeat(2,1fr); } }\n  .pick-btn {\n    padding: 10px 6px;\n    border: 1.5px solid #e0e0e0;\n    border-radius: 10px;\n    background: #fafafa;\n    cursor: pointer;\n    font-size: .82rem;\n    font-weight: 600;\n    color: #555;\n    text-transform: uppercase;\n    transition: all .2s;\n    text-align: center;\n  }\n  .pick-btn:hover { border-color: #E87722; color: #E87722; }\n  .pick-btn.active { border-color: #E87722; background: #fff5ec; color: #E87722; }\n\n  \/* MATEN *\/\n  .sizes-grid {\n    display: grid;\n    grid-template-columns: repeat(7, 1fr);\n    gap: 10px;\n    margin-bottom: 8px;\n  }\n  @media(max-width:560px) { .sizes-grid { grid-template-columns: repeat(4,1fr); } }\n  .size-field label { font-size: .72rem; }\n  .size-field input { text-align: center; padding: 9px 4px; }\n\n  .total-box {\n    background: #fff5ec;\n    border: 1.5px solid #E87722;\n    border-radius: 12px;\n    padding: 16px 20px;\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    margin: 24px 0;\n  }\n  .total-box .label { font-size: .85rem; color: #666; font-weight: 600; text-transform: uppercase; }\n  .total-box .amount { font-size: 1.5rem; font-weight: 800; color: #E87722; }\n\n  .qty-select {\n    margin-bottom: 20px;\n  }\n\n  .note-box {\n    background: #f9f9f9;\n    border-radius: 10px;\n    padding: 14px;\n    margin-bottom: 20px;\n  }\n  .note-box textarea {\n    width: 100%;\n    border: 1.5px solid #e0e0e0;\n    border-radius: 10px;\n    padding: 11px 14px;\n    font-size: .95rem;\n    font-family: inherit;\n    resize: vertical;\n    min-height: 80px;\n    outline: none;\n    background: white;\n    transition: border-color .2s;\n  }\n  .note-box textarea:focus { border-color: #E87722; }\n\n  .submit-btn {\n    width: 100%;\n    padding: 16px;\n    background: #E87722;\n    color: white;\n    border: none;\n    border-radius: 12px;\n    font-size: 1.05rem;\n    font-weight: 800;\n    text-transform: uppercase;\n    letter-spacing: 1px;\n    cursor: pointer;\n    transition: background .2s, transform .1s;\n  }\n  .submit-btn:hover { background: #d06610; }\n  .submit-btn:active { transform: scale(.98); }\n  .submit-btn:disabled { background: #ccc; cursor: not-allowed; }\n\n  .disclaimer {\n    font-size: .78rem;\n    color: #999;\n    text-align: center;\n    margin-top: 12px;\n    line-height: 1.5;\n  }\n\n  .excl-btw {\n    font-size: .78rem;\n    color: #999;\n    margin-top: 4px;\n  }\n\n  .alert {\n    display: none;\n    background: #d4f5e2;\n    border: 1.5px solid #4caf82;\n    color: #1a6641;\n    border-radius: 12px;\n    padding: 18px 20px;\n    text-align: center;\n    font-weight: 600;\n    margin-bottom: 20px;\n    font-size: .95rem;\n  }\n  .alert.show { display: block; }\n\n  .alert-error {\n    display: none;\n    background: #fde8e8;\n    border: 1.5px solid #e57373;\n    color: #c62828;\n    border-radius: 12px;\n    padding: 14px 20px;\n    margin-bottom: 16px;\n    font-size: .88rem;\n  }\n  .alert-error.show { display: block; }\n\n  footer {\n    text-align: center;\n    padding: 32px 16px;\n    font-size: .82rem;\n    color: #999;\n  }\n  footer a { color: #E87722; text-decoration: none; }\n<\/style>\n<\/head>\n<body>\n\n<div class=\"hero\">\n  <svg class=\"hero-logo\" viewBox=\"0 0 56 56\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n    <polygon points=\"28,6 52,20 52,36 28,50 4,36 4,20\" fill=\"rgba(255,255,255,0.15)\" stroke=\"white\" stroke-width=\"2\"\/>\n    <text x=\"28\" y=\"33\" text-anchor=\"middle\" fill=\"white\" font-size=\"16\" font-weight=\"900\" font-family=\"Arial\">CP<\/text>\n  <\/svg>\n  <h1>WK 2026 Shirts<br><span>met jouw logo<\/span><\/h1>\n  <p>Keuze uit 4 modellen &bull; Incl. bedrukking &bull; Vanaf 50 stuks<\/p>\n  <div class=\"deadline-badge\">&#9200; Bestel voor 1 juni 2026<\/div>\n<\/div>\n\n<!-- SHIRT OVERVIEW -->\n<div class=\"section\">\n  <div class=\"section-title\">Kies jouw model<\/div>\n  <div class=\"shirts-grid\">\n\n    <div class=\"shirt-card\" data-model=\"Exclusief\" onclick=\"selectShirt(this)\">\n      <div class=\"check-icon\">&#10003;<\/div>\n      <div class=\"badge\">Exclusief<\/div>\n      <div class=\"shirt-emoji\">\ud83d\udfe0<\/div>\n      <h3>Exclusief<\/h3>\n      <p>Modern oranje T-shirt met de Nederlandse vlag op de hals en mouwen<\/p>\n      <div class=\"price-row\">\n        <div class=\"price-cell\"><span class=\"qty\">50 st.<\/span><span class=\"price\">\u20ac16,00<\/span><\/div>\n        <div class=\"price-cell\"><span class=\"qty\">100 st.<\/span><span class=\"price\">\u20ac15,00<\/span><\/div>\n        <div class=\"price-cell\"><span class=\"qty\">250 st.<\/span><span class=\"price\">\u20ac14,00<\/span><\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"shirt-card\" data-model=\"Premium\" onclick=\"selectShirt(this)\">\n      <div class=\"check-icon\">&#10003;<\/div>\n      <div class=\"badge\">Premium<\/div>\n      <div class=\"shirt-emoji\">\u26aa<\/div>\n      <h3>Premium<\/h3>\n      <p>Raglan wit T-shirt met oranje mouwen (niet verkrijgbaar in XS)<\/p>\n      <div class=\"price-row\">\n        <div class=\"price-cell\"><span class=\"qty\">50 st.<\/span><span class=\"price\">\u20ac8,50<\/span><\/div>\n        <div class=\"price-cell\"><span class=\"qty\">100 st.<\/span><span class=\"price\">\u20ac7,50<\/span><\/div>\n        <div class=\"price-cell\"><span class=\"qty\">250 st.<\/span><span class=\"price\">\u20ac6,50<\/span><\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"shirt-card\" data-model=\"Promo\" onclick=\"selectShirt(this)\">\n      <div class=\"check-icon\">&#10003;<\/div>\n      <div class=\"badge\">Promo<\/div>\n      <div class=\"shirt-emoji\">\ud83d\udfe7<\/div>\n      <h3>Promo<\/h3>\n      <p>Kwalitatief mooi oranje T-shirt, strak en betaalbaar<\/p>\n      <div class=\"price-row\">\n        <div class=\"price-cell\"><span class=\"qty\">50 st.<\/span><span class=\"price\">\u20ac7,50<\/span><\/div>\n        <div class=\"price-cell\"><span class=\"qty\">100 st.<\/span><span class=\"price\">\u20ac6,75<\/span><\/div>\n        <div class=\"price-cell\"><span class=\"qty\">250 st.<\/span><span class=\"price\">\u20ac5,95<\/span><\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"shirt-card\" data-model=\"Special\" onclick=\"selectShirt(this)\">\n      <div class=\"check-icon\">&#10003;<\/div>\n      <div class=\"badge\">Special<\/div>\n      <div class=\"shirt-emoji\">\ud83e\udd81<\/div>\n      <h3>Special<\/h3>\n      <p>Kwalitatief mooi T-shirt met meerdere kleuren print (Dutch Army)<\/p>\n      <div class=\"price-row\">\n        <div class=\"price-cell\"><span class=\"qty\">50 st.<\/span><span class=\"price\">\u20ac9,95<\/span><\/div>\n        <div class=\"price-cell\"><span class=\"qty\">100 st.<\/span><span class=\"price\">\u20ac9,00<\/span><\/div>\n        <div class=\"price-cell\"><span class=\"qty\">250 st.<\/span><span class=\"price\">\u20ac8,00<\/span><\/div>\n      <\/div>\n    <\/div>\n\n  <\/div>\n\n  <!-- BESTELFORMULIER -->\n  <div class=\"form-section\">\n    <h2>&#128221; Bestelformulier<\/h2>\n\n    <div id=\"success-alert\" class=\"alert\">\n      &#10003; Je bestelling is verstuurd! We nemen zo snel mogelijk contact met je op.\n    <\/div>\n    <div id=\"error-alert\" class=\"alert-error\"><\/div>\n\n    <!-- MODEL KEUZE -->\n    <label>Model<\/label>\n    <div class=\"form-shirt-pick\" style=\"margin-bottom:20px;\">\n      <button type=\"button\" class=\"pick-btn\" data-model=\"Exclusief\" onclick=\"pickModel(this)\">Exclusief<\/button>\n      <button type=\"button\" class=\"pick-btn\" data-model=\"Premium\" onclick=\"pickModel(this)\">Premium<\/button>\n      <button type=\"button\" class=\"pick-btn\" data-model=\"Promo\" onclick=\"pickModel(this)\">Promo<\/button>\n      <button type=\"button\" class=\"pick-btn\" data-model=\"Special\" onclick=\"pickModel(this)\">Special<\/button>\n    <\/div>\n\n    <!-- AANTAL -->\n    <div class=\"qty-select\">\n      <label>Aantal<\/label>\n      <select id=\"qty-select\" onchange=\"updateTotal()\">\n        <option value=\"\">&#8212; Kies aantal &#8212;<\/option>\n        <option value=\"50\">50 stuks<\/option>\n        <option value=\"100\">100 stuks<\/option>\n        <option value=\"250\">250 stuks<\/option>\n      <\/select>\n    <\/div>\n\n    <!-- MATEN -->\n    <label>Verdeling per maat<\/label>\n    <div class=\"sizes-grid\" style=\"margin-bottom:6px;\">\n      <div class=\"size-field\">\n        <label>XS<\/label>\n        <input type=\"number\" id=\"sz-xs\" min=\"0\" value=\"0\" placeholder=\"0\" onchange=\"updateTotal()\">\n      <\/div>\n      <div class=\"size-field\">\n        <label>S<\/label>\n        <input type=\"number\" id=\"sz-s\" min=\"0\" value=\"0\" placeholder=\"0\" onchange=\"updateTotal()\">\n      <\/div>\n      <div class=\"size-field\">\n        <label>M<\/label>\n        <input type=\"number\" id=\"sz-m\" min=\"0\" value=\"0\" placeholder=\"0\" onchange=\"updateTotal()\">\n      <\/div>\n      <div class=\"size-field\">\n        <label>L<\/label>\n        <input type=\"number\" id=\"sz-l\" min=\"0\" value=\"0\" placeholder=\"0\" onchange=\"updateTotal()\">\n      <\/div>\n      <div class=\"size-field\">\n        <label>XL<\/label>\n        <input type=\"number\" id=\"sz-xl\" min=\"0\" value=\"0\" placeholder=\"0\" onchange=\"updateTotal()\">\n      <\/div>\n      <div class=\"size-field\">\n        <label>XXL<\/label>\n        <input type=\"number\" id=\"sz-xxl\" min=\"0\" value=\"0\" placeholder=\"0\" onchange=\"updateTotal()\">\n      <\/div>\n      <div class=\"size-field\">\n        <label>3XL<\/label>\n        <input type=\"number\" id=\"sz-3xl\" min=\"0\" value=\"0\" placeholder=\"0\" onchange=\"updateTotal()\">\n      <\/div>\n    <\/div>\n    <div id=\"size-note\" style=\"font-size:.78rem;color:#999;margin-bottom:20px;\">Totaal maten: <span id=\"size-total\">0<\/span> stuks<\/div>\n\n    <!-- TOTAAL -->\n    <div class=\"total-box\">\n      <div>\n        <div class=\"label\">Geschatte totaalprijs<\/div>\n        <div class=\"excl-btw\">Excl. BTW<\/div>\n      <\/div>\n      <div class=\"amount\" id=\"total-price\">\u2014<\/div>\n    <\/div>\n\n    <!-- GEGEVENS -->\n    <div class=\"form-row\">\n      <div>\n        <label>Voornaam *<\/label>\n        <input type=\"text\" id=\"voornaam\" placeholder=\"Jan\" required>\n      <\/div>\n      <div>\n        <label>Achternaam *<\/label>\n        <input type=\"text\" id=\"achternaam\" placeholder=\"de Vries\" required>\n      <\/div>\n    <\/div>\n\n    <div class=\"form-row single\">\n      <div>\n        <label>Bedrijfsnaam *<\/label>\n        <input type=\"text\" id=\"bedrijf\" placeholder=\"Mijn Bedrijf B.V.\" required>\n      <\/div>\n    <\/div>\n\n    <div class=\"form-row\">\n      <div>\n        <label>E-mailadres *<\/label>\n        <input type=\"email\" id=\"email\" placeholder=\"jan@bedrijf.nl\" required>\n      <\/div>\n      <div>\n        <label>Telefoonnummer<\/label>\n        <input type=\"tel\" id=\"telefoon\" placeholder=\"06 12345678\">\n      <\/div>\n    <\/div>\n\n    <div class=\"form-row single\">\n      <div>\n        <label>Straat + huisnummer *<\/label>\n        <input type=\"text\" id=\"straat\" placeholder=\"Voorbeeldstraat 12\" required>\n      <\/div>\n    <\/div>\n\n    <div class=\"form-row\">\n      <div>\n        <label>Postcode *<\/label>\n        <input type=\"text\" id=\"postcode\" placeholder=\"1234 AB\" required>\n      <\/div>\n      <div>\n        <label>Plaats *<\/label>\n        <input type=\"text\" id=\"plaats\" placeholder=\"Amsterdam\" required>\n      <\/div>\n    <\/div>\n\n    <div class=\"note-box\">\n      <label>Opmerkingen \/ logo informatie<\/label>\n      <textarea id=\"opmerkingen\" placeholder=\"Bijv. logo bestand volgt per mail, kleur voorkeur, etc.\"><\/textarea>\n    <\/div>\n\n    <button class=\"submit-btn\" onclick=\"submitForm()\">\n      Bestelling versturen &rarr;\n    <\/button>\n    <div class=\"disclaimer\">\n      Door te bestellen ga je akkoord met onze algemene voorwaarden.<br>\n      Alle prijzen zijn excl. BTW &bull; Bestel voor 1 juni 2026\n    <\/div>\n\n  <\/div>\n<\/div>\n\n<footer>\n  Crystal Promotions &bull; <a href=\"mailto:info@crystalpromotions.nl\">info@crystalpromotions.nl<\/a> &bull; <a href=\"tel:0294465065\">0294 465 065<\/a>\n<\/footer>\n\n<script>\n  const prices = {\n    Exclusief: { 50: 16.00, 100: 15.00, 250: 14.00 },\n    Premium:   { 50: 8.50,  100: 7.50,  250: 6.50  },\n    Promo:     { 50: 7.50,  100: 6.75,  250: 5.95  },\n    Special:   { 50: 9.95,  100: 9.00,  250: 8.00  }\n  };\n\n  let selectedModel = '';\n\n  function selectShirt(card) {\n    document.querySelectorAll('.shirt-card').forEach(c => c.classList.remove('selected'));\n    card.classList.add('selected');\n    selectedModel = card.dataset.model;\n    document.querySelectorAll('.pick-btn').forEach(b => {\n      b.classList.toggle('active', b.dataset.model === selectedModel);\n    });\n    updateTotal();\n  }\n\n  function pickModel(btn) {\n    selectedModel = btn.dataset.model;\n    document.querySelectorAll('.pick-btn').forEach(b => b.classList.remove('active'));\n    btn.classList.add('active');\n    document.querySelectorAll('.shirt-card').forEach(c => {\n      c.classList.toggle('selected', c.dataset.model === selectedModel);\n    });\n    updateTotal();\n  }\n\n  function updateTotal() {\n    const qty = parseInt(document.getElementById('qty-select').value) || 0;\n    const sizes = ['xs','s','m','l','xl','xxl','3xl'];\n    const sizeTotal = sizes.reduce((sum, s) => sum + (parseInt(document.getElementById('sz-'+s).value)||0), 0);\n    document.getElementById('size-total').textContent = sizeTotal;\n\n    if (selectedModel && qty && prices[selectedModel] && prices[selectedModel][qty]) {\n      const unitPrice = prices[selectedModel][qty];\n      const total = unitPrice * qty;\n      document.getElementById('total-price').textContent = '\u20ac ' + total.toLocaleString('nl-NL', {minimumFractionDigits:2, maximumFractionDigits:2});\n    } else {\n      document.getElementById('total-price').textContent = '\u2014';\n    }\n  }\n\n  function submitForm() {\n    const errorEl = document.getElementById('error-alert');\n    errorEl.classList.remove('show');\n\n    const voornaam  = document.getElementById('voornaam').value.trim();\n    const achternaam= document.getElementById('achternaam').value.trim();\n    const bedrijf   = document.getElementById('bedrijf').value.trim();\n    const email     = document.getElementById('email').value.trim();\n    const straat    = document.getElementById('straat').value.trim();\n    const postcode  = document.getElementById('postcode').value.trim();\n    const plaats    = document.getElementById('plaats').value.trim();\n    const telefoon  = document.getElementById('telefoon').value.trim();\n    const qty       = document.getElementById('qty-select').value;\n    const opmerkingen = document.getElementById('opmerkingen').value.trim();\n\n    if (!voornaam || !achternaam || !bedrijf || !email || !straat || !postcode || !plaats) {\n      errorEl.textContent = 'Vul alle verplichte velden in (gemarkeerd met *).';\n      errorEl.classList.add('show');\n      return;\n    }\n    if (!selectedModel) {\n      errorEl.textContent = 'Selecteer een T-shirt model.';\n      errorEl.classList.add('show');\n      return;\n    }\n    if (!qty) {\n      errorEl.textContent = 'Selecteer een aantal (50, 100 of 250 stuks).';\n      errorEl.classList.add('show');\n      return;\n    }\n\n    const sizes = {\n      XS:  document.getElementById('sz-xs').value   || '0',\n      S:   document.getElementById('sz-s').value    || '0',\n      M:   document.getElementById('sz-m').value    || '0',\n      L:   document.getElementById('sz-l').value    || '0',\n      XL:  document.getElementById('sz-xl').value   || '0',\n      XXL: document.getElementById('sz-xxl').value  || '0',\n      '3XL': document.getElementById('sz-3xl').value|| '0'\n    };\n    const sizeLines = Object.entries(sizes).map(([k,v]) => `  ${k}: ${v} stuks`).join('\\n');\n    const unitPrice = prices[selectedModel][parseInt(qty)];\n    const totalPrice = '\u20ac ' + (unitPrice * parseInt(qty)).toLocaleString('nl-NL', {minimumFractionDigits:2});\n\n    const body = [\n      '=== NIEUWE WK SHIRT BESTELLING ===',\n      '',\n      `Model:      ${selectedModel}`,\n      `Aantal:     ${qty} stuks`,\n      `Prijs\/stuk: \u20ac ${unitPrice.toFixed(2).replace('.',',')} (excl. BTW)`,\n      `Totaal:     ${totalPrice} (excl. BTW)`,\n      '',\n      '--- MAATSVERDELING ---',\n      sizeLines,\n      '',\n      '--- KLANTGEGEVENS ---',\n      `Naam:       ${voornaam} ${achternaam}`,\n      `Bedrijf:    ${bedrijf}`,\n      `E-mail:     ${email}`,\n      `Telefoon:   ${telefoon || 'niet ingevuld'}`,\n      `Adres:      ${straat}, ${postcode} ${plaats}`,\n      '',\n      '--- OPMERKINGEN ---',\n      opmerkingen || '(geen)',\n      '',\n      '=========================',\n      'Verstuurd via bestelformulier website'\n    ].join('\\n');\n\n    const subject = encodeURIComponent(`WK Shirt bestelling \u2013 ${selectedModel} \u2013 ${bedrijf}`);\n    const bodyEncoded = encodeURIComponent(body);\n    const mailtoLink = `mailto:info@crystalpromotions.nl?subject=${subject}&body=${bodyEncoded}`;\n\n    window.location.href = mailtoLink;\n\n    document.getElementById('success-alert').classList.add('show');\n    document.querySelector('.submit-btn').disabled = true;\n    document.querySelector('.submit-btn').textContent = '\u2713 Bestelling verstuurd';\n    window.scrollTo({ top: document.querySelector('.form-section').offsetTop - 20, behavior: 'smooth' });\n  }\n<\/script>\n<\/body>\n<\/html>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>WK 2026 Shirts met Jouw Logo CP WK 2026 Shirtsmet jouw logo Keuze uit 4 modellen &bull; Incl. bedrukking &bull; Vanaf 50 stuks &#9200; Bestel voor 1 juni 2026 Kies jouw model &#10003; Exclusief \ud83d\udfe0 Exclusief Modern oranje T-shirt met de Nederlandse vlag op de hals en mouwen 50 st.\u20ac16,00 100 st.\u20ac15,00 250 st.\u20ac14,00 &#10003; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-14","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>-<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wkshirt.crystalpromotions.nl\/\" \/>\n<meta property=\"og:locale\" content=\"nl_NL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"-\" \/>\n<meta property=\"og:description\" content=\"WK 2026 Shirts met Jouw Logo CP WK 2026 Shirtsmet jouw logo Keuze uit 4 modellen &bull; Incl. bedrukking &bull; Vanaf 50 stuks &#9200; Bestel voor 1 juni 2026 Kies jouw model &#10003; Exclusief \ud83d\udfe0 Exclusief Modern oranje T-shirt met de Nederlandse vlag op de hals en mouwen 50 st.\u20ac16,00 100 st.\u20ac15,00 250 st.\u20ac14,00 &#10003; [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wkshirt.crystalpromotions.nl\/\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-17T09:43:52+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Geschatte leestijd\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/wkshirt.crystalpromotions.nl\\\/\",\"url\":\"https:\\\/\\\/wkshirt.crystalpromotions.nl\\\/\",\"name\":\"-\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wkshirt.crystalpromotions.nl\\\/#website\"},\"datePublished\":\"2026-04-17T09:43:12+00:00\",\"dateModified\":\"2026-04-17T09:43:52+00:00\",\"inLanguage\":\"nl-NL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/wkshirt.crystalpromotions.nl\\\/\"]}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/wkshirt.crystalpromotions.nl\\\/#website\",\"url\":\"https:\\\/\\\/wkshirt.crystalpromotions.nl\\\/\",\"name\":\"\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/wkshirt.crystalpromotions.nl\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"nl-NL\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"-","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wkshirt.crystalpromotions.nl\/","og_locale":"nl_NL","og_type":"article","og_title":"-","og_description":"WK 2026 Shirts met Jouw Logo CP WK 2026 Shirtsmet jouw logo Keuze uit 4 modellen &bull; Incl. bedrukking &bull; Vanaf 50 stuks &#9200; Bestel voor 1 juni 2026 Kies jouw model &#10003; Exclusief \ud83d\udfe0 Exclusief Modern oranje T-shirt met de Nederlandse vlag op de hals en mouwen 50 st.\u20ac16,00 100 st.\u20ac15,00 250 st.\u20ac14,00 &#10003; [&hellip;]","og_url":"https:\/\/wkshirt.crystalpromotions.nl\/","article_modified_time":"2026-04-17T09:43:52+00:00","twitter_card":"summary_large_image","twitter_misc":{"Geschatte leestijd":"2 minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/wkshirt.crystalpromotions.nl\/","url":"https:\/\/wkshirt.crystalpromotions.nl\/","name":"-","isPartOf":{"@id":"https:\/\/wkshirt.crystalpromotions.nl\/#website"},"datePublished":"2026-04-17T09:43:12+00:00","dateModified":"2026-04-17T09:43:52+00:00","inLanguage":"nl-NL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wkshirt.crystalpromotions.nl\/"]}]},{"@type":"WebSite","@id":"https:\/\/wkshirt.crystalpromotions.nl\/#website","url":"https:\/\/wkshirt.crystalpromotions.nl\/","name":"","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wkshirt.crystalpromotions.nl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"nl-NL"}]}},"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wkshirt.crystalpromotions.nl\/index.php?rest_route=\/wp\/v2\/pages\/14","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wkshirt.crystalpromotions.nl\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/wkshirt.crystalpromotions.nl\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/wkshirt.crystalpromotions.nl\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wkshirt.crystalpromotions.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=14"}],"version-history":[{"count":2,"href":"https:\/\/wkshirt.crystalpromotions.nl\/index.php?rest_route=\/wp\/v2\/pages\/14\/revisions"}],"predecessor-version":[{"id":17,"href":"https:\/\/wkshirt.crystalpromotions.nl\/index.php?rest_route=\/wp\/v2\/pages\/14\/revisions\/17"}],"wp:attachment":[{"href":"https:\/\/wkshirt.crystalpromotions.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=14"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}