{"id":2134,"date":"2026-06-16T01:02:47","date_gmt":"2026-06-15T15:02:47","guid":{"rendered":"https:\/\/hometownkopi.com.au\/?page_id=2134"},"modified":"2026-06-17T21:20:46","modified_gmt":"2026-06-17T11:20:46","slug":"quick-meals","status":"publish","type":"page","link":"https:\/\/hometownkopi.com.au\/zh_tw\/quick-meals\/","title":{"rendered":"Quick Meals"},"content":{"rendered":"\n\n      <style>\n      body:has(.hk-qm-sync-page) .wp-site-blocks > main,\n      body:has(.hk-qm-sync-page) main,\n      body:has(.hk-qm-sync-page) .site-main,\n      body:has(.hk-qm-sync-page) .site-content,\n      body:has(.hk-qm-sync-page) .content-area,\n      body:has(.hk-qm-sync-page) .entry-content,\n      body:has(.hk-qm-sync-page) .page-content,\n      body:has(.hk-qm-sync-page) .wp-block-post-content,\n      body.hk-qm-active-page .wp-site-blocks > main,\n      body.hk-qm-active-page main,\n      body.hk-qm-active-page .site-main,\n      body.hk-qm-active-page .site-content,\n      body.hk-qm-active-page .content-area,\n      body.hk-qm-active-page .entry-content,\n      body.hk-qm-active-page .page-content,\n      body.hk-qm-active-page .wp-block-post-content {\n        margin-top: 0 !important;\n        padding-top: 0 !important;\n        margin-block-start: 0 !important;\n        padding-block-start: 0 !important;\n      }\n\n      body:has(.hk-qm-sync-page) .wp-site-blocks > header + *,\n      body:has(.hk-qm-sync-page) .wp-site-blocks > .wp-block-template-part + *,\n      body.hk-qm-active-page .wp-site-blocks > header + *,\n      body.hk-qm-active-page .wp-site-blocks > .wp-block-template-part + * {\n        margin-top: 0 !important;\n        margin-block-start: 0 !important;\n      }\n\n      .hk-qm-sync-page {\n        background: #fff8ef;\n        color: #2f2118;\n        font-family: inherit;\n        width: 100vw;\n        margin-left: calc(50% - 50vw);\n        margin-right: calc(50% - 50vw);\n        overflow-x: hidden;\n      }\n\n      .hk-qm-sync-page,\n      .hk-qm-sync-page * {\n        box-sizing: border-box;\n      }\n\n      .hk-qm-sync-wrap {\n        width: min(1180px, calc(100vw - 48px));\n        max-width: 1180px;\n        margin: 0 auto;\n      }\n\n      .hk-qm-sync-hero {\n        min-height: 320px;\n        display: flex;\n        align-items: center;\n        background:\n          linear-gradient(90deg, rgba(20, 10, 4, 0.88) 0%, rgba(20, 10, 4, 0.68) 42%, rgba(20, 10, 4, 0.1) 100%),\n          url(\"https:\/\/hometownkopi.com.au\/wp-content\/uploads\/2026\/06\/Lunch-Special-Fried-Rice.jpg\");\n        background-size: cover;\n        background-position: center right;\n        color: #fff;\n        padding: 48px 24px;\n      }\n\n      .hk-qm-sync-breadcrumb {\n        display: flex;\n        align-items: center;\n        gap: 6px;\n        font-size: 13px;\n        font-weight: 700;\n        margin: 0 0 22px;\n        opacity: 0.95;\n        color: #fff;\n        position: relative;\n        z-index: 2;\n      }\n\n      .hk-qm-sync-breadcrumb a {\n        color: #fff !important;\n        text-decoration: none !important;\n        pointer-events: auto;\n      }\n\n      .hk-qm-sync-breadcrumb a:hover,\n      .hk-qm-sync-breadcrumb a:focus {\n        color: #fff !important;\n        text-decoration: underline !important;\n      }\n\n      .hk-qm-sync-breadcrumb span {\n        color: #fff;\n      }\n\n      .hk-qm-sync-hero h1 {\n        font-size: 58px;\n        line-height: 0.95;\n        letter-spacing: 4px;\n        text-transform: uppercase;\n        margin: 0;\n        color: #fff;\n        font-weight: 950;\n      }\n\n      .hk-qm-sync-hero h2 {\n        font-size: 30px;\n        letter-spacing: 5px;\n        text-transform: uppercase;\n        color: #ff8a1f;\n        margin: 8px 0 14px;\n        font-weight: 950;\n      }\n\n      .hk-qm-sync-hero p {\n        font-size: 18px;\n        line-height: 1.35;\n        max-width: 520px;\n        margin: 0 0 18px;\n        color: #fff7ef;\n      }\n\n      .hk-qm-sync-badges {\n        display: flex;\n        flex-wrap: wrap;\n        gap: 12px;\n      }\n\n      .hk-qm-sync-badge {\n        background: #fff7ee;\n        color: #5a2b08;\n        border-radius: 999px;\n        padding: 12px 18px;\n        font-size: 14px;\n        font-weight: 900;\n      }\n\n      .hk-qm-sync-content {\n        padding: 44px 24px 180px;\n      }\n\n      .hk-qm-sync-step {\n        margin-bottom: 46px;\n      }\n\n      .hk-qm-sync-title {\n        text-align: center;\n        margin-bottom: 24px;\n      }\n\n      .hk-qm-sync-title h2 {\n        margin: 0;\n        font-size: 27px;\n        letter-spacing: 4px;\n        text-transform: uppercase;\n        color: #2f2118;\n        font-weight: 950;\n      }\n\n      .hk-qm-sync-title small {\n        font-size: 17px;\n        letter-spacing: 2px;\n      }\n\n      .hk-qm-sync-title p {\n        margin: 8px 0 0;\n        color: #6b5140;\n        font-size: 15px;\n      }\n\n      .hk-qm-sync-base-grid {\n        display: grid;\n        grid-template-columns: repeat(2, minmax(0, 1fr));\n        gap: 26px;\n      }\n\n      .hk-qm-sync-base-card {\n        appearance: none;\n        width: 100%;\n        background: #fff;\n        border: 2px solid #efd8c0;\n        border-radius: 18px;\n        overflow: hidden;\n        box-shadow: 0 6px 20px rgba(72, 38, 12, 0.08);\n        cursor: pointer;\n        text-align: left;\n        padding: 0;\n        color: #2f2118;\n        transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;\n      }\n\n      .hk-qm-sync-base-card:hover {\n        transform: translateY(-2px);\n        box-shadow: 0 10px 26px rgba(72, 38, 12, 0.11);\n      }\n\n      .hk-qm-sync-base-card.is-selected {\n        border-color: #f07800;\n        box-shadow: 0 0 0 4px rgba(240, 120, 0, 0.12), 0 6px 20px rgba(72, 38, 12, 0.08);\n      }\n\n      .hk-qm-sync-base-img {\n        height: 250px;\n        overflow: hidden;\n        background: #f8eadb;\n      }\n\n      .hk-qm-sync-base-img img {\n        width: 100%;\n        height: 100%;\n        object-fit: cover;\n        object-position: center;\n        display: block;\n      }\n\n      .hk-qm-sync-base-body {\n        padding: 22px 26px 24px;\n      }\n\n      .hk-qm-sync-base-body h3 {\n        margin: 0 0 8px;\n        font-size: 26px;\n        line-height: 1.05;\n        color: #2f2118;\n        font-weight: 950;\n      }\n\n      .hk-qm-sync-price {\n        display: block;\n        color: #c86400;\n        font-size: 20px;\n        font-weight: 950;\n        margin-bottom: 8px;\n      }\n\n      .hk-qm-sync-base-body p {\n        margin: 0;\n        color: #4b392c;\n        font-size: 16px;\n      }\n\n      .hk-qm-sync-main-layout {\n        display: grid;\n        grid-template-columns: 1.1fr 1.1fr 0.8fr;\n        gap: 24px;\n      }\n\n      .hk-qm-sync-main-group {\n        background: rgba(255, 255, 255, 0.7);\n        border: 1px solid #efd8c0;\n        border-radius: 18px;\n        padding: 20px;\n        box-shadow: 0 4px 14px rgba(72, 38, 12, 0.04);\n      }\n\n      .hk-qm-sync-main-group h3 {\n        margin: 0 0 16px;\n        text-align: center;\n        font-size: 17px;\n        letter-spacing: 3px;\n        color: #c86400;\n        text-transform: uppercase;\n        font-weight: 950;\n      }\n\n      .hk-qm-sync-main-list {\n        display: grid;\n        grid-template-columns: 1fr;\n        gap: 10px;\n      }\n\n      .hk-qm-sync-main-pill {\n        appearance: none;\n        width: 100%;\n        background: #fffaf2;\n        border: 1px solid #efd8c0;\n        border-radius: 10px;\n        min-height: 48px;\n        padding: 12px;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        gap: 6px;\n        text-align: center;\n        color: #2f2118;\n        font-size: 15px;\n        font-weight: 850;\n        cursor: pointer;\n        transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;\n      }\n\n      .hk-qm-sync-main-pill:hover {\n        transform: translateY(-1px);\n        border-color: #e7b57e;\n      }\n\n      .hk-qm-sync-main-pill.premium {\n        background: #fff1df;\n        border-color: #e7b57e;\n      }\n\n      .hk-qm-sync-main-pill.is-selected {\n        background: #f07800;\n        border-color: #f07800;\n        color: #fff;\n      }\n\n      .hk-qm-sync-main-pill .plus {\n        color: #c86400;\n        font-size: 13px;\n        font-weight: 950;\n      }\n\n      .hk-qm-sync-main-pill.is-selected .plus {\n        color: #fff;\n      }\n\n      .hk-qm-sync-combo-grid {\n        display: grid;\n        grid-template-columns: repeat(5, minmax(0, 1fr));\n        gap: 16px;\n      }\n\n      .hk-qm-sync-combo-card {\n        appearance: none;\n        background: #fff;\n        border: 2px solid #efd8c0;\n        border-radius: 16px;\n        overflow: hidden;\n        text-align: center;\n        padding: 0;\n        cursor: pointer;\n        color: #2f2118;\n        transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;\n      }\n\n      .hk-qm-sync-combo-card:hover {\n        transform: translateY(-2px);\n        box-shadow: 0 6px 20px rgba(72, 38, 12, 0.08);\n      }\n\n      .hk-qm-sync-combo-card.is-selected {\n        border-color: #f07800;\n        box-shadow: 0 0 0 4px rgba(240, 120, 0, 0.12);\n      }\n\n      .hk-qm-sync-combo-img {\n        height: 112px;\n        background: #f8eadb;\n        border-bottom: 1px solid #efd8c0;\n        overflow: hidden;\n      }\n\n      .hk-qm-sync-combo-img.no-img {\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        font-size: 34px;\n        background: #fff2e5;\n      }\n\n      .hk-qm-sync-combo-img img {\n        width: 100%;\n        height: 100%;\n        object-fit: cover;\n        object-position: center;\n        display: block;\n      }\n\n      .hk-qm-sync-combo-card h4 {\n        margin: 10px 8px 4px;\n        font-size: 15px;\n        line-height: 1.15;\n        font-weight: 950;\n        color: #2f2118;\n      }\n\n      .hk-qm-sync-combo-card span {\n        display: block;\n        color: #c86400;\n        font-weight: 950;\n        margin: 0 8px 12px;\n        font-size: 13px;\n      }\n\n      .hk-qm-sync-special {\n        width: 100%;\n        min-height: 92px;\n        resize: vertical;\n        border: 1px solid #efd8c0;\n        border-radius: 14px;\n        background: #fffaf5;\n        padding: 16px;\n        font: inherit;\n        color: #2f2118;\n        outline: none;\n      }\n\n      .hk-qm-sync-special:focus {\n        border-color: #f07800;\n        box-shadow: 0 0 0 4px rgba(240, 120, 0, 0.12);\n      }\n\n      .hk-qm-sync-summary {\n        position: fixed;\n        left: 0;\n        right: 0;\n        bottom: 0;\n        width: 100%;\n        z-index: 9998;\n        background: rgba(255, 248, 239, 0.98);\n        border-top: 1px solid #efd8c0;\n        box-shadow: 0 -8px 24px rgba(72, 38, 12, 0.08);\n        backdrop-filter: blur(8px);\n        padding: 14px 24px;\n      }\n\n      .hk-qm-sync-summary-inner {\n        width: min(1180px, calc(100vw - 48px));\n        margin: 0 auto;\n        display: grid;\n        grid-template-columns: 1fr auto;\n        gap: 20px;\n        align-items: center;\n      }\n\n      .hk-qm-sync-summary-lines {\n        display: flex;\n        flex-wrap: wrap;\n        gap: 8px 12px;\n        align-items: center;\n        color: #6b5140;\n        font-size: 14px;\n        line-height: 1.3;\n      }\n\n      .hk-qm-sync-summary-lines strong {\n        color: #2f2118;\n      }\n\n      .hk-qm-sync-summary-actions {\n        display: flex;\n        gap: 14px;\n        align-items: center;\n        flex-wrap: nowrap;\n        justify-content: flex-end;\n      }\n\n      .hk-qm-sync-total {\n        color: #c86400;\n        font-size: 26px;\n        font-weight: 950;\n        white-space: nowrap;\n      }\n\n      .hk-qm-sync-add-cart {\n        appearance: none;\n        border: 0;\n        background: #f07800;\n        color: #fff;\n        border-radius: 999px;\n        padding: 15px 24px;\n        font-size: 15px;\n        font-weight: 950;\n        text-transform: uppercase;\n        letter-spacing: 1px;\n        cursor: pointer;\n        white-space: nowrap;\n      }\n\n      .hk-qm-sync-add-cart:hover {\n        background: #c86400;\n      }\n\n      .hk-qm-sync-add-cart:disabled {\n        opacity: 0.55;\n        cursor: wait;\n      }\n\n      .hk-qm-sync-summary-cart-link {\n        display: none;\n        color: #2f2118 !important;\n        font-size: 15px;\n        font-weight: 700;\n        text-decoration: underline !important;\n        white-space: nowrap;\n        cursor: pointer;\n        pointer-events: auto;\n      }\n\n      .hk-qm-sync-summary-cart-link.is-visible {\n        display: inline-block;\n      }\n\n      .hk-qm-sync-page .added_to_cart.wc-forward,\n      .hk-qm-sync-page a.added_to_cart,\n      .hk-qm-sync-summary .added_to_cart.wc-forward,\n      .hk-qm-sync-summary a.added_to_cart {\n        display: none !important;\n        visibility: hidden !important;\n        pointer-events: none !important;\n      }\n\n      .hk-qm-sync-message {\n        position: fixed;\n        left: 50%;\n        bottom: 92px;\n        transform: translateX(-50%);\n        background: #2f2118;\n        color: #fff8ef;\n        padding: 14px 18px;\n        border-radius: 999px;\n        box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);\n        font-weight: 800;\n        opacity: 0;\n        pointer-events: none;\n        transition: opacity 0.2s ease, bottom 0.2s ease;\n        z-index: 9999;\n        text-align: center;\n        max-width: calc(100vw - 32px);\n      }\n\n      .hk-qm-sync-message.is-visible {\n        opacity: 1;\n        bottom: 108px;\n        pointer-events: none;\n      }\n\n      @media (max-width: 900px) {\n        .hk-qm-sync-base-grid,\n        .hk-qm-sync-main-layout,\n        .hk-qm-sync-summary-inner {\n          grid-template-columns: 1fr;\n        }\n\n        .hk-qm-sync-combo-grid {\n          grid-template-columns: repeat(2, minmax(0, 1fr));\n        }\n\n        .hk-qm-sync-summary-lines {\n          justify-content: center;\n          text-align: center;\n        }\n\n        .hk-qm-sync-summary-actions {\n          justify-content: center;\n          flex-wrap: wrap;\n        }\n\n        .hk-qm-sync-add-cart {\n          width: 100%;\n        }\n\n        .hk-qm-sync-total {\n          width: 100%;\n          text-align: center;\n        }\n      }\n\n      @media (max-width: 760px) {\n        .hk-qm-sync-wrap,\n        .hk-qm-sync-summary-inner {\n          width: min(100%, calc(100vw - 28px));\n        }\n\n        .hk-qm-sync-hero {\n          min-height: 300px;\n          padding: 36px 18px;\n          background-position: center right;\n        }\n\n        .hk-qm-sync-hero h1 {\n          font-size: 42px;\n        }\n\n        .hk-qm-sync-hero h2 {\n          font-size: 22px;\n        }\n\n        .hk-qm-sync-hero p {\n          font-size: 16px;\n        }\n\n        .hk-qm-sync-content {\n          padding: 34px 14px 240px;\n        }\n\n        .hk-qm-sync-title h2 {\n          font-size: 22px;\n          letter-spacing: 2px;\n        }\n\n        .hk-qm-sync-title small {\n          font-size: 14px;\n        }\n\n        .hk-qm-sync-base-img {\n          height: 220px;\n        }\n\n        .hk-qm-sync-base-body h3 {\n          font-size: 23px;\n        }\n\n        .hk-qm-sync-summary {\n          padding: 11px 14px;\n        }\n\n        .hk-qm-sync-summary-lines {\n          font-size: 12px;\n          gap: 4px 8px;\n        }\n\n        .hk-qm-sync-total {\n          font-size: 23px;\n        }\n\n        .hk-qm-sync-add-cart {\n          font-size: 14px;\n          padding: 14px 18px;\n        }\n\n        .hk-qm-sync-message {\n          border-radius: 16px;\n          line-height: 1.35;\n          bottom: 145px;\n        }\n\n        .hk-qm-sync-message.is-visible {\n          bottom: 160px;\n        }\n      }\n      <\/style>\n\n      <div class=\"hk-qm-sync-page\" data-hk-qm-sync-builder data-ajax-url=\"https:\/\/hometownkopi.com.au\/wp-admin\/admin-ajax.php\">\n\n        <section class=\"hk-qm-sync-hero\">\n          <div class=\"hk-qm-sync-wrap\">\n            <nav class=\"hk-qm-sync-breadcrumb\" aria-label=\"Breadcrumb\">\n              <a href=\"https:\/\/hometownkopi.com.au\/zh_tw\/\">Home<\/a>\n              <span aria-hidden=\"true\">\u203a<\/span>\n              <span aria-current=\"page\">Quick Meals<\/span>\n            <\/nav>\n\n            <h1>Quick Meals<\/h1>\n            <h2>Lunch Sets<\/h2>\n\n            <p>Easy lunch choices for a quick and satisfying meal. Choose your base, choose one main, and upgrade to a combo.<\/p>\n\n            <div class=\"hk-qm-sync-badges\">\n              <div class=\"hk-qm-sync-badge\">\ud83d\udd52 11:00am - 3:00pm<\/div>\n              <div class=\"hk-qm-sync-badge\">\ud83d\udecd\ufe0f Pickup &amp; Dine-in Only<\/div>\n            <\/div>\n          <\/div>\n        <\/section>\n\n        <div class=\"hk-qm-sync-content\">\n          <div class=\"hk-qm-sync-wrap\">\n\n            <section class=\"hk-qm-sync-step\">\n              <div class=\"hk-qm-sync-title\">\n                <h2>1. Choose Your Meal Base<\/h2>\n                <p>Start with steamed rice or fried rice.<\/p>\n              <\/div>\n\n              <div class=\"hk-qm-sync-base-grid\">\n                                  \n                  <button\n                    class=\"hk-qm-sync-base-card is-selected\"\n                    type=\"button\"\n                    data-base-key=\"steamed\"\n                    data-base-label=\"Steamed Rice Meal\"\n                    data-base-price=\"16.8\"\n                  >\n                    <div class=\"hk-qm-sync-base-img\">\n                      <img decoding=\"async\" src=\"https:\/\/hometownkopi.com.au\/wp-content\/uploads\/2026\/06\/Lunch-Special-Steamed-Rice.jpg\" alt=\"Steamed Rice Meal at Hometown Kopi\">\n                    <\/div>\n\n                    <div class=\"hk-qm-sync-base-body\">\n                      <h3>Steamed Rice Meal<\/h3>\n                      <span class=\"hk-qm-sync-price\">From $16.80<\/span>\n                      <p>Choose 1 main + steamed rice<\/p>\n                    <\/div>\n                  <\/button>\n                                  \n                  <button\n                    class=\"hk-qm-sync-base-card \"\n                    type=\"button\"\n                    data-base-key=\"fried\"\n                    data-base-label=\"Fried Rice Meal\"\n                    data-base-price=\"17.8\"\n                  >\n                    <div class=\"hk-qm-sync-base-img\">\n                      <img decoding=\"async\" src=\"https:\/\/hometownkopi.com.au\/wp-content\/uploads\/2026\/06\/Lunch-Special-Fried-Rice.jpg\" alt=\"Fried Rice Meal at Hometown Kopi\">\n                    <\/div>\n\n                    <div class=\"hk-qm-sync-base-body\">\n                      <h3>Fried Rice Meal<\/h3>\n                      <span class=\"hk-qm-sync-price\">From $17.80<\/span>\n                      <p>Choose 1 main + fried rice<\/p>\n                    <\/div>\n                  <\/button>\n                              <\/div>\n            <\/section>\n\n            <section class=\"hk-qm-sync-step\">\n              <div class=\"hk-qm-sync-title\">\n                <h2>2. Choose Your Main <small>(Pick 1)<\/small><\/h2>\n                <p>Available main options are synced from the product fields.<\/p>\n              <\/div>\n\n              <div class=\"hk-qm-sync-main-layout\">\n                                  <div class=\"hk-qm-sync-main-group\">\n                    <h3>Chicken Options<\/h3>\n\n                    <div class=\"hk-qm-sync-main-list\">\n                                              \n                        <button\n                          class=\"hk-qm-sync-main-pill  is-selected\"\n                          type=\"button\"\n                          data-main-key=\"rkfg1\"\n                          data-main-label=\"Satay Chicken\"\n                          data-main-extra=\"0\"\n                        >\n                          Satay Chicken\n                                                  <\/button>\n                                              \n                        <button\n                          class=\"hk-qm-sync-main-pill  \"\n                          type=\"button\"\n                          data-main-key=\"sib3o\"\n                          data-main-label=\"Curry Chicken\"\n                          data-main-extra=\"0\"\n                        >\n                          Curry Chicken\n                                                  <\/button>\n                                              \n                        <button\n                          class=\"hk-qm-sync-main-pill  \"\n                          type=\"button\"\n                          data-main-key=\"yosy6\"\n                          data-main-label=\"Cashew Nut Chicken\"\n                          data-main-extra=\"0\"\n                        >\n                          Cashew Nut Chicken\n                                                  <\/button>\n                                              \n                        <button\n                          class=\"hk-qm-sync-main-pill premium \"\n                          type=\"button\"\n                          data-main-key=\"p0wp9\"\n                          data-main-label=\"Honey Chicken\"\n                          data-main-extra=\"1\"\n                        >\n                          Honey Chicken\n                                                      <span class=\"plus\">+$1<\/span>\n                                                  <\/button>\n                                              \n                        <button\n                          class=\"hk-qm-sync-main-pill premium \"\n                          type=\"button\"\n                          data-main-key=\"jzbfl\"\n                          data-main-label=\"Lemon Chicken\"\n                          data-main-extra=\"1\"\n                        >\n                          Lemon Chicken\n                                                      <span class=\"plus\">+$1<\/span>\n                                                  <\/button>\n                                              \n                        <button\n                          class=\"hk-qm-sync-main-pill premium \"\n                          type=\"button\"\n                          data-main-key=\"hekj2\"\n                          data-main-label=\"Sweet &amp; Sour Chicken\"\n                          data-main-extra=\"1\"\n                        >\n                          Sweet &amp; Sour Chicken\n                                                      <span class=\"plus\">+$1<\/span>\n                                                  <\/button>\n                                          <\/div>\n                  <\/div>\n                                  <div class=\"hk-qm-sync-main-group\">\n                    <h3>Beef Options<\/h3>\n\n                    <div class=\"hk-qm-sync-main-list\">\n                                              \n                        <button\n                          class=\"hk-qm-sync-main-pill  \"\n                          type=\"button\"\n                          data-main-key=\"m8i6w\"\n                          data-main-label=\"Mongolian Beef\"\n                          data-main-extra=\"0\"\n                        >\n                          Mongolian Beef\n                                                  <\/button>\n                                              \n                        <button\n                          class=\"hk-qm-sync-main-pill  \"\n                          type=\"button\"\n                          data-main-key=\"tdt67\"\n                          data-main-label=\"Satay Beef\"\n                          data-main-extra=\"0\"\n                        >\n                          Satay Beef\n                                                  <\/button>\n                                              \n                        <button\n                          class=\"hk-qm-sync-main-pill  \"\n                          type=\"button\"\n                          data-main-key=\"jz77i\"\n                          data-main-label=\"Curry Beef\"\n                          data-main-extra=\"0\"\n                        >\n                          Curry Beef\n                                                  <\/button>\n                                              \n                        <button\n                          class=\"hk-qm-sync-main-pill  \"\n                          type=\"button\"\n                          data-main-key=\"ic5nj\"\n                          data-main-label=\"Black Pepper Beef\"\n                          data-main-extra=\"0\"\n                        >\n                          Black Pepper Beef\n                                                  <\/button>\n                                              \n                        <button\n                          class=\"hk-qm-sync-main-pill premium \"\n                          type=\"button\"\n                          data-main-key=\"acstp\"\n                          data-main-label=\"Rainbow Beef\"\n                          data-main-extra=\"1\"\n                        >\n                          Rainbow Beef\n                                                      <span class=\"plus\">+$1<\/span>\n                                                  <\/button>\n                                              \n                        <button\n                          class=\"hk-qm-sync-main-pill premium \"\n                          type=\"button\"\n                          data-main-key=\"pfkt4\"\n                          data-main-label=\"Crispy Crumbed Beef\"\n                          data-main-extra=\"1\"\n                        >\n                          Crispy Crumbed Beef\n                                                      <span class=\"plus\">+$1<\/span>\n                                                  <\/button>\n                                          <\/div>\n                  <\/div>\n                                  <div class=\"hk-qm-sync-main-group\">\n                    <h3>Pork Options<\/h3>\n\n                    <div class=\"hk-qm-sync-main-list\">\n                                              \n                        <button\n                          class=\"hk-qm-sync-main-pill premium \"\n                          type=\"button\"\n                          data-main-key=\"ms5n9\"\n                          data-main-label=\"Sweet &amp; Sour Pork\"\n                          data-main-extra=\"1\"\n                        >\n                          Sweet &amp; Sour Pork\n                                                      <span class=\"plus\">+$1<\/span>\n                                                  <\/button>\n                                          <\/div>\n                  <\/div>\n                              <\/div>\n            <\/section>\n\n            <section class=\"hk-qm-sync-step\">\n              <div class=\"hk-qm-sync-title\">\n                <h2>3. Upgrade to Combo +$4<\/h2>\n                <p>Choose no combo or add one side.<\/p>\n              <\/div>\n\n              <div class=\"hk-qm-sync-combo-grid\">\n                                  \n                  <button\n                    class=\"hk-qm-sync-combo-card is-selected\"\n                    type=\"button\"\n                    data-combo-key=\"18ott\"\n                    data-combo-label=\"No Combo\"\n                    data-combo-extra=\"0\"\n                  >\n                                          <div class=\"hk-qm-sync-combo-img no-img\">\ud83c\udf5a<\/div>\n                    \n                    <h4>No Combo<\/h4>\n                    <span>+$0<\/span>\n                  <\/button>\n                                  \n                  <button\n                    class=\"hk-qm-sync-combo-card \"\n                    type=\"button\"\n                    data-combo-key=\"xjvms\"\n                    data-combo-label=\"2 Vegetable Spring Rolls\"\n                    data-combo-extra=\"4\"\n                  >\n                                          <div class=\"hk-qm-sync-combo-img\">\n                        <img decoding=\"async\" src=\"https:\/\/hometownkopi.com.au\/wp-content\/uploads\/2026\/06\/ChatGPT-Image-Jun-14-2026-03_15_45-PM.jpg\" alt=\"2 Vegetable Spring Rolls at Hometown Kopi\">\n                      <\/div>\n                    \n                    <h4>2 Vegetable Spring Rolls<\/h4>\n                    <span>+$4<\/span>\n                  <\/button>\n                                  \n                  <button\n                    class=\"hk-qm-sync-combo-card \"\n                    type=\"button\"\n                    data-combo-key=\"bowfs\"\n                    data-combo-label=\"2 Pork Spring Rolls\"\n                    data-combo-extra=\"4\"\n                  >\n                                          <div class=\"hk-qm-sync-combo-img\">\n                        <img decoding=\"async\" src=\"https:\/\/hometownkopi.com.au\/wp-content\/uploads\/2026\/06\/ChatGPT-Image-Jun-14-2026-03_15_35-PM.jpg\" alt=\"2 Pork Spring Rolls at Hometown Kopi\">\n                      <\/div>\n                    \n                    <h4>2 Pork Spring Rolls<\/h4>\n                    <span>+$4<\/span>\n                  <\/button>\n                                  \n                  <button\n                    class=\"hk-qm-sync-combo-card \"\n                    type=\"button\"\n                    data-combo-key=\"7f3kt\"\n                    data-combo-label=\"2 Dim Sims\"\n                    data-combo-extra=\"4\"\n                  >\n                                          <div class=\"hk-qm-sync-combo-img\">\n                        <img decoding=\"async\" src=\"https:\/\/hometownkopi.com.au\/wp-content\/uploads\/2026\/06\/ChatGPT-Image-Jun-14-2026-03_07_01-PM.jpg\" alt=\"2 Dim Sims at Hometown Kopi\">\n                      <\/div>\n                    \n                    <h4>2 Dim Sims<\/h4>\n                    <span>+$4<\/span>\n                  <\/button>\n                                  \n                  <button\n                    class=\"hk-qm-sync-combo-card \"\n                    type=\"button\"\n                    data-combo-key=\"dfjfu\"\n                    data-combo-label=\"4 Crispy Wontons\"\n                    data-combo-extra=\"4\"\n                  >\n                                          <div class=\"hk-qm-sync-combo-img\">\n                        <img decoding=\"async\" src=\"https:\/\/hometownkopi.com.au\/wp-content\/uploads\/2026\/06\/ChatGPT-Image-Jun-17-2026-02_07_33-AM.jpg\" alt=\"4 Crispy Wontons at Hometown Kopi\">\n                      <\/div>\n                    \n                    <h4>4 Crispy Wontons<\/h4>\n                    <span>+$4<\/span>\n                  <\/button>\n                              <\/div>\n            <\/section>\n\n            <section class=\"hk-qm-sync-step\">\n              <div class=\"hk-qm-sync-title\">\n                <h2>4. Special Request<\/h2>\n                <p>Optional notes for the kitchen.<\/p>\n              <\/div>\n\n              <textarea class=\"hk-qm-sync-special\" placeholder=\"Example: no onion, less spicy, extra sauce on the side...\"><\/textarea>\n            <\/section>\n\n          <\/div>\n        <\/div>\n\n        <div class=\"hk-qm-sync-summary\">\n          <div class=\"hk-qm-sync-summary-inner\">\n            <div class=\"hk-qm-sync-summary-lines\">\n              <span><strong>Base:<\/strong> <span data-summary-base>Steamed Rice Meal<\/span><\/span>\n              <span>\u2022<\/span>\n              <span><strong>Main:<\/strong> <span data-summary-main>Satay Chicken<\/span><\/span>\n              <span>\u2022<\/span>\n              <span><strong>Combo:<\/strong> <span data-summary-combo>No Combo<\/span><\/span>\n            <\/div>\n\n            <div class=\"hk-qm-sync-summary-actions\">\n              <div class=\"hk-qm-sync-total\" data-summary-total>$16.80<\/div>\n              <button class=\"hk-qm-sync-add-cart\" type=\"button\" data-add-to-cart>Add Selected Meal to Cart \u203a<\/button>\n              <a class=\"hk-qm-sync-summary-cart-link\" href=\"https:\/\/hometownkopi.com.au\/zh_tw\/cart\/\" data-summary-view-cart>View cart<\/a>\n            <\/div>\n          <\/div>\n        <\/div>\n\n        <div class=\"hk-qm-sync-message\" data-hk-message><\/div>\n      <\/div>\n\n      <script>\n      (function () {\n        document.body.classList.add('hk-qm-active-page');\n\n        function initHKQuickMealsSync(root) {\n          if (!root || root.dataset.ready === '1') {\n            return;\n          }\n\n          root.dataset.ready = '1';\n\n          var ajaxUrl = root.dataset.ajaxUrl;\n          var freshNonce = '';\n\n          var baseButtons = root.querySelectorAll('.hk-qm-sync-base-card');\n          var mainButtons = root.querySelectorAll('.hk-qm-sync-main-pill');\n          var comboButtons = root.querySelectorAll('.hk-qm-sync-combo-card');\n          var specialRequest = root.querySelector('.hk-qm-sync-special');\n          var addButton = root.querySelector('[data-add-to-cart]');\n          var messageBox = root.querySelector('[data-hk-message]');\n          var summaryViewCart = root.querySelector('[data-summary-view-cart]');\n\n          var summaryBase = root.querySelector('[data-summary-base]');\n          var summaryMain = root.querySelector('[data-summary-main]');\n          var summaryCombo = root.querySelector('[data-summary-combo]');\n          var summaryTotal = root.querySelector('[data-summary-total]');\n\n          var state = {\n            baseKey: '',\n            baseLabel: '',\n            basePrice: 0,\n            mainKey: '',\n            mainLabel: '',\n            mainExtra: 0,\n            comboKey: '',\n            comboLabel: '',\n            comboExtra: 0\n          };\n\n          function money(value) {\n            return '$' + Number(value || 0).toFixed(2);\n          }\n\n          function shortMoney(value) {\n            value = Number(value || 0);\n\n            if (Math.abs(value - Math.round(value)) < 0.001) {\n              return '$' + Math.round(value);\n            }\n\n            return money(value);\n          }\n\n          function selectOnly(buttons, selectedButton) {\n            buttons.forEach(function (button) {\n              button.classList.remove('is-selected');\n            });\n\n            selectedButton.classList.add('is-selected');\n          }\n\n          function getSelectedButton(buttons) {\n            for (var i = 0; i < buttons.length; i++) {\n              if (buttons[i].classList.contains('is-selected')) {\n                return buttons[i];\n              }\n            }\n\n            return buttons[0] || null;\n          }\n\n          function updateState() {\n            var selectedBase = getSelectedButton(baseButtons);\n            var selectedMain = getSelectedButton(mainButtons);\n            var selectedCombo = getSelectedButton(comboButtons);\n\n            if (selectedBase) {\n              state.baseKey = selectedBase.dataset.baseKey || '';\n              state.baseLabel = selectedBase.dataset.baseLabel || '';\n              state.basePrice = Number(selectedBase.dataset.basePrice || 0);\n            }\n\n            if (selectedMain) {\n              state.mainKey = selectedMain.dataset.mainKey || '';\n              state.mainLabel = selectedMain.dataset.mainLabel || '';\n              state.mainExtra = Number(selectedMain.dataset.mainExtra || 0);\n            }\n\n            if (selectedCombo) {\n              state.comboKey = selectedCombo.dataset.comboKey || '';\n              state.comboLabel = selectedCombo.dataset.comboLabel || '';\n              state.comboExtra = Number(selectedCombo.dataset.comboExtra || 0);\n            }\n          }\n\n          function updateSummary() {\n            updateState();\n\n            var total = state.basePrice + state.mainExtra + state.comboExtra;\n\n            summaryBase.textContent = state.baseLabel;\n            summaryMain.textContent = state.mainLabel + (state.mainExtra > 0 ? ' +' + shortMoney(state.mainExtra) : '');\n            summaryCombo.textContent = state.comboLabel + (state.comboExtra > 0 ? ' +' + shortMoney(state.comboExtra) : '');\n            summaryTotal.textContent = money(total);\n          }\n\n          function showMessage(text, isError) {\n            messageBox.textContent = text;\n            messageBox.style.background = isError ? '#7a1f12' : '#2f2118';\n            messageBox.classList.add('is-visible');\n\n            window.clearTimeout(root.hkMessageTimer);\n            root.hkMessageTimer = window.setTimeout(function () {\n              messageBox.classList.remove('is-visible');\n            }, 4200);\n          }\n\n          function removeInjectedViewCartLinks() {\n            root.querySelectorAll('.added_to_cart.wc-forward, a.added_to_cart').forEach(function (link) {\n              link.remove();\n            });\n          }\n\n          function updateVisibleCartCount(count) {\n            if (typeof count === 'undefined' || count === null) {\n              return;\n            }\n\n            var countText = String(count);\n\n            var safeSelectors = [\n              '.wc-block-mini-cart__badge',\n              '.wc-block-mini-cart__quantity-badge',\n              '.site-header-cart .count',\n              '.cart-contents .count',\n              '.cart-count',\n              '.header-cart-count',\n              '.menu-cart-count',\n              '.woocommerce-cart-count',\n              '[data-cart-count]'\n            ];\n\n            safeSelectors.forEach(function (selector) {\n              document.querySelectorAll(selector).forEach(function (element) {\n                element.setAttribute('data-cart-count', countText);\n                element.setAttribute('data-count', countText);\n                element.setAttribute('aria-label', countText + ' items in cart');\n\n                if (\n                  element.classList.contains('count') ||\n                  element.classList.contains('cart-count') ||\n                  element.classList.contains('header-cart-count') ||\n                  element.classList.contains('menu-cart-count') ||\n                  element.classList.contains('woocommerce-cart-count') ||\n                  element.classList.contains('wc-block-mini-cart__badge') ||\n                  element.classList.contains('wc-block-mini-cart__quantity-badge') ||\n                  element.children.length === 0\n                ) {\n                  element.textContent = countText;\n                }\n              });\n            });\n          }\n\n          function applySafeWooFragments(fragments) {\n            if (!fragments || typeof fragments !== 'object') {\n              return;\n            }\n\n            Object.keys(fragments).forEach(function (selector) {\n              if (selector !== 'div.widget_shopping_cart_content') {\n                return;\n              }\n\n              document.querySelectorAll(selector).forEach(function (element) {\n                var wrapper = document.createElement('div');\n                wrapper.innerHTML = fragments[selector];\n\n                if (wrapper.firstElementChild) {\n                  element.replaceWith(wrapper.firstElementChild);\n                }\n              });\n            });\n          }\n\n          function triggerWooCartRefresh(data) {\n            var fragments = data && data.fragments ? data.fragments : {};\n\n            applySafeWooFragments(fragments);\n\n            if (window.jQuery) {\n              window.jQuery(document.body).trigger('wc_fragment_refresh');\n              window.jQuery(document.body).trigger('updated_wc_div');\n            }\n\n            try {\n              document.body.dispatchEvent(\n                new CustomEvent('wc-blocks_added_to_cart', {\n                  bubbles: true,\n                  detail: {\n                    preserveCartData: false\n                  }\n                })\n              );\n            } catch (error) {\n              \/* Ignore old browser CustomEvent issues. *\/\n            }\n\n            updateVisibleCartCount(data && data.cart_count ? data.cart_count : 0);\n            removeInjectedViewCartLinks();\n          }\n\n          function getVisibleMiniCartButton() {\n            var selectors = [\n              '.wc-block-mini-cart__button',\n              '.wp-block-woocommerce-mini-cart .wc-block-mini-cart__button',\n              '[data-block-name=\"woocommerce\/mini-cart\"] .wc-block-mini-cart__button',\n              '.wc-block-mini-cart button.wc-block-mini-cart__button'\n            ];\n\n            for (var i = 0; i < selectors.length; i++) {\n              var buttons = document.querySelectorAll(selectors[i]);\n\n              for (var j = 0; j < buttons.length; j++) {\n                var button = buttons[j];\n\n                if (!button || root.contains(button)) {\n                  continue;\n                }\n\n                var rect = button.getBoundingClientRect();\n                var style = window.getComputedStyle(button);\n\n                if (\n                  rect.width > 0 &&\n                  rect.height > 0 &&\n                  style.visibility !== 'hidden' &&\n                  style.display !== 'none'\n                ) {\n                  return button;\n                }\n              }\n            }\n\n            return null;\n          }\n\n          function openMiniCartDrawer(fallbackUrl) {\n            var miniCartButton = getVisibleMiniCartButton();\n\n            if (miniCartButton) {\n              miniCartButton.click();\n              return;\n            }\n\n            if (fallbackUrl) {\n              window.location.href = fallbackUrl;\n            }\n          }\n\n          function getFreshNonce() {\n            if (freshNonce) {\n              return Promise.resolve(freshNonce);\n            }\n\n            var formData = new FormData();\n            formData.append('action', 'hk_qm_wapf_get_nonce_v7');\n\n            return fetch(ajaxUrl, {\n              method: 'POST',\n              credentials: 'same-origin',\n              body: formData\n            })\n              .then(function (response) {\n                return response.json();\n              })\n              .then(function (data) {\n                if (!data || !data.success || !data.data || !data.data.nonce) {\n                  throw new Error('Could not create a secure cart request. Please refresh and try again.');\n                }\n\n                freshNonce = data.data.nonce;\n                return freshNonce;\n              });\n          }\n\n          baseButtons.forEach(function (button) {\n            button.addEventListener('click', function () {\n              selectOnly(baseButtons, button);\n              updateSummary();\n            });\n          });\n\n          mainButtons.forEach(function (button) {\n            button.addEventListener('click', function () {\n              selectOnly(mainButtons, button);\n              updateSummary();\n            });\n          });\n\n          comboButtons.forEach(function (button) {\n            button.addEventListener('click', function () {\n              selectOnly(comboButtons, button);\n              updateSummary();\n            });\n          });\n\n          if (summaryViewCart) {\n            summaryViewCart.addEventListener('click', function (event) {\n              event.preventDefault();\n              event.stopPropagation();\n\n              removeInjectedViewCartLinks();\n              openMiniCartDrawer(summaryViewCart.href);\n            });\n          }\n\n          addButton.addEventListener('click', function () {\n            updateState();\n\n            addButton.disabled = true;\n            addButton.textContent = 'Adding...';\n\n            getFreshNonce()\n              .then(function (nonce) {\n                var formData = new FormData();\n\n                formData.append('action', 'hk_qm_wapf_add_to_cart_v7');\n                formData.append('nonce', nonce);\n                formData.append('base_key', state.baseKey);\n                formData.append('main_key', state.mainKey);\n                formData.append('main_label', state.mainLabel);\n                formData.append('combo_key', state.comboKey);\n                formData.append('combo_label', state.comboLabel);\n                formData.append('special_request', specialRequest ? specialRequest.value : '');\n\n                return fetch(ajaxUrl, {\n                  method: 'POST',\n                  credentials: 'same-origin',\n                  body: formData\n                });\n              })\n              .then(function (response) {\n                return response.json();\n              })\n              .then(function (data) {\n                if (!data || !data.success) {\n                  var errorMessage = data && data.data && data.data.message ? data.data.message : 'Could not add this meal to cart.';\n                  throw new Error(errorMessage);\n                }\n\n                triggerWooCartRefresh(data.data);\n\n                if (summaryViewCart && data.data.cart_url) {\n                  summaryViewCart.href = data.data.cart_url;\n                  summaryViewCart.classList.add('is-visible');\n                }\n\n                showMessage('Added to cart.', false);\n                removeInjectedViewCartLinks();\n              })\n              .catch(function (error) {\n                showMessage(error.message || 'Something went wrong. Please try again.', true);\n              })\n              .finally(function () {\n                addButton.disabled = false;\n                addButton.textContent = 'Add Selected Meal to Cart \u203a';\n                removeInjectedViewCartLinks();\n              });\n          });\n\n          updateSummary();\n          removeInjectedViewCartLinks();\n        }\n\n        document.querySelectorAll('[data-hk-qm-sync-builder]').forEach(initHKQuickMealsSync);\n      })();\n      <\/script>\n\n      \n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"pages-no-footer","meta":{"_glsr_average":0,"_glsr_ranking":0,"_glsr_reviews":0,"wpai_meta_description":"","footnotes":""},"class_list":["post-2134","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/hometownkopi.com.au\/zh_tw\/wp-json\/wp\/v2\/pages\/2134","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hometownkopi.com.au\/zh_tw\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/hometownkopi.com.au\/zh_tw\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/hometownkopi.com.au\/zh_tw\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hometownkopi.com.au\/zh_tw\/wp-json\/wp\/v2\/comments?post=2134"}],"version-history":[{"count":8,"href":"https:\/\/hometownkopi.com.au\/zh_tw\/wp-json\/wp\/v2\/pages\/2134\/revisions"}],"predecessor-version":[{"id":2190,"href":"https:\/\/hometownkopi.com.au\/zh_tw\/wp-json\/wp\/v2\/pages\/2134\/revisions\/2190"}],"wp:attachment":[{"href":"https:\/\/hometownkopi.com.au\/zh_tw\/wp-json\/wp\/v2\/media?parent=2134"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}