{"id":96,"date":"2026-05-16T20:46:45","date_gmt":"2026-05-16T18:46:45","guid":{"rendered":"https:\/\/www.wachauer-marillenbauer.at\/staging\/?page_id=96"},"modified":"2026-05-17T09:54:33","modified_gmt":"2026-05-17T07:54:33","slug":"kassa","status":"publish","type":"page","link":"https:\/\/www.wachauer-marillenbauer.at\/staging\/?page_id=96","title":{"rendered":"Kassa"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"96\" class=\"elementor elementor-96\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-03b6005 e-flex e-con-boxed e-con e-parent\" data-id=\"03b6005\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-251bd5f elementor-widget elementor-widget-html\" data-id=\"251bd5f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n  :root {\r\n    --primary-color: #2c3e50;\r\n    --accent-color: #27ae60;\r\n    --accent-hover: #219653;\r\n    --bg-color: #f8f9fa;\r\n    --card-bg: #ffffff;\r\n    --text-main: #333333;\r\n    --text-muted: #666666;\r\n    --border-radius: 12px;\r\n    --shadow-sm: 0 4px 6px rgba(0, 0, 0, 0.05);\r\n    --shadow-md: 0 8px 15px rgba(0, 0, 0, 0.1);\r\n    --transition: all 0.3s ease;\r\n  }\r\n\r\n  #wc-checkout-wrapper {\r\n    font-family: 'Inter', -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif;\r\n    color: var(--text-main);\r\n    box-sizing: border-box;\r\n    display: flex;\r\n    gap: 30px;\r\n    max-width: 100%;\r\n    margin: 0 auto;\r\n    padding: 20px;\r\n    align-items: flex-start;\r\n  }\r\n\r\n  #wc-checkout-wrapper * {\r\n    box-sizing: border-box;\r\n  }\r\n\r\n  \/* Left Column: Form *\/\r\n  .wc-checkout-form-container {\r\n    flex: 2;\r\n    background: var(--card-bg);\r\n    padding: 30px;\r\n    border-radius: var(--border-radius);\r\n    box-shadow: var(--shadow-sm);\r\n  }\r\n\r\n  .wc-checkout-form-container h2 {\r\n    margin-top: 0;\r\n    color: var(--primary-color);\r\n    border-bottom: 2px solid #f1f1f1;\r\n    padding-bottom: 10px;\r\n    margin-bottom: 20px;\r\n  }\r\n\r\n  .wc-form-group {\r\n    margin-bottom: 20px;\r\n  }\r\n\r\n  .wc-form-group label {\r\n    display: block;\r\n    margin-bottom: 8px;\r\n    font-weight: 600;\r\n    font-size: 0.95rem;\r\n  }\r\n\r\n  .wc-form-control {\r\n    width: 100%;\r\n    padding: 12px;\r\n    border: 1px solid #ddd;\r\n    border-radius: 6px;\r\n    font-size: 1rem;\r\n    transition: var(--transition);\r\n  }\r\n\r\n  .wc-form-control:focus {\r\n    border-color: var(--accent-color);\r\n    outline: none;\r\n    box-shadow: 0 0 0 3px rgba(39, 174, 96, 0.2);\r\n  }\r\n\r\n  .wc-radio-group {\r\n    display: flex;\r\n    gap: 20px;\r\n    margin-bottom: 20px;\r\n  }\r\n\r\n  .wc-radio-label {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 8px;\r\n    cursor: pointer;\r\n    font-weight: 500;\r\n    padding: 10px 15px;\r\n    border: 1px solid #ddd;\r\n    border-radius: 6px;\r\n    flex: 1;\r\n    transition: var(--transition);\r\n  }\r\n\r\n  .wc-radio-label:hover {\r\n    background: #f8f9fa;\r\n  }\r\n\r\n  .wc-radio-label input[type=\"radio\"]:checked + span {\r\n    color: var(--accent-color);\r\n    font-weight: 600;\r\n  }\r\n\r\n  .wc-alert {\r\n    padding: 15px;\r\n    border-radius: 6px;\r\n    margin-bottom: 20px;\r\n    font-size: 0.95rem;\r\n    display: none;\r\n  }\r\n  .wc-alert-warning {\r\n    background: #fff3cd;\r\n    color: #856404;\r\n    border: 1px solid #ffeeba;\r\n    display: block;\r\n  }\r\n  .wc-alert-danger {\r\n    background: #f8d7da;\r\n    color: #721c24;\r\n    border: 1px solid #f5c6cb;\r\n    display: block;\r\n  }\r\n\r\n  \/* Right Column: Sticky Cart *\/\r\n  .wc-checkout-sidebar {\r\n    flex: 1;\r\n    position: sticky;\r\n    top: 20px;\r\n    background: var(--card-bg);\r\n    padding: 25px;\r\n    border-radius: var(--border-radius);\r\n    box-shadow: var(--shadow-sm);\r\n  }\r\n\r\n  .wc-checkout-sidebar h3 {\r\n    margin-top: 0;\r\n    color: var(--primary-color);\r\n    border-bottom: 2px solid #f1f1f1;\r\n    padding-bottom: 10px;\r\n    margin-bottom: 20px;\r\n  }\r\n\r\n  \/* Cart Items (like Shop Side Cart) *\/\r\n  .wc-cart-item {\r\n    display: flex;\r\n    gap: 15px;\r\n    margin-bottom: 20px;\r\n    padding-bottom: 20px;\r\n    border-bottom: 1px solid #f1f1f1;\r\n  }\r\n  .wc-cart-item-img {\r\n    width: 70px;\r\n    height: 70px;\r\n    border-radius: 8px;\r\n    object-fit: cover;\r\n  }\r\n  .wc-cart-item-details {\r\n    flex: 1;\r\n  }\r\n  .wc-cart-item-title {\r\n    font-weight: 600;\r\n    font-size: 0.95rem;\r\n    margin: 0 0 5px 0;\r\n  }\r\n  .wc-cart-item-price {\r\n    color: var(--text-muted);\r\n    font-size: 0.9rem;\r\n    margin: 0 0 8px 0;\r\n  }\r\n  .wc-cart-item-actions {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 10px;\r\n  }\r\n  .wc-qty-edit-input {\r\n    width: 50px;\r\n    padding: 4px;\r\n    border: 1px solid #ddd;\r\n    border-radius: 4px;\r\n    text-align: center;\r\n    font-size: 0.9rem;\r\n  }\r\n  .wc-remove-item {\r\n    color: #e74c3c;\r\n    background: none;\r\n    border: none;\r\n    cursor: pointer;\r\n    font-size: 0.85rem;\r\n    padding: 0;\r\n    margin-left: auto;\r\n  }\r\n\r\n  .wc-summary-item {\r\n    display: flex;\r\n    justify-content: space-between;\r\n    margin-bottom: 15px;\r\n    font-size: 0.95rem;\r\n  }\r\n  \r\n  .wc-summary-item.bold {\r\n    font-weight: 700;\r\n    font-size: 1.1rem;\r\n    border-top: 2px solid #f1f1f1;\r\n    padding-top: 15px;\r\n    margin-top: 5px;\r\n  }\r\n\r\n  .wc-submit-btn {\r\n    width: 100%;\r\n    background: var(--accent-color);\r\n    color: white;\r\n    border: none;\r\n    padding: 15px;\r\n    border-radius: 8px;\r\n    font-size: 1.1rem;\r\n    font-weight: 700;\r\n    cursor: pointer;\r\n    transition: var(--transition);\r\n    margin-top: 20px;\r\n  }\r\n\r\n  .wc-submit-btn:hover {\r\n    background: var(--accent-hover);\r\n  }\r\n\r\n  .wc-submit-btn:disabled {\r\n    background: #cccccc;\r\n    cursor: not-allowed;\r\n  }\r\n\r\n  .hidden {\r\n    display: none !important;\r\n  }\r\n\r\n  @media (max-width: 768px) {\r\n    #wc-checkout-wrapper {\r\n      flex-direction: column;\r\n      flex-flow: column-reverse; \/* Sidebar on top or bottom depending on preference, usually form first *\/\r\n    }\r\n    .wc-checkout-sidebar {\r\n      position: static;\r\n      width: 100%;\r\n    }\r\n  }\r\n<\/style>\r\n\r\n<div id=\"wc-checkout-wrapper\">\r\n  <!-- Form Column -->\r\n  <div class=\"wc-checkout-form-container\">\r\n    <h2>Kassa<\/h2>\r\n    \r\n    <div id=\"wc-error-msg\" class=\"wc-alert wc-alert-danger hidden\"><\/div>\r\n    <div id=\"wc-frischobst-msg\" class=\"wc-alert wc-alert-warning hidden\">\r\n      Dein Warenkorb enth\u00e4lt Frischobst. Daher ist nur \"Selbstabholung\" (Reservierung) m\u00f6glich.\r\n    <\/div>\r\n\r\n    <form id=\"wc-checkout-form\">\r\n      <div class=\"wc-form-group\">\r\n        <label>Versandart<\/label>\r\n        <div class=\"wc-radio-group\">\r\n          <label class=\"wc-radio-label\" id=\"label-delivery\">\r\n            <input type=\"radio\" name=\"shipping_method\" value=\"delivery\" id=\"shipping-delivery\" checked>\r\n            <span>Lieferung<\/span>\r\n          <\/label>\r\n          <label class=\"wc-radio-label\" id=\"label-pickup\">\r\n            <input type=\"radio\" name=\"shipping_method\" value=\"pickup\" id=\"shipping-pickup\">\r\n            <span>Selbstabholung<\/span>\r\n          <\/label>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"wc-form-group hidden\" id=\"pickup-date-group\">\r\n        <div class=\"wc-form-group\" style=\"margin-bottom: 10px;\">\r\n          <label for=\"pickup_date\">Datum der Abholung<\/label>\r\n          <input type=\"date\" id=\"pickup_date\" name=\"pickup_date\" class=\"wc-form-control\">\r\n        <\/div>\r\n        <div class=\"wc-form-group\">\r\n          <label for=\"pickup_phone\">Telefonnummer (optional, f\u00fcr R\u00fcckfragen)<\/label>\r\n          <input type=\"tel\" id=\"pickup_phone\" name=\"pickup_phone\" class=\"wc-form-control\">\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <h3>Rechnungs- \/ Lieferdetails<\/h3>\r\n      <div class=\"wc-form-group\">\r\n        <label for=\"first_name\">Vorname<\/label>\r\n        <input type=\"text\" id=\"first_name\" name=\"first_name\" class=\"wc-form-control\" required>\r\n      <\/div>\r\n      <div class=\"wc-form-group\">\r\n        <label for=\"last_name\">Nachname<\/label>\r\n        <input type=\"text\" id=\"last_name\" name=\"last_name\" class=\"wc-form-control\" required>\r\n      <\/div>\r\n      <div class=\"wc-form-group\">\r\n        <label for=\"email\">E-Mail Adresse<\/label>\r\n        <input type=\"email\" id=\"email\" name=\"email\" class=\"wc-form-control\" required>\r\n      <\/div>\r\n\r\n      <div id=\"address-group\">\r\n        <div class=\"wc-form-group\">\r\n          <label for=\"address\">Stra\u00dfe und Hausnummer<\/label>\r\n          <input type=\"text\" id=\"address\" name=\"address\" class=\"wc-form-control\" required>\r\n        <\/div>\r\n        <div style=\"display:flex; gap:15px;\">\r\n          <div class=\"wc-form-group\" style=\"flex:1;\">\r\n            <label for=\"zip\">PLZ<\/label>\r\n            <input type=\"text\" id=\"zip\" name=\"zip\" class=\"wc-form-control\" required>\r\n          <\/div>\r\n          <div class=\"wc-form-group\" style=\"flex:2;\">\r\n            <label for=\"city\">Ort<\/label>\r\n            <input type=\"text\" id=\"city\" name=\"city\" class=\"wc-form-control\" required>\r\n          <\/div>\r\n        <\/div>\r\n        \r\n        <div class=\"wc-form-group\" style=\"margin-top: 15px;\">\r\n          <label class=\"wc-radio-label\" style=\"display:inline-flex; border:none; padding:0;\">\r\n            <input type=\"checkbox\" id=\"diff_billing_checkbox\" style=\"margin-right: 8px;\">\r\n            <span>Abweichende Rechnungsadresse<\/span>\r\n          <\/label>\r\n        <\/div>\r\n\r\n        <div id=\"billing-address-group\" class=\"hidden\" style=\"margin-top: 15px; padding-top: 15px; border-top: 1px dashed #ddd;\">\r\n          <h4>Rechnungsadresse<\/h4>\r\n          <div class=\"wc-form-group\">\r\n            <label for=\"billing_address\">Stra\u00dfe und Hausnummer<\/label>\r\n            <input type=\"text\" id=\"billing_address\" name=\"billing_address\" class=\"wc-form-control\">\r\n          <\/div>\r\n          <div style=\"display:flex; gap:15px;\">\r\n            <div class=\"wc-form-group\" style=\"flex:1;\">\r\n              <label for=\"billing_zip\">PLZ<\/label>\r\n              <input type=\"text\" id=\"billing_zip\" name=\"billing_zip\" class=\"wc-form-control\">\r\n            <\/div>\r\n            <div class=\"wc-form-group\" style=\"flex:2;\">\r\n              <label for=\"billing_city\">Ort<\/label>\r\n              <input type=\"text\" id=\"billing_city\" name=\"billing_city\" class=\"wc-form-control\">\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"wc-form-group\" style=\"margin-top: 20px;\">\r\n        <label for=\"order_notes\">Anmerkungen zur Bestellung (optional)<\/label>\r\n        <textarea id=\"order_notes\" name=\"order_notes\" class=\"wc-form-control\" rows=\"3\" placeholder=\"Z.B. Hinweise zur Lieferung\"><\/textarea>\r\n      <\/div>\r\n\r\n      <h3 id=\"payment-heading\">Zahlungsart<\/h3>\r\n      <div class=\"wc-form-group\" id=\"payment-methods-group\">\r\n        <div class=\"wc-radio-group\">\r\n          <label class=\"wc-radio-label\">\r\n            <input type=\"radio\" name=\"payment_method\" value=\"card\" checked>\r\n            <span>Kreditkarte<\/span>\r\n          <\/label>\r\n          <label class=\"wc-radio-label\">\r\n            <input type=\"radio\" name=\"payment_method\" value=\"paypal\">\r\n            <span>PayPal<\/span>\r\n          <\/label>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"wc-form-group hidden\" id=\"payment-pickup-group\">\r\n        <p><i>Bei Selbstabholung erfolgt die Bezahlung vor Ort.<\/i><\/p>\r\n        <input type=\"hidden\" name=\"payment_method_pickup\" value=\"cash_on_pickup\">\r\n      <\/div>\r\n\r\n    <\/form>\r\n  <\/div>\r\n\r\n  <!-- Sidebar Column -->\r\n  <div class=\"wc-checkout-sidebar\">\r\n    <h3>Deine Bestellung<\/h3>\r\n    <div id=\"wc-checkout-items\">\r\n      <!-- Items inject here -->\r\n    <\/div>\r\n    <div class=\"wc-summary-item\" style=\"margin-top: 20px; border-top: 1px solid #eee; padding-top:15px;\">\r\n      <span>Zwischensumme<\/span>\r\n      <span id=\"wc-subtotal\">0,00 \u20ac<\/span>\r\n    <\/div>\r\n    <div class=\"wc-summary-item\">\r\n      <span>Versand<\/span>\r\n      <span id=\"wc-shipping-cost\">0,00 \u20ac<\/span>\r\n    <\/div>\r\n    <div class=\"wc-summary-item bold\">\r\n      <span>Gesamtsumme<\/span>\r\n      <span id=\"wc-total\">0,00 \u20ac<\/span>\r\n    <\/div>\r\n\r\n    <button type=\"submit\" form=\"wc-checkout-form\" class=\"wc-submit-btn\" id=\"wc-submit-btn\">Kostenpflichtig bestellen<\/button>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n  (function() {\r\n    let cart = JSON.parse(localStorage.getItem('custom_shop_cart')) || [];\r\n    \r\n    \/\/ Config\r\n    const SHIPPING_COST = 590; \/\/ 5.90\u20ac in cents\r\n    const FREE_SHIPPING_THRESHOLD = 5000; \/\/ 50.00\u20ac in cents\r\n    const FRISCHOBST_MAX_QTY = 10;\r\n\r\n    \/\/ Elements\r\n    const itemsEl = document.getElementById('wc-checkout-items');\r\n    const subtotalEl = document.getElementById('wc-subtotal');\r\n    const shippingCostEl = document.getElementById('wc-shipping-cost');\r\n    const totalEl = document.getElementById('wc-total');\r\n    \r\n    const shippingDelivery = document.getElementById('shipping-delivery');\r\n    const shippingPickup = document.getElementById('shipping-pickup');\r\n    const labelDelivery = document.getElementById('label-delivery');\r\n    const pickupDateGroup = document.getElementById('pickup-date-group');\r\n    const pickupDateInput = document.getElementById('pickup_date');\r\n    const addressGroup = document.getElementById('address-group');\r\n    const diffBillingCheckbox = document.getElementById('diff_billing_checkbox');\r\n    const billingAddressGroup = document.getElementById('billing-address-group');\r\n    \r\n    const paymentHeading = document.getElementById('payment-heading');\r\n    const paymentMethodsGroup = document.getElementById('payment-methods-group');\r\n    const paymentPickupGroup = document.getElementById('payment-pickup-group');\r\n    \r\n    const frischobstMsg = document.getElementById('wc-frischobst-msg');\r\n    const errorMsg = document.getElementById('wc-error-msg');\r\n    const submitBtn = document.getElementById('wc-submit-btn');\r\n    const form = document.getElementById('wc-checkout-form');\r\n\r\n    let isFrischobstInCart = false;\r\n    let frischobstQty = 0;\r\n    let subtotal = 0;\r\n\r\n    \/\/ Format Price\r\n    function formatPrice(priceValue) {\r\n      return (parseInt(priceValue) \/ 100).toLocaleString('de-AT', { style: 'currency', currency: 'EUR' });\r\n    }\r\n\r\n    \/\/ Initialize Datepicker constraints (Max 1 week in future)\r\n    function initDatepicker() {\r\n      const today = new Date();\r\n      const nextWeek = new Date();\r\n      nextWeek.setDate(today.getDate() + 7);\r\n\r\n      pickupDateInput.min = today.toISOString().split('T')[0];\r\n      pickupDateInput.max = nextWeek.toISOString().split('T')[0];\r\n    }\r\n\r\n    \/\/ Cart Interactions\r\n    window.updateCheckoutCartQty = function(id, newQty) {\r\n      const item = cart.find(i => i.id == id);\r\n      if (item && newQty > 0) {\r\n        item.qty = parseInt(newQty);\r\n        localStorage.setItem('custom_shop_cart', JSON.stringify(cart));\r\n        renderSummary();\r\n      }\r\n    }\r\n\r\n    window.removeCheckoutCartItem = function(id) {\r\n      cart = cart.filter(item => item.id != id);\r\n      localStorage.setItem('custom_shop_cart', JSON.stringify(cart));\r\n      renderSummary();\r\n    }\r\n\r\n    \/\/ Render Cart Summary\r\n    function renderSummary() {\r\n      if (cart.length === 0) {\r\n        itemsEl.innerHTML = '<p>Dein Warenkorb ist leer.<\/p>';\r\n        submitBtn.disabled = true;\r\n        subtotalEl.innerText = '0,00 \u20ac';\r\n        shippingCostEl.innerText = '0,00 \u20ac';\r\n        totalEl.innerText = '0,00 \u20ac';\r\n        return;\r\n      }\r\n\r\n      itemsEl.innerHTML = '';\r\n      subtotal = 0;\r\n      isFrischobstInCart = false;\r\n      frischobstQty = 0;\r\n\r\n      cart.forEach(item => {\r\n        const itemTotal = item.qty * parseInt(item.price);\r\n        subtotal += itemTotal;\r\n        \r\n        if (item.frischobst) {\r\n          isFrischobstInCart = true;\r\n          frischobstQty += item.qty;\r\n        }\r\n\r\n        itemsEl.innerHTML += `\r\n          <div class=\"wc-cart-item\">\r\n            <img decoding=\"async\" src=\"${item.img}\" class=\"wc-cart-item-img\" alt=\"${item.name}\">\r\n            <div class=\"wc-cart-item-details\">\r\n              <h4 class=\"wc-cart-item-title\">${item.name}<\/h4>\r\n              <p class=\"wc-cart-item-price\">${formatPrice(item.price)} (St\u00fcck)<\/p>\r\n              <div class=\"wc-cart-item-actions\">\r\n                <input type=\"number\" min=\"1\" value=\"${item.qty}\" class=\"wc-qty-edit-input\" onchange=\"updateCheckoutCartQty('${item.id}', this.value)\">\r\n                <span>${formatPrice(itemTotal)}<\/span>\r\n                <button type=\"button\" class=\"wc-remove-item\" onclick=\"removeCheckoutCartItem('${item.id}')\">L\u00f6schen<\/button>\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n        `;\r\n      });\r\n\r\n      subtotalEl.innerText = formatPrice(subtotal);\r\n      \r\n      checkRulesAndCalculateTotal();\r\n    }\r\n\r\n    function checkRulesAndCalculateTotal() {\r\n      \/\/ 1. Frischobst Menge Check\r\n      if (isFrischobstInCart && frischobstQty > FRISCHOBST_MAX_QTY) {\r\n        errorMsg.innerText = `Maximale Reservierungsmenge f\u00fcr Frischobst erreicht (Max ${FRISCHOBST_MAX_QTY} St\u00fcck). Du hast ${frischobstQty} im Warenkorb.`;\r\n        errorMsg.classList.remove('hidden');\r\n        submitBtn.disabled = true;\r\n      } else {\r\n        errorMsg.classList.add('hidden');\r\n        submitBtn.disabled = false;\r\n      }\r\n\r\n      \/\/ 2. Frischobst -> Nur Selbstabholung\r\n      if (isFrischobstInCart) {\r\n        frischobstMsg.classList.remove('hidden');\r\n        labelDelivery.style.opacity = '0.5';\r\n        shippingDelivery.disabled = true;\r\n        shippingPickup.checked = true;\r\n      } else {\r\n        frischobstMsg.classList.add('hidden');\r\n        labelDelivery.style.opacity = '1';\r\n        shippingDelivery.disabled = false;\r\n      }\r\n\r\n      updateUIForShippingMethod();\r\n    }\r\n\r\n    function updateUIForShippingMethod() {\r\n      let shippingCost = 0;\r\n      const isPickup = shippingPickup.checked;\r\n\r\n      \/\/ Shipping UI Toggle\r\n      if (isPickup) {\r\n        pickupDateGroup.classList.remove('hidden');\r\n        addressGroup.classList.add('hidden');\r\n        document.getElementById('address').required = false;\r\n        document.getElementById('zip').required = false;\r\n        document.getElementById('city').required = false;\r\n        pickupDateInput.required = true;\r\n\r\n        \/\/ Payment Toggle\r\n        paymentMethodsGroup.classList.add('hidden');\r\n        paymentPickupGroup.classList.remove('hidden');\r\n        paymentHeading.innerText = \"Bezahlung\";\r\n      } else {\r\n        pickupDateGroup.classList.add('hidden');\r\n        addressGroup.classList.remove('hidden');\r\n        document.getElementById('address').required = true;\r\n        document.getElementById('zip').required = true;\r\n        document.getElementById('city').required = true;\r\n        pickupDateInput.required = false;\r\n\r\n        \/\/ Payment Toggle\r\n        paymentMethodsGroup.classList.remove('hidden');\r\n        paymentPickupGroup.classList.add('hidden');\r\n        paymentHeading.innerText = \"Zahlungsart\";\r\n\r\n        \/\/ Calculate Shipping Cost\r\n        if (subtotal >= FREE_SHIPPING_THRESHOLD) {\r\n          shippingCost = 0;\r\n        } else {\r\n          shippingCost = SHIPPING_COST;\r\n        }\r\n      }\r\n\r\n      \/\/ Handle Diff Billing\r\n      if (diffBillingCheckbox.checked && !isPickup) {\r\n        billingAddressGroup.classList.remove('hidden');\r\n        document.getElementById('billing_address').required = true;\r\n        document.getElementById('billing_zip').required = true;\r\n        document.getElementById('billing_city').required = true;\r\n      } else {\r\n        billingAddressGroup.classList.add('hidden');\r\n        document.getElementById('billing_address').required = false;\r\n        document.getElementById('billing_zip').required = false;\r\n        document.getElementById('billing_city').required = false;\r\n        if(isPickup) {\r\n           diffBillingCheckbox.checked = false; \/\/ reset when pickup\r\n        }\r\n      }\r\n\r\n      \/\/ Update Totals\r\n      if (isPickup) {\r\n         shippingCostEl.innerText = \"Kostenlos (Abholung)\";\r\n      } else if (shippingCost === 0) {\r\n         shippingCostEl.innerText = \"Kostenlos\";\r\n      } else {\r\n         shippingCostEl.innerText = formatPrice(shippingCost);\r\n      }\r\n      \r\n      const total = subtotal + shippingCost;\r\n      totalEl.innerText = formatPrice(total);\r\n    }\r\n\r\n    \/\/ Event Listeners\r\n    shippingDelivery.addEventListener('change', updateUIForShippingMethod);\r\n    shippingPickup.addEventListener('change', updateUIForShippingMethod);\r\n    diffBillingCheckbox.addEventListener('change', updateUIForShippingMethod);\r\n\r\n    form.addEventListener('submit', function(e) {\r\n      e.preventDefault();\r\n\r\n      if (cart.length === 0) return;\r\n\r\n      \/\/ Build Order Object\r\n      const formData = new FormData(form);\r\n      const orderData = {\r\n        customer: Object.fromEntries(formData.entries()),\r\n        items: cart,\r\n        total: subtotalEl.innerText,\r\n        isPickup: shippingPickup.checked\r\n      };\r\n\r\n      \/\/ Mock WaWi Submission\r\n      console.log('Sende an WaWi:', orderData);\r\n      \r\n      \/\/ UI Feedback\r\n      submitBtn.innerText = \"Wird verarbeitet...\";\r\n      submitBtn.disabled = true;\r\n\r\n      setTimeout(() => {\r\n        alert(\"Vielen Dank f\u00fcr deine Bestellung! Die Daten wurden an das System \u00fcbermittelt.\");\r\n        localStorage.removeItem('custom_shop_cart');\r\n        window.location.href = \"https:\/\/www.wachauer-marillenbauer.at\/staging\/?page_id=115\"; \/\/ Redirect to success page\r\n      }, 1500);\r\n    });\r\n\r\n    \/\/ Run\r\n    initDatepicker();\r\n    renderSummary();\r\n  })();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Kassa Dein Warenkorb enth\u00e4lt Frischobst. Daher ist nur &#8222;Selbstabholung&#8220; (Reservierung) m\u00f6glich. Versandart Lieferung Selbstabholung Datum der Abholung Telefonnummer (optional, f\u00fcr R\u00fcckfragen) Rechnungs- \/ Lieferdetails Vorname Nachname E-Mail Adresse Stra\u00dfe und Hausnummer PLZ Ort Abweichende Rechnungsadresse Rechnungsadresse Stra\u00dfe und Hausnummer PLZ Ort Anmerkungen zur Bestellung (optional) Zahlungsart Kreditkarte PayPal Bei Selbstabholung erfolgt die Bezahlung vor Ort. [&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-96","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.wachauer-marillenbauer.at\/staging\/index.php?rest_route=\/wp\/v2\/pages\/96","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wachauer-marillenbauer.at\/staging\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.wachauer-marillenbauer.at\/staging\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.wachauer-marillenbauer.at\/staging\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wachauer-marillenbauer.at\/staging\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=96"}],"version-history":[{"count":19,"href":"https:\/\/www.wachauer-marillenbauer.at\/staging\/index.php?rest_route=\/wp\/v2\/pages\/96\/revisions"}],"predecessor-version":[{"id":138,"href":"https:\/\/www.wachauer-marillenbauer.at\/staging\/index.php?rest_route=\/wp\/v2\/pages\/96\/revisions\/138"}],"wp:attachment":[{"href":"https:\/\/www.wachauer-marillenbauer.at\/staging\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=96"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}