{"id":7125,"date":"2026-06-04T12:19:55","date_gmt":"2026-06-04T10:19:55","guid":{"rendered":"https:\/\/koykan.com\/?page_id=7125"},"modified":"2026-06-04T12:19:56","modified_gmt":"2026-06-04T10:19:56","slug":"loyalty-club-bmw-munchen","status":"publish","type":"page","link":"https:\/\/koykan.com\/en\/loyalty-club-bmw-munchen\/","title":{"rendered":"Loyalty club &#8211; BMW &#8211; Munchen"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\" \/>\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0\" \/>\n  <title>Koykan Members Club<\/title>\n  <meta name=\"robots\" content=\"noindex, nofollow\" \/>\n  <style>\n    @import url('https:\/\/fonts.googleapis.com\/css2?family=Playfair+Display:wght@400;500&family=DM+Sans:wght@300;400;500&display=swap');\n\n    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n\n    :root {\n      --brown:     #4A3525;\n      --brown-mid: #6B4C35;\n      --sand:      #C8A882;\n      --cream:     #F5EFE6;\n      --light:     #EDE0CC;\n      --dark:      #2C1F14;\n      --muted:     #8C6A4A;\n      --green:     #3B6D11;\n      --green-bg:  #EAF3DE;\n      --amber:     #854F0B;\n      --amber-bg:  #FAEEDA;\n    }\n\n    html, body {\n      min-height: 100%;\n      background: var(--cream);\n      font-family: 'DM Sans', system-ui, sans-serif;\n      color: var(--dark);\n      -webkit-font-smoothing: antialiased;\n    }\n\n    .page {\n      min-height: 100svh;\n      display: flex;\n      flex-direction: column;\n      max-width: 430px;\n      margin: 0 auto;\n    }\n\n    \/* \u2500\u2500 Top bar \u2500\u2500 *\/\n    .topbar {\n      background: var(--brown);\n      padding: 14px 24px 12px;\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n    }\n    .topbar-logo {\n      height: 38px;\n      width: auto;\n      display: block;\n    }\n    .topbar-tag {\n      font-size: 10px;\n      letter-spacing: 1.5px;\n      color: var(--sand);\n      text-transform: uppercase;\n    }\n\n    \/* \u2500\u2500 Company banner \u2500\u2500 *\/\n    .company-banner {\n      background: var(--light);\n      border-bottom: 1px solid #D6C4AC;\n      padding: 10px 24px;\n      display: flex;\n      align-items: center;\n      gap: 10px;\n      min-height: 54px;\n    }\n    .company-initials {\n      width: 34px;\n      height: 34px;\n      border-radius: 6px;\n      background: var(--brown-mid);\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      font-size: 11px;\n      font-weight: 500;\n      color: var(--cream);\n      letter-spacing: 0.5px;\n      flex-shrink: 0;\n      text-transform: uppercase;\n    }\n    .company-text strong {\n      display: block;\n      font-size: 14px;\n      font-weight: 500;\n      color: var(--dark);\n      text-transform: capitalize;\n    }\n    .company-text span {\n      font-size: 12px;\n      color: var(--muted);\n    }\n\n    \/* \u2500\u2500 Hero \u2500\u2500 *\/\n    .hero {\n      display: flex;\n      flex-direction: column;\n      align-items: center;\n      padding: 24px 24px 14px;\n      text-align: center;\n    }\n\n    .discount-ring {\n      width: 148px;\n      height: 148px;\n      border-radius: 50%;\n      border: 3px solid var(--sand);\n      display: flex;\n      flex-direction: column;\n      align-items: center;\n      justify-content: center;\n      margin-bottom: 10px;\n      position: relative;\n      transition: border-color 0.4s;\n    }\n    .discount-ring::before {\n      content: '';\n      position: absolute;\n      inset: 6px;\n      border-radius: 50%;\n      background: var(--brown);\n      transition: background 0.4s;\n    }\n    .discount-ring.is-off-peak::before { background: var(--brown-mid); }\n    .discount-ring.is-off-peak { border-color: #A88560; }\n\n    .discount-number {\n      font-family: 'Playfair Display', serif;\n      font-size: 52px;\n      color: var(--cream);\n      line-height: 1;\n      position: relative;\n      z-index: 1;\n    }\n    .discount-pct {\n      font-size: 18px;\n      color: var(--sand);\n      position: relative;\n      z-index: 1;\n      font-weight: 300;\n      margin-top: -4px;\n    }\n\n    \/* \u2500\u2500 Cryptic code \u2500\u2500 *\/\n    .cryptic-code {\n      font-family: monospace;\n      font-size: 10px;\n      color: rgba(200,168,130,0.55);\n      letter-spacing: 1px;\n      margin-top: 6px;\n      position: relative;\n      z-index: 1;\n      user-select: none;\n    }\n\n    \/* \u2500\u2500 Time badge \u2500\u2500 *\/\n    .time-badge {\n      display: inline-flex;\n      align-items: center;\n      gap: 6px;\n      font-size: 12px;\n      font-weight: 500;\n      padding: 5px 12px;\n      border-radius: 20px;\n      margin-bottom: 14px;\n    }\n    .time-badge.lunch  { background: var(--green-bg); color: var(--green); }\n    .time-badge.offpeak { background: var(--amber-bg); color: var(--amber); }\n    .time-dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; flex-shrink: 0; }\n\n    .hero-title {\n      font-family: 'Playfair Display', serif;\n      font-size: 24px;\n      font-weight: 400;\n      color: var(--dark);\n      line-height: 1.3;\n      margin-bottom: 6px;\n    }\n    .hero-sub {\n      font-size: 14px;\n      color: var(--muted);\n      font-weight: 300;\n      line-height: 1.6;\n      max-width: 280px;\n      margin-bottom: 16px;\n    }\n\n    \/* \u2500\u2500 Cards \u2500\u2500 *\/\n    .card {\n      margin: 0 20px 14px;\n      background: #fff;\n      border-radius: 16px;\n      border: 1px solid #DDD0BC;\n      overflow: hidden;\n    }\n    .card-head {\n      background: var(--brown);\n      padding: 9px 18px;\n      font-size: 10px;\n      letter-spacing: 1.5px;\n      text-transform: uppercase;\n      color: var(--sand);\n      font-weight: 500;\n    }\n\n    .tariff-table { padding: 4px 0; }\n    .tariff-row {\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n      padding: 11px 18px;\n      border-bottom: 1px solid #F0E8DC;\n      transition: background 0.3s;\n    }\n    .tariff-row:last-child { border-bottom: none; }\n    .tariff-row.active-rate { background: #FAF5EE; }\n    .tariff-left { font-size: 13px; color: var(--dark); }\n    .tariff-time { font-size: 11px; color: var(--muted); margin-top: 2px; }\n    .tariff-pill {\n      font-size: 14px;\n      font-weight: 500;\n      padding: 4px 12px;\n      border-radius: 20px;\n    }\n    .tariff-pill.lunch-pill { background: var(--green-bg); color: var(--green); }\n    .tariff-pill.off-pill   { background: var(--amber-bg); color: var(--amber); }\n    .tariff-active-dot {\n      width: 6px; height: 6px; border-radius: 50%;\n      background: var(--green); margin-left: 8px;\n      flex-shrink: 0; display: none;\n    }\n    .tariff-row.active-rate .tariff-active-dot { display: block; }\n\n    .steps { padding: 14px 18px; display: flex; flex-direction: column; gap: 12px; }\n    .step { display: flex; align-items: flex-start; gap: 12px; }\n    .step-num {\n      width: 26px; height: 26px; border-radius: 50%;\n      background: var(--light);\n      display: flex; align-items: center; justify-content: center;\n      font-size: 12px; font-weight: 500; color: var(--brown-mid); flex-shrink: 0;\n    }\n    .step-text { font-size: 13px; color: var(--dark); line-height: 1.5; padding-top: 4px; }\n    .step-text em { font-style: normal; font-weight: 500; color: var(--brown); }\n\n    \/* \u2500\u2500 Show CTA \u2500\u2500 *\/\n    .show-cta {\n      margin: 0 20px 16px;\n      background: var(--brown);\n      border-radius: 14px;\n      padding: 16px 20px;\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n      gap: 12px;\n    }\n    .show-cta-text { font-size: 13px; color: var(--sand); line-height: 1.5; font-weight: 300; }\n    .show-cta-text strong { display: block; font-size: 15px; color: var(--cream); font-weight: 500; margin-bottom: 2px; }\n    .show-icon {\n      width: 44px; height: 44px; border-radius: 50%;\n      border: 1.5px solid var(--sand);\n      display: flex; align-items: center; justify-content: center; flex-shrink: 0;\n    }\n    .show-icon svg { width: 22px; height: 22px; stroke: var(--sand); fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }\n\n    \/* \u2500\u2500 Countdown \u2500\u2500 *\/\n    .countdown-wrap {\n      margin: 0 20px 14px;\n      border-radius: 12px;\n      overflow: hidden;\n      border: 1px solid #D6C4AC;\n    }\n    .countdown-wrap.lunch-mode  { border-color: #B8D99A; }\n    .countdown-wrap.starts-mode { border-color: #D6C4AC; }\n    .countdown-wrap.weekend-mode { border-color: #D6C4AC; }\n\n    .countdown-head {\n      padding: 7px 16px;\n      font-size: 10px;\n      letter-spacing: 1.5px;\n      text-transform: uppercase;\n      font-weight: 500;\n    }\n    .lunch-mode  .countdown-head { background: var(--green-bg);  color: var(--green); }\n    .starts-mode .countdown-head { background: var(--amber-bg);  color: var(--amber); }\n    .weekend-mode .countdown-head { background: var(--light);    color: var(--muted); }\n\n    .countdown-body {\n      background: #fff;\n      padding: 12px 16px;\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n      gap: 8px;\n    }\n    .countdown-timer {\n      font-family: monospace;\n      font-size: 28px;\n      font-weight: 500;\n      letter-spacing: 2px;\n      color: var(--dark);\n      line-height: 1;\n    }\n    .lunch-mode  .countdown-timer { color: var(--green); }\n    .starts-mode .countdown-timer { color: var(--amber); }\n    .weekend-mode .countdown-timer { color: var(--muted); }\n\n    .countdown-label {\n      font-size: 12px;\n      color: var(--muted);\n      font-weight: 300;\n      text-align: right;\n      line-height: 1.4;\n      max-width: 120px;\n    }\n\n    \/* \u2500\u2500 Disclaimer \u2500\u2500 *\/\n    .disclaimer {\n      margin: 0 20px 20px;\n      padding: 14px 16px;\n      background: var(--light);\n      border-radius: 10px;\n      border: 1px solid #D6C4AC;\n      font-size: 11px;\n      color: var(--muted);\n      line-height: 1.7;\n      font-weight: 300;\n    }\n    .disclaimer strong {\n      display: block;\n      font-size: 10px;\n      letter-spacing: 1px;\n      text-transform: uppercase;\n      color: var(--brown-mid);\n      font-weight: 500;\n      margin-bottom: 6px;\n    }\n\n    \/* \u2500\u2500 Footer \u2500\u2500 *\/\n    .footer {\n      text-align: center;\n      padding: 14px 24px 28px;\n      font-size: 11px;\n      color: var(--muted);\n      line-height: 1.7;\n      border-top: 1px solid #DDD0BC;\n      font-weight: 300;\n    }\n    .footer a { color: var(--muted); text-decoration: underline; }\n  <\/style>\n<\/head>\n<body>\n<div class=\"page\">\n\n  <header class=\"topbar\">\n    <img decoding=\"async\" class=\"topbar-logo\" src=\"data:image\/jpeg;base64,\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7\/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7\/wAARCADhAOEDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAwQHAQL\/xAA6EAACAQQABAQFAgQFAwUAAAAAAQIDBAURBhIhMQcTQVEUImFxgTKRFSNCoVJydLHwNpKyM2KCwuH\/xAAaAQEBAQEBAQEAAAAAAAAAAAAAAgMBBAUG\/8QAKREBAAICAQMCBgIDAAAAAAAAAAECAxESBCExQXETMoGR4fAiQlHB0f\/aAAwDAQACEQMRAD8AtoAPzj9KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFppeH\/FFTH\/ABisoLceZUZVUqrX27J\/RvZVaWv8sbRa9afNOlWB7KMoScJxcZRemmtNP2PCVgAAAAAAAAAAAAAAAAAAAAAAAAAAHkukW\/oenkv0v7AXLxMwWMwixP8ADaEqPxNGcqu6kpba5dd29d2U46J409sD\/p6n\/wBCucGcJ5DiS43SToWUJaq3Mo7Sf+GK\/ql\/t6+m\/Rmx7zTWkPNhyawxa8\/u1eBsZK2+CyFe08+lX8mo4ebSluE9eqZL8J8J5XiOcpWsY0bWEuWdxV3yp+y\/xP8A42jGtLWnjEd29r1rHKZ7MnhtjI5TjGzpVIqVKg3cVE\/aHb8czivydSuLTJW3FdXiHKZyFliLeLp0rXzXyTjy63PeknzNv1fRIruG4Ws8NcVaeO45trbIVY+VLUKTlre9KLk2uuu3XoVXj3h7iLGV1dZe6q5GhJ8sLp1JSSfs0\/0v+31PbTeHH3rvvvy8NtZsna2u2vH\/AFDcTXlDIcQ5C+to8tGvcTnDprab7\/d9\/wAkeTHB2FhxBnKeNleRtOeEpqThzOWuriltddbf4NHL2VXG5S6x9b9dvVlTb130+j\/K0\/yeO0WmOc+r21msTwj0apktYRqXNKnJbjKcU\/s2b3C+JqZzO22MpzcPOk+eet8kUm2\/7fvo+8rjY4jiiWNjdRuvh68IurGPKm+ja1t9t6\/ByKTrl6E3jfH1S\/ijhcdgs9b2mMoSo0Z2qqSTqSnuXNJd236JFTL543\/9U2n+ij\/5zIng7g2\/4hhO6lUVnYQT3cVI9JNekV6rfd9l19TbLjm2aa0hliyRXDFryrIPuvT8qvUpc9OpySceenLcZaetp+q+pYuEeDMrxFD4im4Wtkm18RVT+bXflX9X9l9TGtLXnVYbWvWkbtPZWgdFj4fYOrP4ahxhbTu30UFyNt\/5VLZVeK+F8pw5XjG9hGdCb1TuKe3CX0+j+j\/Gy74L0jcwzpnpedRPdCAnuCeHo8SZSpZO\/haOFJ1FuHM56etL09UR1vicjcZh4ijazqXyqOm6UfSSent9kl79iOFtROvK+ddzG\/DSB0Kl4c2tnQhPP8SWljUmulNOKX\/dJrf7GvlvDm7hZO9wWRoZaik3yw0pP\/K02pfujWemyxG9M46nFM62ooPZJxk4yTjJPTTWmmeGDcAAAAAAAANvD4u9zF\/DH4+j5tepvS3pRXq2\/RI1C1eF2assJxK61\/Py6Feg6LqvtTbaab+ny6\/JeOsWtEW8IyWmtZmsd3TeIuFsZn7zHUsjeTU7Oi\/5FKaTqJuO2\/Xl6a6a790VHxWy2RxflcO2Fssfi5UVyypdPOj6x6dkn3Xd+vRkpfwxvAVhk8hHIVLzKZTmds6vWT9uvqk5bb6b6fQjuHLmhxzwpU4eyVZLLWcee2rz6uSXRSfq\/wDDL3TT79vo5Zi26R2tP7p83FE11ee9Y\/duc4+1ne39tZUnqdxVhSi\/ZyaS\/wBzoPihlZYe2tOEsRKVvbUrdOu4PUpp71Fv66bfvv77pFnKvhOIqE7ujKnWsbqEqtN91yyTa\/sW3xkx03lbbO2\/82yvKEY+bHrFSXbr9Yta+zPJj3GK2vP+nsyanLXfjv8AdQdLWtLR0XwrzEsirjhPKt3NnXoS8lTe3HXeKftrqvbXQ52XrwcxlSrnqmaqLy7SxpyTqS6R55LWt\/SLbft09yemmfiRpXUxHw53+yrNKpW4b4q5oycqmOvHFvtzqEmn+63+5aPGOwprKWedtWpW+Qorc12copaf5i4\/9pUM\/eRyGdv76H6K9xUqQ\/yuT1\/bResYnxN4TXFik6l7iZc1Nd5NR246X1i5RX2Kx6tFsce8fT8IybrNck+0\/X8vjwoo0sXiMxxVdR+ShTdKlv10lKSX3fIv3Knw9jsnxDxClbw82vOr59ebeox+bcpN\/dlv4\/a4f4DxPDEGlWrJVLnT76fNL95ta\/ykb4S5qxxeVu7W\/q\/DwvqcYQr71ySTelv03zd\/dIua150xT4jz7yitrcb5a+Z8e0OhZ\/hTD8QcR0ry\/uZ1J21GMJWsJpJrmk05eunt+3Yo\/ixmsrTv5cPRoKwxtOEeSFPoq8fR9P6VrXKvbrvpqVzKsOAeGr7H21\/UucvkttVJdKii9x53rtr5tP1k3+MVtOl4h8IO2qyhHPY5bhJ6XmfX7S1p+0kn7G+WYtE0jtae\/wCGGKJrMXnvWO35c+4esP4rnbLHbaVxWjCTXdR38zX42XHxXzlSneLhfHP4awtKcI1adPoptxTUX\/7Umunv37Iq\/C13\/B+LLG5uoukre5UaymtOC6xlv7bf7E54u4qvZ8U1Mjyt218ozhNLopKKi479+m\/z9DyV3GG2vO+\/s9d9Tmrvxrt7qXpa1pHTPDnIy4mw9\/wnmJyrxVDnt6sus4x2l3f+FuLX7dkc0OkeCOKru\/u81ODjQjSdvTbX65OSctfblS\/P0Y6XfxIiPXydVqMczPp4UjDX1zgc\/RvIL+daVmpxT\/Ul0lH8raOv5+6xmCw9\/wAYY2lCpd5ClSVOb7SbSUX9Frq168pyO6s62Q4tuLG3\/wDVuL+dOO+ybqNbf0Xc6\/fWGGv8Xc8C28+Wta2dOcN\/0vfyy++0m\/pNe5v03LVoj6e7HquPKsz9fZxG9uri9uql1d1p169R7nUm9t\/89jf4Yzt7w\/k4XtnOXLtedS38tWPqmvf2foRtWnOlVnSqxcKkJOMov0a6NHw+x4YtMTuPL2zWJjU+F68X8dbUcrZ5mzSVLJUnOWlpOS1835Ul+z9yjHQfFP8A6Y4U\/wBM\/wDwpnPjbqYiMk6ZdNMzijYADBuAAAAAB5LrFr6HoAuXibnMZmlif4bcOt8PRnGrunKPK3ya7pb7PsVbF31zjchQv7Op5dejLmg\/T7P3TXR\/RmsC75Jvbl6s6Y4pXhHhafELOYfiC4s76xta1G9dFK6b0o79I\/Vrr19tfjY4R41WNx0sNmrP+I4uS0oaTlTXtp9JL6PWvf0KcCvjX5848ufBpw4T4dE5vClv4jku4+vkfztb9v8AjI7izjaF7jP4JgbL+HYzXLJaUZ1F7aXSKfr1bf7p0wFTntMaiIj2THT1idzMz7hevBS4uafFNa3pRcqFa2bre0eVrll\/dr\/5FY4Yp4arl4Rz1epRseWTnKG9710XRN9y4X3F+AweLrY\/gyzlCrWWp3dSLWvr83zNrrrekv7HcERWYyTOtfdOeZtE44je\/sr\/AIkZN5XjC9qJ7pW8vhqf2g2n+8uZ\/kgLWcad1SnJ6jGcW\/smY\/7gxtabWm0t61itYrC2eKWZx2cz1vdYy4dejC1VOUnCUdS55PWpJejRBcP5W6wmWoZKzl\/MpPrFvpOL7xf0f\/76GgDtsk2vz9U1x1rTh6LH4g5XD5rMwv8AE0K1KVSkviXNJKU9ei90ujfrr8uU4Z42oU8UsJxNYvI49JRpz0pTgl2TT7pej2mvqUgFRmtFptHq5OGs0is+joil4VUpfERhd1WuqoNVmvt17\/lm\/h\/EbHyzcKE6McXhKNCUacVT5pSnuPLtQT5VrfRfv2OWAuOptX5YiPZnPS1tH8pmfeUtb5X4Di15m1Sqxp3k60E+nPFyfT6bT\/B0CXF3BNvf1+JbWldTy1ejyOi4STb0l138i7RTab7evrykE0z2p4XkwVv5ZbyvUurutdVdeZWqSqT123Jtv\/cxPsAYto7Lhx7m8ZlMFgLWxuHVq2dBwrx8uUeV8kF3a69U+xTwCr3m9tyjHSKV4wAAlYAAAAAAAAAABKWmByVe9o2sqHkyq8yTm18rUXLll1+V6XZ6ZFk9LOW\/n0q7tatWtGbnKrVcPM04Si480Ypy25J7lt\/Ku23u6RX+yLzb+qHqWtanawuaihGE38qc1zNdeuu+tp9foKlpc0514TozjK3W6yf9HVR6\/lpfkkYZO1qWatri2moRdKq0tS82dOm4KL7csGn9WuvffTcyN3j542\/ueeEr3IU6cZRhWc0pKcJyfLyJxXyerfVpLa6neNZjy5ytE+EbHC31XHUL23ozr06sJyfLH9PLJppf4npb6dkajtbhTlB0Zc0aSrNe0HFS5vtytM3LTKRoV8PUdGUljqnO1zfr\/mc\/T26dDL\/FLT4ec5Wld3lSx+DlPzV5aSpqmpqOt75Yra3ru\/s1WTdoa11iMpaqLuLGvT5qippOO3zvtFpdU36b7+hhp2N3Uu3a0qEqtZLfLTan06dU10a6rqiTjmZVMpk69O0lVnkbjnjTcntbnJ8vTq382k0Zby9pWNPljRoTr3llOFapRSjBNynBRhpa0ktNr9Wlrp1feNJ77c5X8TCHlY3ca9Og6EvMqKUoJNPmUXJNpro1uMv2M+PxlS7x97fc\/LStIpvSTcpPelptdNJtvr9mSmGu8dTs7W7u5wVeyoVqVOMazTkpOo47hydXuo+qlrWt6004jH38rO2qQhBOpKtRqwk+ydNyfVeu9nONY1Mu8rTuIfVbD5WlKnGpYV1Ko2ox5dvaW3FpdpaW+V9foYoY+9neuyhbTncrvThqT7b9PoSlDN2lpWqVbOzuIOvVdat5ldS1LkqRSi0l0TqN7e30X13F426+DnVlyOXmW9Wj0etc8HHf9xMUIm7PLCZaKk3YVmox5trTUlre4tP5unfl3owOxu1CjLyd+dKMaaUk23L9Ka3tb7retrsbVnlFQr4io6UpRx03Ll5\/17qOfT276NmhnYW8LN0rZebTdv509alKNKPKop7a6re3pPT11Q1SfU3f\/DRhh8pOq6UbKpzxUXJPS1zb5U9vpJ6eo93rsaUoyjJxlFxlF6aa00\/ZktZZalChcW91QnUp1bh3EZRVOUlJrTT54yT3069GvrsjbyvO5u61zUlKU6tSU5OTTbbe+rSXX8Im0V12drNt92IAErAAAAAAAAAAAAAAAAAAAAAAAAZbOvK2uYV4xUnB9n6rWn2F1XdxUUnCMIxioQhHtGKWkuv7\/dsxAb7ac132AAOgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\/\/2Q==\" alt=\"Koykan \u2014 stay hungry for more\" \/>\n    <span class=\"topbar-tag\">Members club<\/span>\n  <\/header>\n\n  <div class=\"company-banner\">\n    <div class=\"company-initials\" id=\"co-initials\">?<\/div>\n    <div class=\"company-text\">\n      <strong id=\"co-name\">Loading\u2026<\/strong>\n      <span>Corporate partner benefit<\/span>\n    <\/div>\n  <\/div>\n\n  <main class=\"hero\">\n    <div class=\"time-badge lunch\" id=\"time-badge\">\n      <span class=\"time-dot\"><\/span>\n      <span id=\"badge-label\">Lunch discount active<\/span>\n    <\/div>\n\n    <div class=\"discount-ring\" id=\"discount-ring\">\n      <div class=\"discount-number\" id=\"discount-number\">10<\/div>\n      <div class=\"discount-pct\">% off<\/div>\n    <\/div>\n    <div class=\"cryptic-code\" id=\"cryptic-code\" aria-hidden=\"true\"><\/div>\n\n    <p class=\"hero-sub\" id=\"hero-sub\" style=\"margin-top:14px\">Weekday lunch discount for every team member.<\/p>\n  <\/main>\n\n  <div class=\"card\">\n    <div class=\"card-head\">Discount schedule<\/div>\n    <div class=\"tariff-table\">\n      <div class=\"tariff-row\" id=\"row-lunch\">\n        <div>\n          <div class=\"tariff-left\">Weekday lunch<\/div>\n          <div class=\"tariff-time\">Mon \u2013 Fri &nbsp;\u00b7&nbsp; 10:30 \u2013 14:30<\/div>\n        <\/div>\n        <div style=\"display:flex;align-items:center\">\n          <span class=\"tariff-pill lunch-pill\">10% off<\/span>\n          <span class=\"tariff-active-dot\"><\/span>\n        <\/div>\n      <\/div>\n      <div class=\"tariff-row\" id=\"row-off\">\n        <div>\n          <div class=\"tariff-left\">All other times<\/div>\n          <div class=\"tariff-time\">Weekends &amp; outside lunch hours<\/div>\n        <\/div>\n        <div style=\"display:flex;align-items:center\">\n          <span class=\"tariff-pill off-pill\">5% off<\/span>\n          <span class=\"tariff-active-dot\"><\/span>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"card\">\n    <div class=\"card-head\">How to use<\/div>\n    <div class=\"steps\">\n      <div class=\"step\">\n        <div class=\"step-num\">1<\/div>\n        <div class=\"step-text\">Open this page on your phone when you order.<\/div>\n      <\/div>\n      <div class=\"step\">\n        <div class=\"step-num\">2<\/div>\n        <div class=\"step-text\"><em>Show the screen<\/em> to the Koykan team member before paying.<\/div>\n      <\/div>\n      <div class=\"step\">\n        <div class=\"step-num\">3<\/div>\n        <div class=\"step-text\">The <em id=\"step-discount\">10%<\/em> discount is applied to your full order. No app, no card needed.<\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"countdown-wrap\" id=\"countdown-wrap\">\n    <div class=\"countdown-head\" id=\"countdown-head\">Lunch discount ends in<\/div>\n    <div class=\"countdown-body\">\n      <div class=\"countdown-timer\" id=\"countdown-timer\">&#8211;:&#8211;:&#8211;<\/div>\n      <div class=\"countdown-label\" id=\"countdown-label\">until 10% discount expires<\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"show-cta\">\n    <div class=\"show-cta-text\">\n      <strong>Show this screen at the counter<\/strong>\n      No sign-in needed. Just show &amp; save.\n    <\/div>\n    <div class=\"show-icon\" aria-hidden=\"true\">\n      <svg viewBox=\"0 0 24 24\"><rect x=\"5\" y=\"2\" width=\"14\" height=\"20\" rx=\"2\"\/><line x1=\"12\" y1=\"18\" x2=\"12.01\" y2=\"18\"\/><\/svg>\n    <\/div>\n  <\/div>\n\n  <div class=\"disclaimer\">\n    <strong>Terms &amp; conditions<\/strong>\n    All rights reserved. This benefit cannot be combined with other promotions or offers.\n    Valid for <span id=\"disclaimer-company\">partner<\/span> employees only \u2014 one redemption per visit.\n    Koykan team members may ask for proof of employment (e.g. company badge or ID) at their discretion.\n    Koykan reserves the right to withdraw this benefit at any time.\n  <\/div>\n\n  <footer class=\"footer\">\n    &copy; Koykan \/ Planets Group d.o.o. \u00b7 All rights reserved<br>\n    Valid until 31 Dec 2026 \u00b7 All Koykan locations \u00b7 CZ &amp; SK<br>\n    <a href=\"https:\/\/koykan.com\/privacy\">Privacy policy<\/a> \u00b7 koykan.com\n  <\/footer>\n\n<\/div>\n\n<script>\n  function getCompanyName() {\n    const path = window.location.pathname;\n    const match = path.match(\/\\\/club\\\/([^_#?\/]+)\/);\n    if (match) return decodeURIComponent(match[1]);\n    const parts = path.split('\/').filter(Boolean);\n    return parts.length ? decodeURIComponent(parts[parts.length - 1]) : 'Partner';\n  }\n\n  function getSlug() {\n    \/\/ Extract the random code after the underscore in path, or from hash\n    const path = window.location.pathname;\n    const hash = window.location.hash.replace('#','');\n    const underMatch = path.match(\/_(.+)$\/);\n    if (underMatch) return underMatch[1];\n    if (hash) return hash;\n    return '';\n  }\n\n  function getInitials(name) {\n    return name.trim().split(\/[\\s_]+\/).slice(0,2).map(w => w[0].toUpperCase()).join('');\n  }\n\n  const company = getCompanyName();\n  const slug    = getSlug();\n\n  document.getElementById('co-name').textContent          = company;\n  document.getElementById('co-initials').textContent      = getInitials(company);\n  document.getElementById('disclaimer-company').textContent = company;\n  document.title = 'Koykan \\u00D7 ' + company + ' \\u2014 Members Discount';\n\n  \/\/ Show slug as cryptic code below the ring\n  if (slug) {\n    document.getElementById('cryptic-code').textContent = slug;\n  }\n\n  \/\/ Lunch window: Mon-Fri 10:30-14:30 (minutes from midnight)\n  const LUNCH_START = 10 * 60 + 30;  \/\/ 630\n  const LUNCH_END   = 14 * 60 + 30;  \/\/ 870\n\n  function pad(n) { return String(n).padStart(2, '0'); }\n\n  function formatHMS(totalSeconds) {\n    if (totalSeconds <= 0) return '00:00:00';\n    const h = Math.floor(totalSeconds \/ 3600);\n    const m = Math.floor((totalSeconds % 3600) \/ 60);\n    const s = totalSeconds % 60;\n    return pad(h) + ':' + pad(m) + ':' + pad(s);\n  }\n\n  \/\/ Returns seconds until next Monday 10:30 from a given Date\n  function secsUntilNextLunchStart(now) {\n    const d = new Date(now);\n    \/\/ Find next weekday\n    let daysAhead = 1;\n    while (true) {\n      const candidate = new Date(d);\n      candidate.setDate(d.getDate() + daysAhead);\n      const day = candidate.getDay();\n      if (day >= 1 && day <= 5) {\n        candidate.setHours(10, 30, 0, 0);\n        return Math.round((candidate - now) \/ 1000);\n      }\n      daysAhead++;\n      if (daysAhead > 7) break;\n    }\n    return 0;\n  }\n\n  function getMode(now) {\n    const day  = now.getDay();\n    const mins = now.getHours() * 60 + now.getMinutes();\n    const isWeekday = day >= 1 && day <= 5;\n    if (isWeekday &#038;&#038; mins >= LUNCH_START && mins < LUNCH_END) return 'lunch';\n    if (!isWeekday) return 'weekend';\n    \/\/ Weekday but outside lunch\n    if (isWeekday &#038;&#038; mins < LUNCH_START) return 'starts-today';\n    return 'off';  \/\/ weekday after lunch\n  }\n\n  function tick() {\n    const now  = new Date();\n    const mode = getMode(now);\n    const isLunch = mode === 'lunch';\n\n    \/\/ \u2500\u2500 Discount ring \u2500\u2500\n    document.getElementById('discount-ring').className =\n      'discount-ring' + (isLunch ? '' : ' is-off-peak');\n    document.getElementById('discount-number').textContent = isLunch ? '10' : '5';\n\n    \/\/ \u2500\u2500 Badge \u2500\u2500\n    const badge = document.getElementById('time-badge');\n    badge.className = 'time-badge ' + (isLunch ? 'lunch' : 'offpeak');\n    document.getElementById('badge-label').textContent = isLunch\n      ? 'Lunch discount active'\n      : 'Standard discount active';\n\n    document.getElementById('hero-sub').textContent = isLunch\n      ? 'Weekday lunch discount for ' + company + ' team members.'\n      : '5% off at all times for ' + company + ' team members.';\n\n    document.getElementById('row-lunch').className = 'tariff-row' + (isLunch  ? ' active-rate' : '');\n    document.getElementById('row-off').className   = 'tariff-row' + (!isLunch ? ' active-rate' : '');\n    document.getElementById('step-discount').textContent = isLunch ? '10%' : '5%';\n\n    \/\/ \u2500\u2500 Countdown \u2500\u2500\n    const wrap  = document.getElementById('countdown-wrap');\n    const head  = document.getElementById('countdown-head');\n    const timer = document.getElementById('countdown-timer');\n    const label = document.getElementById('countdown-label');\n\n    const nowSecs = now.getHours() * 3600 + now.getMinutes() * 60 + now.getSeconds();\n\n    if (mode === 'lunch') {\n      const endSecs = LUNCH_END * 60;\n      const remaining = endSecs - nowSecs;\n      wrap.className  = 'countdown-wrap lunch-mode';\n      head.textContent = 'Lunch discount ends in';\n      timer.textContent = formatHMS(remaining);\n      label.textContent = 'until 10% discount expires';\n\n    } else if (mode === 'starts-today') {\n      const startSecs = LUNCH_START * 60;\n      const remaining = startSecs - nowSecs;\n      wrap.className  = 'countdown-wrap starts-mode';\n      head.textContent = 'Lunch discount starts in';\n      timer.textContent = formatHMS(remaining);\n      label.textContent = 'until 10% lunch rate begins';\n\n    } else if (mode === 'weekend') {\n      const secsAway = secsUntilNextLunchStart(now);\n      wrap.className  = 'countdown-wrap weekend-mode';\n      head.textContent = 'Next lunch discount in';\n      timer.textContent = formatHMS(secsAway);\n      label.textContent = 'back Monday 10:30 \u00b7 5% available now';\n\n    } else {\n      \/\/ Weekday after 14:30 \u2014 show time until tomorrow's lunch\n      const secsAway = secsUntilNextLunchStart(now);\n      wrap.className  = 'countdown-wrap starts-mode';\n      head.textContent = 'Next lunch discount in';\n      timer.textContent = formatHMS(secsAway);\n      label.textContent = 'until 10% lunch rate \u00b7 5% available now';\n    }\n  }\n\n  tick();\n  setInterval(tick, 1000);\n<\/script>\n<\/body>\n<\/html>\n\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Koykan Members Club Members club ? Loading\u2026 Corporate partner benefit Lunch discount active 10 % off Weekday lunch discount for every team member. Discount schedule Weekday lunch Mon \u2013 Fri &nbsp;\u00b7&nbsp; 10:30 \u2013 14:30 10% off All other times Weekends &amp; outside lunch hours 5% off How to use 1 Open this page on your [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-7125","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/koykan.com\/en\/wp-json\/wp\/v2\/pages\/7125","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/koykan.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/koykan.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/koykan.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/koykan.com\/en\/wp-json\/wp\/v2\/comments?post=7125"}],"version-history":[{"count":1,"href":"https:\/\/koykan.com\/en\/wp-json\/wp\/v2\/pages\/7125\/revisions"}],"predecessor-version":[{"id":7126,"href":"https:\/\/koykan.com\/en\/wp-json\/wp\/v2\/pages\/7125\/revisions\/7126"}],"wp:attachment":[{"href":"https:\/\/koykan.com\/en\/wp-json\/wp\/v2\/media?parent=7125"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}