{"id":18847,"date":"2026-09-25T23:03:12","date_gmt":"2026-09-25T20:03:12","guid":{"rendered":"https:\/\/zeolife.gr\/?page_id=18847"},"modified":"2026-10-11T18:27:43","modified_gmt":"2026-10-11T15:27:43","slug":"zeolite-livestock-dosage-guide","status":"publish","type":"page","link":"https:\/\/zeolife.gr\/en\/zeolite-livestock-dosage-guide\/","title":{"rendered":"Zeolite Dosage Guide for Livestock"},"content":{"rendered":"\n<!-- ==========================================================\n     Zeolite Dosage Guide for Livestock  (CLEAN) \u2014 ENGLISH\n     Path: \/en\/zeolite-livestock-dosage-guide\/\n     ----------------------------------------------------------\n     NO <style>\/<link> (AMP safe) \u2014 styling comes from the\n     Customizer, sections \u00a716 \u2192 \u00a716\u03c3\u03c4 .zlcalc (shared by all\n     the \/ergaleia\/ guides).\n     JS stays here, in an IIFE. Root hook for the JS: id=\"zlvCalc\".\n     ========================================================== -->\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@graph\": [\n    {\n      \"@type\": \"WebApplication\",\n      \"name\": \"Zeolite Dosage Guide for Livestock (Online Calculator)\",\n      \"alternateName\": \"Zeolite Calculator for Livestock\",\n      \"url\": \"https:\/\/zeolife.gr\/en\/zeolite-livestock-dosage-guide\/\",\n      \"description\": \"Free Dosage Guide (online calculator) for zeolite in livestock farming \u2014 feed and living area. 12 animal species, smart packaging with volume discounts up to -40%. FAMIQS certified.\",\n      \"applicationCategory\": \"AgricultureApplication\",\n      \"operatingSystem\": \"Any (web)\",\n      \"inLanguage\": \"en\",\n      \"isAccessibleForFree\": true,\n      \"audience\": { \"@type\": \"Audience\", \"audienceType\": \"Livestock farmers, veterinarians, pet owners\" },\n      \"publisher\": { \"@type\": \"Organization\", \"name\": \"Zeolife\", \"url\": \"https:\/\/zeolife.gr\/\" }\n    },\n    {\n      \"@type\": \"HowTo\",\n      \"name\": \"How to calculate the right zeolite dose for animal feed and living areas\",\n      \"step\": [\n        { \"@type\": \"HowToStep\", \"name\": \"Choose a purpose\", \"text\": \"Feed, living area, or both.\" },\n        { \"@type\": \"HowToStep\", \"name\": \"Choose an animal\", \"text\": \"12 animal species. If yours is not listed, ask us for a personalised recommendation.\" },\n        { \"@type\": \"HowToStep\", \"name\": \"Enter your data\", \"text\": \"Number of animals and\/or m\u00b2 of space.\" },\n        { \"@type\": \"HowToStep\", \"name\": \"Duration\", \"text\": \"How many days you want to cover.\" },\n        { \"@type\": \"HowToStep\", \"name\": \"Smart packaging\", \"text\": \"How many packs + cost with volume discount.\" }\n      ]\n    }\n  ]\n}\n<\/script>\n\n<div class=\"zl zlcalc\" id=\"zlvCalc\">\n<div class=\"intro\">\n  <h2>\ud83d\udc04 Zeolite Dosage Guide for Livestock<\/h2>\n  <p>Give us 5 pieces of information and we&#8217;ll tell you <strong>exactly how much zeolite you need<\/strong> for feed and\/or the living area. <strong>Final cost with volume discount<\/strong> of up to -40%.<\/p>\n  <div class=\"badges\">\n    <span class=\"badge\">\ud83d\udccb 5-step guide<\/span>\n    <span class=\"badge\">12 animal species<\/span>\n    <span class=\"badge\">Feed + Living area<\/span>\n    <span class=\"badge badge-cert\">\u2705 FAMIQS<\/span>\n    <span class=\"badge badge-discount\">\ud83d\udcb0 Up to -40% discount<\/span>\n  <\/div>\n<\/div>\n<div class=\"progress\" aria-hidden=\"true\"><div class=\"progress-bar\" id=\"zlProgress\"><\/div><\/div>\n<div id=\"zlProgressSpacer\" aria-hidden=\"true\" style=\"height:0\"><\/div>\n<!-- STEP 1: PURPOSE -->\n<div class=\"step active\" data-step=\"1\">\n  <h3><span class=\"step-num\">1<\/span>What will you use the zeolite for?<\/h3>\n  <div class=\"options cols-3\">\n    <label class=\"option\"><input type=\"radio\" name=\"purpose\" value=\"feed\">\n      <span class=\"opt-title\">\ud83c\udf7d\ufe0f Feed<\/span>\n      <span class=\"opt-desc\">Mixed into feed \u2014 binds mycotoxins, better digestion<\/span>\n    <\/label>\n    <label class=\"option\"><input type=\"radio\" name=\"purpose\" value=\"floor\">\n      <span class=\"opt-title\">\ud83c\udfe0 Living area<\/span>\n      <span class=\"opt-desc\">Floor\/bedding\/cat litter \u2014 absorbs ammonia, fewer odours<\/span>\n    <\/label>\n    <label class=\"option\"><input type=\"radio\" name=\"purpose\" value=\"both\">\n      <span class=\"opt-title\">\ud83c\udf1f Both<\/span>\n      <span class=\"opt-desc\">Recommended for maximum results<\/span>\n    <\/label>\n  <\/div>\n<\/div>\n<!-- STEP 2: ANIMAL -->\n<div class=\"step\" data-step=\"2\">\n  <h3><span class=\"step-num\">2<\/span>Choose an animal<\/h3>\n  <div class=\"options cols-3\">\n    <label class=\"option\"><input type=\"radio\" name=\"animal\" value=\"cattle_dairy\">\n      <span class=\"opt-title\">\ud83d\udc04 Dairy<\/span>\n      <span class=\"opt-desc\">Dairy cattle<\/span>\n    <\/label>\n    <label class=\"option\"><input type=\"radio\" name=\"animal\" value=\"cattle_beef\">\n      <span class=\"opt-title\">\ud83d\udc02 Beef<\/span>\n      <span class=\"opt-desc\">Beef cattle<\/span>\n    <\/label>\n    <label class=\"option\"><input type=\"radio\" name=\"animal\" value=\"calves\">\n      <span class=\"opt-title\">\ud83d\udc2e Calves<\/span>\n      <span class=\"opt-desc\">Calves \/ heifers<\/span>\n    <\/label>\n    <label class=\"option\"><input type=\"radio\" name=\"animal\" value=\"pigs_sow\">\n      <span class=\"opt-title\">\ud83d\udc16 Breeding pigs<\/span>\n      <span class=\"opt-desc\">Sows \/ breeding pigs<\/span>\n    <\/label>\n    <label class=\"option\"><input type=\"radio\" name=\"animal\" value=\"pigs_fattener\">\n      <span class=\"opt-title\">\ud83d\udc37 Fattening pigs<\/span>\n      <span class=\"opt-desc\">Finishing pigs<\/span>\n    <\/label>\n    <label class=\"option\"><input type=\"radio\" name=\"animal\" value=\"piglets\">\n      <span class=\"opt-title\">\ud83d\udc3d Piglets<\/span>\n      <span class=\"opt-desc\">Young piglets<\/span>\n    <\/label>\n    <label class=\"option\"><input type=\"radio\" name=\"animal\" value=\"broilers\">\n      <span class=\"opt-title\">\ud83d\udc14 Broilers<\/span>\n      <span class=\"opt-desc\">Meat chickens<\/span>\n    <\/label>\n    <label class=\"option\"><input type=\"radio\" name=\"animal\" value=\"layers\">\n      <span class=\"opt-title\">\ud83d\udc13 Laying hens<\/span>\n      <span class=\"opt-desc\">Egg production<\/span>\n    <\/label>\n    <label class=\"option\"><input type=\"radio\" name=\"animal\" value=\"sheep_goats\">\n      <span class=\"opt-title\">\ud83d\udc11 Sheep\/Goats<\/span>\n      <span class=\"opt-desc\">Small ruminants (+0.5% dose)<\/span>\n    <\/label>\n    <label class=\"option\"><input type=\"radio\" name=\"animal\" value=\"horses\">\n      <span class=\"opt-title\">\ud83d\udc0e Horses<\/span>\n      <span class=\"opt-desc\">Equines<\/span>\n    <\/label>\n    <label class=\"option\"><input type=\"radio\" name=\"animal\" value=\"dogs\">\n      <span class=\"opt-title\">\ud83d\udc15 Dogs<\/span>\n      <span class=\"opt-desc\">Pet dogs<\/span>\n    <\/label>\n    <label class=\"option\"><input type=\"radio\" name=\"animal\" value=\"cats\">\n      <span class=\"opt-title\">\ud83d\udc08 Cats<\/span>\n      <span class=\"opt-desc\">Pet cats + litter<\/span>\n    <\/label>\n    <label class=\"option\"><input type=\"radio\" name=\"animal\" value=\"other\">\n      <span class=\"opt-title\">\u2795 Ask us<\/span>\n      <span class=\"opt-desc\">Another animal? Ask for a recommendation<\/span>\n    <\/label>\n  <\/div>\n<\/div>\n<!-- STEP 3: DATA -->\n<div class=\"step\" data-step=\"3\">\n  <h3><span class=\"step-num\">3<\/span>Your data<\/h3>\n  <div id=\"zlDataContainer\">\n    <p style=\"color:var(--zl-muted);font-style:italic;\">First complete Steps 1 and 2.<\/p>\n  <\/div>\n<\/div>\n<!-- STEP 4: DURATION -->\n<div class=\"step\" data-step=\"4\">\n  <h3><span class=\"step-num\">4<\/span>Application period<\/h3>\n  <div class=\"options cols-4\">\n    <label class=\"option\"><input type=\"radio\" name=\"duration\" value=\"30\">\n      <span class=\"opt-title\">\ud83d\udcc5 30 days<\/span>\n      <span class=\"opt-desc\">1 month<\/span>\n    <\/label>\n    <label class=\"option\"><input type=\"radio\" name=\"duration\" value=\"90\">\n      <span class=\"opt-title\">\ud83d\udcc5 90 days<\/span>\n      <span class=\"opt-desc\">3 months<\/span>\n    <\/label>\n    <label class=\"option\"><input type=\"radio\" name=\"duration\" value=\"180\">\n      <span class=\"opt-title\">\ud83d\udcc5 180 days<\/span>\n      <span class=\"opt-desc\">6 months<\/span>\n    <\/label>\n    <label class=\"option\"><input type=\"radio\" name=\"duration\" value=\"365\">\n      <span class=\"opt-title\">\ud83d\udcc5 1 year<\/span>\n      <span class=\"opt-desc\">Annual programme<\/span>\n    <\/label>\n  <\/div>\n  <div style=\"margin-top:0.85rem;\">\n    <label class=\"qty-label\" for=\"zlCustomDays\">Or enter the exact number of days:<\/label>\n    <input type=\"number\" id=\"zlCustomDays\" class=\"qty-input\" min=\"1\" placeholder=\"e.g. 60\">\n  <\/div>\n  <p class=\"sublabel\">\ud83d\udca1 For feed: continuous administration. For floors: renew <strong>weekly<\/strong> for large animals (cattle\/horses\/pigs) or <strong>monthly<\/strong> for small ones (poultry\/sheep &#038; goats\/calves).<\/p>\n<\/div>\n<!-- STEP 5: PRIORITY -->\n<div class=\"step\" data-step=\"5\">\n  <h3><span class=\"step-num\">5<\/span>What&#8217;s your priority?<\/h3>\n  <div class=\"options cols-2\">\n    <label class=\"option\"><input type=\"radio\" name=\"priority\" value=\"auto\">\n      <span class=\"opt-title\">\ud83c\udfaf Auto-recommend<\/span>\n      <span class=\"opt-desc\">Give me the best option for my animal<\/span>\n    <\/label>\n    <label class=\"option\"><input type=\"radio\" name=\"priority\" value=\"premium\">\n      <span class=\"opt-title\">\u2b50 Premium Activated<\/span>\n      <span class=\"opt-desc\">Maximum mycotoxin binding (Zeofeed\u00ae, 1% dose)<\/span>\n    <\/label>\n    <label class=\"option\"><input type=\"radio\" name=\"priority\" value=\"value\">\n      <span class=\"opt-title\">\ud83d\udc8e Best Value<\/span>\n      <span class=\"opt-desc\">Best price\/quality ratio (Imerys, 2% dose)<\/span>\n    <\/label>\n    <label class=\"option\"><input type=\"radio\" name=\"priority\" value=\"all\">\n      <span class=\"opt-title\">\ud83d\udcca Show me everything<\/span>\n      <span class=\"opt-desc\">Compare all suitable options<\/span>\n    <\/label>\n  <\/div>\n<\/div>\n<!-- STEP (conditional): REQUEST FOR ANOTHER ANIMAL \u2014 shown only when \"Ask us\" is selected -->\n<div class=\"step\" id=\"zlOtherStep\" style=\"display:none\">\n  <button type=\"button\" class=\"btn btn-secondary\" id=\"zlOtherBack\" style=\"padding:.5rem 1.1rem;font-size:.9rem;margin-bottom:1rem\">\u2190 Back to the guide<\/button>\n  <h3><span class=\"step-num\">\u2795<\/span>Tell us about your animal<\/h3>\n  <p style=\"margin:.2rem 0 1rem;color:var(--muted)\">Can&#8217;t find your animal in the list? Tell us what it is and our team will recommend the exact zeolite dosage <strong>free of charge<\/strong>.<\/p>\n  <label class=\"qty-label\" for=\"zlOtherCrop\">Which animal \/ use?<\/label>\n  <input type=\"text\" id=\"zlOtherCrop\" class=\"qty-input\" placeholder=\"e.g. Rabbits, Bees, Ostriches, Fish farming\u2026\" autocomplete=\"off\">\n  <div style=\"margin-top:1rem\">\n    <label class=\"qty-label\" for=\"zlOtherDetails\">Details <span style=\"font-weight:400;color:var(--muted)\">(optional)<\/span><\/label>\n    <textarea id=\"zlOtherDetails\" class=\"qty-input\" rows=\"3\" placeholder=\"e.g. number of animals or m\u00b2 of space, purpose (feed\/living area)\u2026\"><\/textarea>\n  <\/div>\n  <div class=\"contact-box\">\n    <strong class=\"ttl\">\ud83d\udce9 Send us your request<\/strong>\n    <span class=\"opt-desc\" style=\"margin-bottom:.25rem\">You&#8217;ll receive a personalised dosage recommendation for your case.<\/span>\n    <div class=\"contact-btns\">\n      <a id=\"zlOtherWhatsapp\" href=\"https:\/\/wa.me\/306985838343\" class=\"btn btn-secondary\" target=\"_blank\" rel=\"noopener\">\ud83d\udcac WhatsApp<\/a>\n      <a id=\"zlOtherViber\" href=\"viber:\/\/chat?number=306985838343\" class=\"btn btn-secondary\">\ud83d\udfe3 Viber<\/a>\n      <a id=\"zlOtherEmail\" href=\"mailto:info@zeolife.gr\" class=\"btn btn-secondary\">\u2709\ufe0f Email<\/a>\n      <a href=\"tel:+302311295520\" class=\"btn btn-secondary\">\ud83d\udcde +30 2311 29 55 20<\/a>\n    <\/div>\n  <\/div>\n<\/div>\n<div class=\"actions\">\n  <button type=\"button\" class=\"btn\" id=\"zlCalculate\" disabled=\"\">\ud83d\udccb See the dosage<\/button>\n  <button type=\"button\" class=\"btn btn-secondary\" id=\"zlReset\">\ud83d\udd04 Clear<\/button>\n  <button type=\"button\" class=\"btn btn-print\" id=\"zlPrint\">\ud83d\udda8\ufe0f Print<\/button>\n<\/div>\n<!-- RESULT -->\n<div class=\"result\" id=\"zlResult\">\n  <div class=\"print-only\" style=\"text-align:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:2px solid #2a9ca0;\">\n    <img decoding=\"async\" src=\"https:\/\/zeolife.gr\/wp-content\/uploads\/\/2019\/11\/logo-zeolife-hor.svg\" alt=\"Zeolife.gr\" style=\"max-width:280px;height:auto;margin:0 auto 0.5rem;display:block;\">\n    <h2 style=\"color:#26231e;margin:0;font-size:1.2rem;\">Livestock Zeolite Programme<\/h2>\n    <p style=\"margin:0.3rem 0 0;font-size:0.9rem;color:#6b6a64;\">www.zeolife.gr \u00b7 \u260e +30 2311 29 55 20 \u00b7 \u2709 info@zeolife.gr<\/p>\n  <\/div>\n  <h3>Your personalised recommendation<\/h3>\n  <div id=\"zlResultBody\"><\/div>\n<\/div>\n<\/div>\n<script>\n(function(){\n  \/\/ ===== ANIMAL DATA =====\n  var animalData = {\n    cattle_dairy:  { name: 'Dairy cattle',          icon: '\ud83d\udc04', feedKgDay: 22,  floorGrM2: 100, mode: 'per_animal', allowFloor: true,  dosageMult: 1.0,  floorRepeatDays: 7,  sizeClass: 'large' },\n    cattle_beef:   { name: 'Beef cattle',           icon: '\ud83d\udc02', feedKgDay: 12,  floorGrM2: 100, mode: 'per_animal', allowFloor: true,  dosageMult: 1.0,  floorRepeatDays: 7,  sizeClass: 'large' },\n    calves:        { name: 'Calves\/heifers',        icon: '\ud83d\udc2e', feedKgDay: 5,   floorGrM2: 100, mode: 'per_animal', allowFloor: true,  dosageMult: 1.0,  floorRepeatDays: 30, sizeClass: 'small' },\n    pigs_sow:      { name: 'Breeding pigs',         icon: '\ud83d\udc16', feedKgDay: 5,   floorGrM2: 100, mode: 'per_animal', allowFloor: true,  dosageMult: 1.0,  floorRepeatDays: 7,  sizeClass: 'large' },\n    pigs_fattener: { name: 'Fattening pigs',        icon: '\ud83d\udc37', feedKgDay: 3,   floorGrM2: 100, mode: 'per_animal', allowFloor: true,  dosageMult: 1.0,  floorRepeatDays: 7,  sizeClass: 'large' },\n    piglets:       { name: 'Piglets',               icon: '\ud83d\udc3d', feedKgDay: 1.2, floorGrM2: 100, mode: 'per_animal', allowFloor: true,  dosageMult: 1.0,  floorRepeatDays: 30, sizeClass: 'small' },\n    broilers:      { name: 'Broiler chickens',      icon: '\ud83d\udc14', feedKgDay: 0.12,floorGrM2: 100, mode: 'per_animal', allowFloor: true,  dosageMult: 1.0,  floorRepeatDays: 30, sizeClass: 'small' },\n    layers:        { name: 'Laying hens',           icon: '\ud83d\udc13', feedKgDay: 0.13,floorGrM2: 100, mode: 'per_animal', allowFloor: true,  dosageMult: 1.0,  floorRepeatDays: 30, sizeClass: 'small' },\n    sheep_goats:   { name: 'Sheep\/goats',           icon: '\ud83d\udc11', feedKgDay: 2,   floorGrM2: 100, mode: 'per_animal', allowFloor: true,  dosageMult: 1.25, floorRepeatDays: 30, sizeClass: 'small' },\n    horses:        { name: 'Horses',                icon: '\ud83d\udc0e', feedKgDay: 8,   floorGrM2: 100, mode: 'per_animal', allowFloor: true,  dosageMult: 1.0,  floorRepeatDays: 7,  sizeClass: 'large' },\n    dogs:          { name: 'Dogs',                  icon: '\ud83d\udc15', feedGrPerKg: 25, floorGrM2: 0,  mode: 'per_kg',     allowFloor: false, dosageMult: 1.0 },\n    cats:          { name: 'Cats',                  icon: '\ud83d\udc08', feedGrPerKg: 25, floorGrM2: 0,  mode: 'per_kg',     allowFloor: true,  dosageMult: 1.0, isLitter: true, litterGrDay: 15 }\n  };\n  \/\/ ===== PRODUCTS =====\n  var products = {\n    zeofeed: {\n      name: 'Zeofeed\u00ae Activated',\n      brand: 'Zeocem (Slovak)',\n      particle: 'up to 50 microns (activated)',\n      kg: 25,\n      price: 23.90,\n      cert: 'FAMIQS',\n      badge: 'PREMIUM',\n      badgeClass: 'premium',\n      forFeed: true,\n      forFloor: false,\n      dosagePct: 0.01,\n      desc: 'Activated zeolite with finer particles \u2014 maximum mycotoxin binding. Dosage only 1% of feed. Available in 25 kg sacks.',\n      url: 'https:\/\/shop.zeolife.gr\/en\/product\/zeofeed-activated-zeolite-up-to-50-microns-extremely-fine-powder-ideal-for-livestock-use-famiqs-certified-25-kg\/',\n      hasVolumeDiscount: true,\n    },\n    imerys_fine: {\n      name: 'Imerys Zeolite 0.8mm Powder',\n      brand: 'Imerys (Bulgarian)',\n      particle: 'up to 0.8 mm \u2014 Powder',\n      kg: 25,\n      price: 18.90,\n      cert: 'FAMIQS',\n      badge: 'BEST VALUE',\n      badgeClass: 'value',\n      forFeed: true,\n      forFloor: true,\n      dosagePct: 0.02,\n      desc: 'FAMIQS 0.8mm powder \u2014 works for BOTH feed AND floors. Dosage 2% (2.5% for sheep & goats). 25 kg sacks; for small quantities we suggest the 500 g pack (powder up to 0.063 mm) \u2014 we pick the most economical combination for your needs.',\n      url: 'https:\/\/shop.zeolife.gr\/en\/product\/zeolite-0point8mm\/',\n      hasVolumeDiscount: true,\n      smartPackaging: true,\n      smallPackageThreshold: { monthlyKg: 2 },\n      packages: [\n        { kg: 0.5, price: 4.50, label: '500 grams (powder up to 0.063 mm)', url: 'https:\/\/shop.zeolife.gr\/en\/product\/zeolite-up-to-0-063-millimetres-very-fine-powder-the-finest-grain-size-available-500-grams\/', hasDiscount: false },\n        { kg: 25,  price: 18.90, label: '25 kg', url: 'https:\/\/shop.zeolife.gr\/en\/product\/zeolite-0point8mm\/', hasDiscount: true }\n      ]\n    },\n    imerys_gravel: {\n      name: 'Imerys Zeolite 0.8-2.5mm Fine gravel',\n      brand: 'Imerys (Bulgarian)',\n      particle: '0.8 to 2.5 mm \u2014 Fine gravel',\n      kg: 25,\n      price: 17.90,\n      cert: 'Certified',\n      badge: 'FLOOR',\n      badgeClass: '',\n      forFeed: false,\n      forFloor: true,\n      desc: 'Fine gravel for floors ONLY. An economical choice for large animals and horses.',\n      url: 'https:\/\/shop.zeolife.gr\/en\/product\/zeolite-0point8-to-2point5mm\/',\n      hasVolumeDiscount: true\n    },\n    imerys_chips: {\n      name: 'Imerys Zeolite 2.5-5mm Gravel',\n      brand: 'Imerys (Bulgarian)',\n      particle: '2.5 to 5 mm \u2014 Gravel',\n      kg: 25,\n      price: 17.90,\n      cert: 'Certified',\n      badge: 'POULTRY ' + String.fromCharCode(38) + ' PETS',\n      badgeClass: '',\n      forFeed: false,\n      forFloor: true,\n      desc: 'Gravel for floors ONLY \u2014 ideal for poultry houses and cat litter trays (bulk). Does not compact.',\n      url: 'https:\/\/shop.zeolife.gr\/en\/product\/zeolite-2point5-to-5mm\/',\n      hasVolumeDiscount: true\n    },\n    zeopet: {\n      name: 'ZeoPet (scented)',\n      brand: 'Zeolife',\n      particle: 'Natural zeolite + fragrance',\n      kg: 0.5,\n      price: 5.90,\n      cert: 'Zeolife',\n      badge: 'CAT LITTER \u2b50',\n      badgeClass: 'premium',\n      forFeed: false,\n      forFloor: true,\n      forPetsOnly: true,\n      desc: 'Cat litter tray deodoriser with 8 scents (vanilla, lemon, orange, orchid, rose, baby powder, bubblegum, fresh). 500g = ~30 days for 1 cat.',\n      url: 'https:\/\/shop.zeolife.gr\/en\/product-category\/home-use\/for-pets\/',\n      hasVolumeDiscount: false\n    },\n    cleanpet: {\n      name: 'CleanPet (scented)',\n      brand: 'Zeolife',\n      particle: 'Zeolite + natural minerals + fragrance',\n      kg: 0.4,\n      price: 10.50,\n      cert: 'Zeolife',\n      badge: 'PREMIUM CAT LITTER',\n      badgeClass: 'premium',\n      forFeed: false,\n      forFloor: true,\n      forPetsOnly: true,\n      desc: 'Premium cat litter tray deodoriser with zeolite + minerals. Orange or lavender scent. 400g = ~25 days.',\n      url: 'https:\/\/shop.zeolife.gr\/en\/product-category\/home-use\/for-pets\/',\n      hasVolumeDiscount: false\n    }\n  };\n  \/\/ ===== VOLUME DISCOUNT TIERS =====\n  function getVolumeDiscount(bags) {\n    if (bags >= 40) return 0.40;\n    if (bags >= 30) return 0.30;\n    if (bags >= 20) return 0.20;\n    if (bags >= 10) return 0.10;\n    return 0;\n  }\n  function getCurrentTier(bags) {\n    if (bags >= 40) return 4;\n    if (bags >= 30) return 3;\n    if (bags >= 20) return 2;\n    if (bags >= 10) return 1;\n    return 0;\n  }\n  \/\/ ===== ELEMENTS =====\n  var calc = document.getElementById('zlvCalc');\n  var steps = calc.querySelectorAll('.step:not(#zlOtherStep)');\n  var otherStep = document.getElementById('zlOtherStep');\n  var actionsRow = calc.querySelector('.actions');\n  var tankSection = calc.querySelector('.tank-section');\n  var progressBar = document.getElementById('zlProgress');\n  var calcBtn = document.getElementById('zlCalculate');\n  var resetBtn = document.getElementById('zlReset');\n  var printBtn = document.getElementById('zlPrint');\n  var resultBox = document.getElementById('zlResult');\n  var resultBody = document.getElementById('zlResultBody');\n  var dataContainer = document.getElementById('zlDataContainer');\n  var customDaysInput = document.getElementById('zlCustomDays');\n  \/\/ ===== HELPERS =====\n  function isPositive(v) {\n    if (!v) return false;\n    if (Number(v) <= 0) return false;\n    return true;\n  }\n  function getChecked(name) {\n    var el = calc.querySelector('input[name=\"' + name + '\"]:checked');\n    return el ? el.value : null;\n  }\n  function getVal(id) {\n    var el = document.getElementById(id);\n    return el ? el.value : null;\n  }\n  function fmtKg(g) {\n    if (g >= 1000) return (g \/ 1000).toFixed(2).replace(\/\\.00$\/, '') + ' kg';\n    return Math.round(g) + ' g';\n  }\n  function fmtEuro(n) {\n    return '\u20ac' + n.toFixed(2);\n  }\n  \/\/ ===== \"ASK US\" \u2014 REQUEST MODE =====\n  function updateOtherLinks() {\n    var cropEl = document.getElementById('zlOtherCrop');\n    var detEl = document.getElementById('zlOtherDetails');\n    var cropName = cropEl ? cropEl.value.trim() : '';\n    var details = detEl ? detEl.value.trim() : '';\n    var msg = 'Hello! I would like a personalised livestock zeolite dosage recommendation for: ' + (cropName || '[enter animal\/use]');\n    if (details) { msg += '. Additional details: ' + details; }\n    var wa = document.getElementById('zlOtherWhatsapp');\n    var em = document.getElementById('zlOtherEmail');\n    if (wa) { wa.href = 'https:\/\/wa.me\/306985838343?text=' + encodeURIComponent(msg); }\n    if (em) { em.href = 'mailto:info@zeolife.gr?subject=' + encodeURIComponent('Livestock zeolite dosage request' + (cropName ? (' \u2013 ' + cropName) : '')) + '&body=' + encodeURIComponent(msg); }\n  }\n  function enterOtherMode() {\n    for (var i = 0; i < steps.length; i++) { steps[i].style.display = 'none'; steps[i].classList.remove('active'); }\n    if (actionsRow) { actionsRow.style.display = 'none'; }\n    if (tankSection) { tankSection.style.display = 'none'; }\n    resultBox.classList.remove('show');\n    if (otherStep) {\n      otherStep.style.display = '';\n      otherStep.classList.add('active');\n      otherStep.scrollIntoView({ behavior: 'smooth', block: 'start' });\n    }\n    progressBar.style.width = '100%';\n    calcBtn.disabled = true;\n    updateOtherLinks();\n  }\n  function exitOtherMode() {\n    for (var i = 0; i < steps.length; i++) { steps[i].style.display = ''; }\n    if (actionsRow) { actionsRow.style.display = ''; }\n    if (tankSection) { tankSection.style.display = ''; }\n    if (otherStep) { otherStep.style.display = 'none'; otherStep.classList.remove('active'); }\n  }\n  function renderDataStep() {\n    var purpose = getChecked('purpose');\n    var animal = getChecked('animal');\n    if (!purpose) {\n      dataContainer.innerHTML = '<p style=\"color:var(--zl-muted);font-style:italic;\">First complete Step 1 (purpose).<\/p>';\n      return;\n    }\n    if (!animal) {\n      dataContainer.innerHTML = '<p style=\"color:var(--zl-muted);font-style:italic;\">First complete Step 2 (animal).<\/p>';\n      return;\n    }\n    var data = animalData[animal];\n    if (!data) return;\n    var html = '';\n    var needsFeed = (purpose === 'feed') || (purpose === 'both');\n    var needsFloor = (purpose === 'floor') || (purpose === 'both');\n    if (needsFloor) {\n      if (!data.allowFloor) {\n        html += '<div class=\"danger\"><strong>\u26a0\ufe0f Feed only<\/strong>For <strong>' + data.icon + ' ' + data.name + '<\/strong> we do not apply zeolite to the living area. We\\'ll continue with feed only.<\/div>';\n        needsFloor = false;\n      }\n    }\n    if (needsFeed) {\n      html += '<div style=\"margin-bottom:0.85rem;\">';\n      html += '<label class=\"qty-label\" for=\"zlQty\">\ud83c\udf7d\ufe0f Number of animals (for feed)<\/label>';\n      html += '<input type=\"number\" id=\"zlQty\" class=\"qty-input\" min=\"1\" placeholder=\"e.g. 50\">';\n      if (data.mode === 'per_kg') {\n        html += '<div style=\"margin-top:0.6rem;\">';\n        html += '<label class=\"qty-label\" for=\"zlWeight\">Average weight (kg)<\/label>';\n        html += '<input type=\"number\" id=\"zlWeight\" class=\"qty-input\" min=\"0.1\" step=\"0.1\" placeholder=\"e.g. 20\">';\n        html += '<p class=\"sublabel\">\ud83d\udca1 Average ' + (animal === 'dogs' ? 'dog' : 'cat') + ': ' + (animal === 'dogs' ? '15-25 kg' : '3-5 kg') + '<\/p>';\n        html += '<\/div>';\n      } else {\n        html += '<p class=\"sublabel\">\ud83d\udca1 ' + data.icon + ' ' + data.name + ' \u00b7 ~' + data.feedKgDay + ' kg feed\/animal\/day. Imerys: ' + (data.dosageMult * 2).toFixed(1).replace('.0','') + '% \u00b7 Zeofeed: 1%<\/p>';\n      }\n      html += '<\/div>';\n    }\n    if (needsFloor) {\n      if (data.isLitter) {\n        html += '<div>';\n        html += '<label class=\"qty-label\" for=\"zlPetCount\">\ud83d\udc08 How many cats (litter)?<\/label>';\n        html += '<input type=\"number\" id=\"zlPetCount\" class=\"qty-input\" min=\"1\" placeholder=\"e.g. 2\">';\n        html += '<p class=\"sublabel\">\ud83d\udca1 Dose: ~1 tablespoon (15g) per cat per day in the litter<\/p>';\n        html += '<\/div>';\n      } else {\n        html += '<div>';\n        html += '<label class=\"qty-label\" for=\"zlFloorM2\">\ud83c\udfe0 Living area surface (m\u00b2)<\/label>';\n        html += '<input type=\"number\" id=\"zlFloorM2\" class=\"qty-input\" min=\"1\" step=\"0.1\" placeholder=\"e.g. 200\">';\n        html += '<p class=\"sublabel\">\ud83d\udca1 Dose: <strong>100 g\/m\u00b2<\/strong> (one application, renew every 2-3 months)<\/p>';\n        html += '<\/div>';\n      }\n    }\n    dataContainer.innerHTML = html;\n    var qtyInput = document.getElementById('zlQty');\n    if (qtyInput) qtyInput.addEventListener('input', updateProgress);\n    var weightInput = document.getElementById('zlWeight');\n    if (weightInput) weightInput.addEventListener('input', updateProgress);\n    var floorInput = document.getElementById('zlFloorM2');\n    if (floorInput) floorInput.addEventListener('input', updateProgress);\n    var petCountInput = document.getElementById('zlPetCount');\n    if (petCountInput) petCountInput.addEventListener('input', updateProgress);\n  }\n  function isFormValid() {\n    var purpose = getChecked('purpose');\n    var animal = getChecked('animal');\n    var priority = getChecked('priority');\n    if (!purpose) return false;\n    if (!animal) return false;\n    if (animal === 'other') return false;\n    if (!priority) return false;\n    var data = animalData[animal];\n    var needsFeed = (purpose === 'feed') || (purpose === 'both');\n    var needsFloor = (purpose === 'floor') || (purpose === 'both');\n    if (needsFloor) {\n      if (!data.allowFloor) needsFloor = false;\n    }\n    if (needsFeed) {\n      if (!isPositive(getVal('zlQty'))) return false;\n      if (data.mode === 'per_kg') {\n        if (!isPositive(getVal('zlWeight'))) return false;\n      }\n    }\n    if (needsFloor) {\n      if (data.isLitter) {\n        if (!isPositive(getVal('zlPetCount'))) return false;\n      } else {\n        if (!isPositive(getVal('zlFloorM2'))) return false;\n      }\n    }\n    if (needsFeed) {\n      if (!getChecked('duration')) {\n        if (!isPositive(getVal('zlCustomDays'))) return false;\n      }\n    }\n    if (needsFloor) {\n      if (data.isLitter) {\n        if (!getChecked('duration')) {\n          if (!isPositive(getVal('zlCustomDays'))) return false;\n        }\n      }\n    }\n    return true;\n  }\n  function updateProgress() {\n    \/\/ \"Ask us\" \u2192 request mode, not a calculation. Handled by enterOtherMode().\n    if (getChecked('animal') === 'other') { return; }\n    var filled = 0;\n    if (getChecked('purpose')) filled++;\n    if (getChecked('animal')) filled++;\n    var purpose = getChecked('purpose');\n    var animal = getChecked('animal');\n    if (purpose ? animal : false) {\n      var data = animalData[animal];\n      var needsFeed = (purpose === 'feed') || (purpose === 'both');\n      var needsFloor = (purpose === 'floor') || (purpose === 'both');\n      if (needsFloor) {\n        if (!data.allowFloor) needsFloor = false;\n      }\n      var feedOK = !needsFeed;\n      var floorOK = !needsFloor;\n      if (needsFeed) {\n        if (isPositive(getVal('zlQty'))) {\n          if (data.mode === 'per_kg') {\n            if (isPositive(getVal('zlWeight'))) feedOK = true;\n          } else {\n            feedOK = true;\n          }\n        }\n      }\n      if (needsFloor) {\n        if (data.isLitter) {\n          if (isPositive(getVal('zlPetCount'))) floorOK = true;\n        } else {\n          if (isPositive(getVal('zlFloorM2'))) floorOK = true;\n        }\n      }\n      if (feedOK ? floorOK : false) filled++;\n    }\n    if (getChecked('duration') || isPositive(getVal('zlCustomDays'))) filled++;\n    if (getChecked('priority')) filled++;\n    progressBar.style.width = (filled \/ 5 * 100) + '%';\n    steps.forEach(function(s, i) {\n      var isActive = (i === filled) || (i === filled - 1);\n      s.classList.toggle('active', isActive);\n    });\n    calcBtn.disabled = !isFormValid();\n  }\n  calc.querySelectorAll('input[name=\"purpose\"]').forEach(function(r) {\n    r.addEventListener('change', function() { renderDataStep(); updateProgress(); });\n  });\n  calc.querySelectorAll('input[name=\"animal\"]').forEach(function(r) {\n    r.addEventListener('change', function() {\n      if (r.value === 'other') {\n        enterOtherMode();\n      } else {\n        exitOtherMode();\n        renderDataStep();\n      }\n      updateProgress();\n    });\n  });\n  calc.querySelectorAll('input[name=\"duration\"]').forEach(function(r) {\n    r.addEventListener('change', function() {\n      if (customDaysInput) customDaysInput.value = '';\n      updateProgress();\n    });\n  });\n  if (customDaysInput) {\n    customDaysInput.addEventListener('input', function() {\n      if (isPositive(customDaysInput.value)) {\n        calc.querySelectorAll('input[name=\"duration\"]').forEach(function(r) { r.checked = false; });\n      }\n      updateProgress();\n    });\n  }\n  calc.querySelectorAll('input[name=\"priority\"]').forEach(function(r) {\n    r.addEventListener('change', updateProgress);\n  });\n  \/\/ Live-update the WhatsApp\/Email links as the user types\n  ['zlOtherCrop', 'zlOtherDetails'].forEach(function(id) {\n    var el = document.getElementById(id);\n    if (el) { el.addEventListener('input', updateOtherLinks); }\n  });\n  \/\/ \"\u2190 Back to the guide\"\n  var otherBackBtn = document.getElementById('zlOtherBack');\n  if (otherBackBtn) {\n    otherBackBtn.addEventListener('click', function() {\n      var otherRadio = calc.querySelector('input[name=\"animal\"][value=\"other\"]');\n      if (otherRadio) { otherRadio.checked = false; }\n      exitOtherMode();\n      updateProgress();\n      steps[0].classList.add('active');\n      steps[0].scrollIntoView({ behavior: 'smooth', block: 'start' });\n    });\n  }\n  resetBtn.addEventListener('click', function() {\n    calc.querySelectorAll('input[type=\"radio\"]').forEach(function(r) { r.checked = false; });\n    calc.querySelectorAll('input[type=\"number\"]').forEach(function(r) { r.value = ''; });\n    var oc = document.getElementById('zlOtherCrop'); if (oc) oc.value = '';\n    var od = document.getElementById('zlOtherDetails'); if (od) od.value = '';\n    exitOtherMode();\n    dataContainer.innerHTML = '<p style=\"color:var(--zl-muted);font-style:italic;\">First complete Steps 1 and 2.<\/p>';\n    resultBox.classList.remove('show');\n    updateProgress();\n    steps[0].classList.add('active');\n    steps[0].scrollIntoView({ behavior: 'smooth', block: 'start' });\n  });\n  printBtn.addEventListener('click', function() {\n    if (!resultBox.classList.contains('show')) {\n      alert('Please calculate the dosage first.');\n      return;\n    }\n    window.print();\n  });\n  function getTotalCost(productKey, kgNeeded) {\n    if (kgNeeded <= 0) return 0;\n    var p = products[productKey];\n    var bags = Math.ceil(kgNeeded \/ p.kg);\n    var basePrice = bags * p.price;\n    var discount = p.hasVolumeDiscount ? getVolumeDiscount(bags) : 0;\n    return basePrice * (1 - discount);\n  }\n  function sortByCost(productKeys, getKgFn) {\n    var withCost = [];\n    for (var i = 0; i < productKeys.length; i++) {\n      var k = productKeys[i];\n      var kg = getKgFn(k);\n      withCost.push({ key: k, cost: getTotalCost(k, kg), kg: kg });\n    }\n    withCost.sort(function(a, b) { return a.cost - b.cost; });\n    var sorted = [];\n    for (var j = 0; j < withCost.length; j++) sorted.push(withCost[j].key);\n    return sorted;\n  }\n  function getFeedProducts(animal, priority, qty, days, data) {\n    var prefersZeofeed = (animal === 'broilers') || (animal === 'layers') || (animal === 'piglets') || (animal === 'calves') || (animal === 'pigs_sow') || (animal === 'dogs') || (animal === 'cats');\n    if (priority === 'all') return ['zeofeed', 'imerys_fine'];\n    if (priority === 'premium') return ['zeofeed'];\n    if (priority === 'value') return ['imerys_fine'];\n    return [prefersZeofeed ? 'zeofeed' : 'imerys_fine'];\n  }\n  function getFloorProducts(animal, isBoth, priority, m2, petCount, days) {\n    var data = animalData[animal];\n    if (data.isLitter) {\n      if (priority === 'all') return ['imerys_chips', 'zeopet', 'cleanpet'];\n      if (priority === 'premium') return ['imerys_chips', 'cleanpet'];\n      if (priority === 'value') return ['imerys_chips'];\n      return ['imerys_chips', 'zeopet'];\n    }\n    if (animal === 'broilers' || animal === 'layers') {\n      if (priority === 'all') return ['imerys_chips', 'imerys_gravel', 'imerys_fine'];\n      return ['imerys_chips'];\n    }\n    if (animal === 'horses' || animal === 'cattle_dairy' || animal === 'cattle_beef') {\n      if (isBoth ? (priority === 'auto') : false) return [];\n      if (priority === 'all') return ['imerys_gravel', 'imerys_chips', 'imerys_fine'];\n      return ['imerys_gravel'];\n    }\n    if (isBoth ? (priority === 'auto') : false) return [];\n    if (priority === 'all') return ['imerys_fine', 'imerys_gravel', 'imerys_chips'];\n    return ['imerys_fine'];\n  }\n  function calcFeedKg(productKey, qty, days, data) {\n    var p = products[productKey];\n    if (!p.forFeed) return 0;\n    var dailyFeedKg;\n    if (data.mode === 'per_kg') {\n      var weight = Number(getVal('zlWeight'));\n      dailyFeedKg = qty * weight * (data.feedGrPerKg \/ 1000);\n    } else {\n      dailyFeedKg = qty * data.feedKgDay;\n    }\n    var dose = p.dosagePct;\n    if (productKey === 'imerys_fine') {\n      dose = dose * data.dosageMult;\n    }\n    return dailyFeedKg * dose * days;\n  }\n  function calcFloorKg(m2, data, days) {\n    var singleApp = m2 * 0.1;\n    if (!data) return singleApp;\n    if (!days) return singleApp;\n    if (!data.floorRepeatDays) return singleApp;\n    var applications = Math.ceil(days \/ data.floorRepeatDays);\n    return singleApp * applications;\n  }\n  function getFloorApplications(data, days) {\n    if (!data) return 1;\n    if (!days) return 1;\n    if (!data.floorRepeatDays) return 1;\n    return Math.ceil(days \/ data.floorRepeatDays);\n  }\n  function calcLitterKg(petCount, days) {\n    return petCount * 0.015 * days;\n  }\n  function buildOrderItem(productKey, totalKg, days) {\n    var p = products[productKey];\n    if (totalKg <= 0) return null;\n    if (p.smartPackaging) {\n      return buildSmartPackagingItem(p, productKey, totalKg, days);\n    }\n    var bags = Math.ceil(totalKg \/ p.kg);\n    var discount = p.hasVolumeDiscount ? getVolumeDiscount(bags) : 0;\n    var basePrice = bags * p.price;\n    var discountedPrice = basePrice * (1 - discount);\n    return {\n      product: p,\n      productKey: productKey,\n      totalKg: totalKg,\n      bags: bags,\n      kgDelivered: bags * p.kg,\n      basePrice: basePrice,\n      discount: discount,\n      finalPrice: discountedPrice\n    };\n  }\n  function buildSmartPackagingItem(p, productKey, totalKg, days) {\n    var pkgs = p.packages;\n    var p500 = pkgs[0];\n    var p25 = pkgs[1];\n    var forceSmall = false;\n    if (p.smallPackageThreshold) {\n      if (days ? (days > 0) : false) {\n        var monthlyKg = totalKg * 30 \/ days;\n        if (monthlyKg <= p.smallPackageThreshold.monthlyKg) {\n          forceSmall = true;\n        }\n      }\n    }\n    if (forceSmall) {\n      var n500only = Math.ceil(totalKg \/ 0.5);\n      var costSmall = n500only * p500.price;\n      return {\n        product: p,\n        productKey: productKey,\n        totalKg: totalKg,\n        bags: 0,\n        kgDelivered: n500only * 0.5,\n        basePrice: costSmall,\n        discount: 0,\n        finalPrice: costSmall,\n        isCombo: true,\n        smallOnly: true,\n        combo: [{ pkg: p500, qty: n500only, discount: 0, lineCost: costSmall, baseCost: costSmall }]\n      };\n    }\n    var best = null;\n    var maxBig = Math.ceil(totalKg \/ 25) + 1;\n    for (var n25 = 0; n25 <= maxBig; n25++) {\n      var afterBig = totalKg - n25 * 25;\n      if (afterBig < 0) afterBig = 0;\n      var n500 = Math.ceil(afterBig \/ 0.5);\n      if (n500 < 0) n500 = 0;\n      var coveredKg = n25 * 25 + n500 * 0.5;\n      if (coveredKg < totalKg) continue;\n      if (n25 + n500 === 0) continue;\n      var discount = getVolumeDiscount(n25);\n      var cost = n25 * p25.price * (1 - discount) + n500 * p500.price;\n      if (!best || cost < best.cost) {\n        var combo = [];\n        if (n25 > 0)  combo.push({ pkg: p25,  qty: n25,  discount: discount, lineCost: n25 * p25.price * (1 - discount), baseCost: n25 * p25.price });\n        if (n500 > 0) combo.push({ pkg: p500, qty: n500, discount: 0,        lineCost: n500 * p500.price,                 baseCost: n500 * p500.price });\n        best = {\n          combo: combo,\n          cost: cost,\n          coveredKg: coveredKg,\n          n25: n25,\n          discount: discount\n        };\n      }\n    }\n    var baseTotal = 0;\n    for (var i = 0; i < best.combo.length; i++) baseTotal += best.combo[i].baseCost;\n    return {\n      product: p,\n      productKey: productKey,\n      totalKg: totalKg,\n      bags: best.n25,\n      kgDelivered: best.coveredKg,\n      basePrice: baseTotal,\n      discount: best.discount,\n      finalPrice: best.cost,\n      isCombo: true,\n      combo: best.combo\n    };\n  }\n  function renderProductCard(item, isRecommended, customLabel) {\n    var p = item.product;\n    if (item.isCombo) {\n      return renderComboCard(item, isRecommended, customLabel);\n    }\n    var html = '<div class=\"product-card' + (isRecommended ? ' recommended' : '') + '\">';\n    var lbl = customLabel || (isRecommended ? '\u2b50 RECOMMENDED' : p.badge);\n    html += '<div class=\"badge-pos ' + p.badgeClass + '\">' + lbl + '<\/div>';\n    html += '<h5>' + p.name + '<\/h5>';\n    html += '<p class=\"particle\">\ud83d\udccf ' + p.particle + ' \u00b7 \ud83c\udff7\ufe0f ' + p.brand + '<\/p>';\n    html += '<span class=\"cert\">\u2705 ' + p.cert + '<\/span>';\n    html += '<p class=\"desc\">' + p.desc + '<\/p>';\n    var packLabel = (p.kg >= 1) ? (p.kg + ' kg') : ((p.kg * 1000) + ' g');\n    html += '<div class=\"pricing\">';\n    html += '<div class=\"item\"><div class=\"lbl\">Pack<\/div><div class=\"val\">' + packLabel + '<\/div><\/div>';\n    html += '<div class=\"item\"><div class=\"lbl\">Price\/unit<\/div><div class=\"val\">' + fmtEuro(p.price) + '<\/div><\/div>';\n    html += '<div class=\"item\"><div class=\"lbl\">Units<\/div><div class=\"val\">' + item.bags + '\u00d7<\/div><\/div>';\n    html += '<\/div>';\n    html += '<div class=\"total\">';\n    if (item.discount > 0) {\n      html += '<strong><span class=\"strike\">' + fmtEuro(item.basePrice) + '<\/span>' + fmtEuro(item.finalPrice) + '<\/strong>';\n      html += '<span class=\"save\">\ud83d\udcb0 Volume discount -' + (item.discount * 100).toFixed(0) + '%<\/span><br>';\n    } else {\n      html += '<strong>' + fmtEuro(item.finalPrice) + '<\/strong>';\n      var showHint = false;\n      if (p.hasVolumeDiscount) { if (item.bags >= 1) { if (item.bags < 10) { showHint = true; } } }\n      if (showHint) {\n        html += '<span class=\"save hint\">\ud83d\udca1 +' + (10 - item.bags) + ' bags \u2192 -10%<\/span><br>';\n      } else {\n        html += '<br>';\n      }\n    }\n    html += '<span class=\"per\">' + item.bags + '\u00d7 ' + packLabel + ' = ' + (item.kgDelivered >= 1 ? item.kgDelivered.toFixed(1).replace(\/\\.0$\/,'') + ' kg' : (item.kgDelivered * 1000) + ' g') + ' available<\/span><br>';\n    html += '<span class=\"per\">Covers a need of: ' + (item.totalKg >= 1 ? item.totalKg.toFixed(1).replace(\/\\.0$\/,'') + ' kg' : Math.round(item.totalKg * 1000) + ' g') + '<\/span>';\n    html += '<\/div>';\n    html += '<a href=\"' + p.url + '\" class=\"cta-btn\" target=\"_blank\">\ud83d\uded2 Order ' + p.name + ' \u2192<\/a>';\n    html += '<\/div>';\n    return html;\n  }\n  function renderComboCard(item, isRecommended, customLabel) {\n    var p = item.product;\n    var html = '<div class=\"product-card' + (isRecommended ? ' recommended' : '') + '\">';\n    var lbl = customLabel || (isRecommended ? '\u2b50 RECOMMENDED' : p.badge);\n    html += '<div class=\"badge-pos ' + p.badgeClass + '\">' + lbl + '<\/div>';\n    html += '<h5>' + p.name + '<\/h5>';\n    html += '<p class=\"particle\">\ud83d\udccf ' + p.particle + ' \u00b7 \ud83c\udff7\ufe0f ' + p.brand + '<\/p>';\n    html += '<span class=\"cert\">\u2705 ' + p.cert + '<\/span>';\n    html += '<p class=\"desc\">' + p.desc + '<\/p>';\n    if (item.smallOnly) {\n      html += '<div class=\"info-box plain\">\ud83d\udca1 <strong>Small need \u2264 2 kg\/month:<\/strong> we recommend the <strong>500 gram<\/strong> pack (more practical, no need for a 25 kg bag).<\/div>';\n    }\n    html += '<div class=\"combo-list\">';\n    html += '<p class=\"combo-title\">\ud83d\udce6 Optimal packaging<\/p>';\n    for (var i = 0; i < item.combo.length; i++) {\n      var c = item.combo[i];\n      var lineLabel = c.qty + '\u00d7 ' + c.pkg.label;\n      var lineCost = fmtEuro(c.lineCost);\n      var discountTag = (c.discount > 0) ? ' <span class=\"ppl disc\">(-' + (c.discount * 100).toFixed(0) + '%)<\/span>' : '';\n      html += '<div class=\"combo-line\">';\n      html += '<div><a href=\"' + c.pkg.url + '\" target=\"_blank\">' + lineLabel + '<\/a>' + discountTag + '<\/div>';\n      html += '<div class=\"price\">' + lineCost + '<\/div>';\n      html += '<\/div>';\n    }\n    html += '<\/div>';\n    html += '<div class=\"total\">';\n    if (item.discount > 0) {\n      html += '<strong><span class=\"strike\">' + fmtEuro(item.basePrice) + '<\/span>' + fmtEuro(item.finalPrice) + '<\/strong>';\n      html += '<span class=\"save\">\ud83d\udcb0 Volume discount -' + (item.discount * 100).toFixed(0) + '% on 25kg bags<\/span><br>';\n    } else {\n      html += '<strong>' + fmtEuro(item.finalPrice) + '<\/strong>';\n      var showHint2 = false;\n      if (item.bags >= 1) { if (item.bags < 10) { showHint2 = true; } }\n      if (showHint2) {\n        html += '<span class=\"save hint\">\ud83d\udca1 +' + (10 - item.bags) + ' \u00d7 25kg bags \u2192 -10%<\/span><br>';\n      } else {\n        html += '<br>';\n      }\n    }\n    var coveredLabel = (item.kgDelivered >= 1 ? item.kgDelivered.toFixed(1).replace(\/\\.0$\/,'') + ' kg' : Math.round(item.kgDelivered * 1000) + ' g');\n    var neededLabel  = (item.totalKg    >= 1 ? item.totalKg.toFixed(1).replace(\/\\.0$\/,'') + ' kg'    : Math.round(item.totalKg * 1000)    + ' g');\n    html += '<span class=\"per\">Available: ' + coveredLabel + ' \u00b7 Covers: ' + neededLabel + '<\/span>';\n    html += '<\/div>';\n    var primaryCTA = item.combo[0];\n    html += '<a href=\"' + primaryCTA.pkg.url + '\" class=\"cta-btn\" target=\"_blank\">\ud83d\uded2 Order (' + primaryCTA.pkg.label + ') \u2192<\/a>';\n    html += '<\/div>';\n    return html;\n  }\n  function renderDiscountTable(currentBags) {\n    var html = '<div class=\"discount-table\">';\n    html += '<h5>\ud83d\udcb0 Discount scale (25kg bags)<\/h5>';\n    html += '<div class=\"tiers\">';\n    var tiers = [\n      { label: '1-9', desc: 'base price', min: 0 },\n      { label: '10-19', desc: '-10%', min: 10 },\n      { label: '20-29', desc: '-20%', min: 20 },\n      { label: '30-39', desc: '-30%', min: 30 },\n      { label: '40+', desc: '-40%', min: 40 }\n    ];\n    var currentTier = getCurrentTier(currentBags);\n    for (var i = 0; i < tiers.length; i++) {\n      var isCurrent = (i === currentTier);\n      html += '<div class=\"tier' + (isCurrent ? ' current' : '') + '\">';\n      html += '<span class=\"bags\">' + tiers[i].label + '<\/span>';\n      html += '<span class=\"pct\">' + tiers[i].desc + (isCurrent ? ' \u2713' : '') + '<\/span>';\n      html += '<\/div>';\n    }\n    html += '<\/div>';\n    html += '<\/div>';\n    return html;\n  }\n  function calculate() {\n    var purpose = getChecked('purpose');\n    var animal = getChecked('animal');\n    var priority = getChecked('priority');\n    var data = animalData[animal];\n    var needsFeed = (purpose === 'feed') || (purpose === 'both');\n    var needsFloor = (purpose === 'floor') || (purpose === 'both');\n    if (needsFloor) {\n      if (!data.allowFloor) needsFloor = false;\n    }\n    var isBoth = needsFeed ? needsFloor : false;\n    var qty = needsFeed ? Number(getVal('zlQty')) : 0;\n    var m2 = (needsFloor ? !data.isLitter : false) ? Number(getVal('zlFloorM2')) : 0;\n    var petCount = (needsFloor ? data.isLitter : false) ? Number(getVal('zlPetCount')) : 0;\n    var duration = getChecked('duration');\n    var customDays = getVal('zlCustomDays');\n    var days = duration ? Number(duration) : (customDays ? Number(customDays) : 30);\n    var html = '';\n    html += '<div class=\"summary-grid\">';\n    html += '<div class=\"summary-card\">';\n    html += '<div class=\"label\">' + data.icon + ' ' + data.name + '<\/div>';\n    var sumValue = '';\n    if (needsFeed) sumValue = qty + ' animals';\n    if (needsFloor) {\n      if (data.isLitter) sumValue = (sumValue ? sumValue + ' \u00b7 ' : '') + petCount + ' cats';\n      else sumValue = (sumValue ? sumValue + ' \u00b7 ' : '') + m2 + ' m\u00b2';\n    }\n    html += '<div class=\"value\">' + sumValue + '<\/div>';\n    html += '<div class=\"sub\">' + days + ' days<\/div>';\n    html += '<\/div>';\n    html += '<div class=\"summary-card\">';\n    html += '<div class=\"label\">\ud83c\udfaf Purpose<\/div>';\n    var purposeLabel = purpose === 'feed' ? '\ud83c\udf7d\ufe0f Feed' : (purpose === 'floor' ? '\ud83c\udfe0 Living area' : '\ud83c\udf1f Both');\n    html += '<div class=\"value\">' + purposeLabel + '<\/div>';\n    html += '<div class=\"sub\">' + (isBoth ? 'Combined' : (needsFeed ? 'Continuous administration' : (data.isLitter ? 'Cat litter' : 'One application'))) + '<\/div>';\n    html += '<\/div>';\n    html += '<\/div>';\n    var combinedRecommendation = false;\n    if (isBoth) {\n      if (priority === 'auto') {\n        if (!data.isLitter) {\n          var poultry = (animal === 'broilers') || (animal === 'layers');\n          if (!poultry) {\n            combinedRecommendation = true;\n          }\n        }\n      }\n    }\n    if (combinedRecommendation) {\n      var feedKg = calcFeedKg('imerys_fine', qty, days, data);\n      var floorKg = calcFloorKg(m2, data, days);\n      var floorApps = getFloorApplications(data, days);\n      var totalKg = feedKg + floorKg;\n      var item = buildOrderItem('imerys_fine', totalKg, days);\n      html += '<div class=\"section-divider\">\u2728 SIMPLE OPTION: One product for EVERYTHING<\/div>';\n      html += '<p class=\"calc-note\">\ud83d\udcca Feed: <strong>' + feedKg.toFixed(1) + ' kg<\/strong> + ' +\n              'Floor: <strong>' + floorKg.toFixed(1) + ' kg<\/strong> (' + floorApps + ' applications \u00d7 ' + (data.floorRepeatDays === 7 ? 'weekly' : 'monthly') + ') = ' +\n              'Total: <strong>' + totalKg.toFixed(1) + ' kg<\/strong><\/p>';\n      html += renderDiscountTable(item.bags);\n      html += '<div class=\"product-cards\">';\n      html += renderProductCard(item, true, '\u2b50 COVERS FEED + FLOOR');\n      html += '<\/div>';\n    }\n    if (!combinedRecommendation) {\n      var estBags = 0;\n      if (needsFeed) {\n        var feedSampleKg = calcFeedKg('imerys_fine', qty, days, data);\n        estBags += Math.ceil(feedSampleKg \/ 25);\n      }\n      if (needsFloor) {\n        if (!data.isLitter) {\n          var floorSampleKg = calcFloorKg(m2, data, days);\n          estBags += Math.ceil(floorSampleKg \/ 25);\n        }\n      }\n      html += renderDiscountTable(estBags);\n      if (needsFeed) {\n        html += '<div class=\"section-divider\">\ud83c\udf7d\ufe0f FEED (Animal feed)<\/div>';\n        var dailyFeedKg;\n        if (data.mode === 'per_kg') {\n          var weight = Number(getVal('zlWeight'));\n          dailyFeedKg = qty * weight * (data.feedGrPerKg \/ 1000);\n        } else {\n          dailyFeedKg = qty * data.feedKgDay;\n        }\n        html += '<p class=\"calc-note\">\ud83d\udcca Daily feed consumption: <strong>' + dailyFeedKg.toFixed(1) + ' kg<\/strong> \u00b7 ' +\n                'Imerys: <strong>' + (data.dosageMult * 2).toFixed(1).replace('.0','') + '%<\/strong> \u00b7 Zeofeed: <strong>1%<\/strong><\/p>';\n        var feedProds = getFeedProducts(animal, priority, qty, days, data);\n        html += '<div class=\"product-cards\">';\n        var first = true;\n        for (var i = 0; i < feedProds.length; i++) {\n          var pk = feedProds[i];\n          var fkg = calcFeedKg(pk, qty, days, data);\n          var fitem = buildOrderItem(pk, fkg, days);\n          if (fitem) {\n            var feedLabel = fitem.smallOnly ? '\ud83c\udfaf SMALL NEED \u2014 500g pack' : '\u2b50 BEST FOR FEED';\n            html += renderProductCard(fitem, first, first ? feedLabel : null);\n            first = false;\n          }\n        }\n        html += '<\/div>';\n      }\n      if (needsFloor) {\n        if (data.isLitter) {\n          html += '<div class=\"section-divider\">\ud83d\udc08 CAT LITTER \u2014 Base + Scent<\/div>';\n          var litterKg = calcLitterKg(petCount, days);\n          html += '<p class=\"calc-note\">\ud83d\udcca Dose: 1 tablespoon (15g) per cat\/day \u00d7 ' + petCount + ' cats \u00d7 ' + days + ' days = <strong>' + (litterKg * 1000).toFixed(0) + ' g<\/strong><\/p>';\n          html += '<p class=\"tip\">\ud83d\udca1 <strong>Recommended combination:<\/strong> Imerys 2.5-5mm as the <strong>absorbent base<\/strong> (bulk, economical) + ZeoPet or CleanPet for <strong>scent\/freshness<\/strong>. The base lasts for years; the scent is added monthly.<\/p>';\n          var floorProds = getFloorProducts(animal, isBoth, priority, m2, petCount, days);\n          html += '<div class=\"product-cards\">';\n          for (var j = 0; j < floorProds.length; j++) {\n            var pk2 = floorProds[j];\n            var fitem2 = buildOrderItem(pk2, litterKg);\n            if (fitem2) {\n              var litterLabel;\n              if (pk2 === 'imerys_chips') litterLabel = '\ud83e\udea8 TRAY BASE';\n              else if (pk2 === 'zeopet') litterLabel = '\ud83c\udf38 SCENT (popular)';\n              else if (pk2 === 'cleanpet') litterLabel = '\u2728 PREMIUM SCENT';\n              else litterLabel = '\u2b50 BEST FOR LITTER';\n              html += renderProductCard(fitem2, j === 0, litterLabel);\n            }\n          }\n          html += '<\/div>';\n        } else {\n          html += '<div class=\"section-divider\">\ud83c\udfe0 LIVING AREA (Floor)<\/div>';\n          var floorKg2 = calcFloorKg(m2, data, days);\n          var floorApps2 = getFloorApplications(data, days);\n          var repeatLabel = (data.floorRepeatDays === 7) ? 'weekly (large animal)' : 'monthly (small animal)';\n          html += '<p class=\"calc-note\">\ud83d\udcd0 Surface: <strong>' + m2 + ' m\u00b2<\/strong> \u00d7 <strong>100 g\/m\u00b2<\/strong> \u00d7 <strong>' + floorApps2 + ' applications<\/strong> (' + repeatLabel + ') = <strong>' + floorKg2.toFixed(1) + ' kg<\/strong><\/p>';\n          var floorProds2 = getFloorProducts(animal, isBoth, priority, m2, petCount, days);\n          if (floorProds2.length === 0) {\n            html += '<p class=\"calc-note\" style=\"font-style:italic;\">Covered by the feed product (Imerys 0.8mm).<\/p>';\n          } else {\n            html += '<div class=\"product-cards\">';\n            var first3 = true;\n            for (var k = 0; k < floorProds2.length; k++) {\n              var pk3 = floorProds2[k];\n              var fitem3 = buildOrderItem(pk3, floorKg2);\n              if (fitem3) {\n                html += renderProductCard(fitem3, first3, first3 ? '\u2b50 BEST FOR FLOORS' : null);\n                first3 = false;\n              }\n            }\n            html += '<\/div>';\n          }\n        }\n      }\n    }\n    html += '<h4>\ud83d\udca1 How to apply<\/h4>';\n    html += '<div class=\"schedule plain\">';\n    if (needsFeed) {\n      html += '<strong>\ud83c\udf7d\ufe0f Feed:<\/strong> Mix into the feed at ' + (data.dosageMult * 2).toFixed(1).replace('.0','') + '% (Imerys) or 1% (Zeofeed). Continuous administration.<br>';\n    }\n    if (needsFloor) {\n      if (data.isLitter) {\n        html += '<strong>\ud83d\udc08 Cat litter (combo):<\/strong><br>';\n        html += '<span style=\"display:inline-block;margin-left:1rem;\">\u2022 <strong>Base:<\/strong> Imerys 2.5-5mm \u2014 one initial fill + top up every few weeks<\/span><br>';\n        html += '<span style=\"display:inline-block;margin-left:1rem;\">\u2022 <strong>Scent:<\/strong> ~1 tablespoon of ZeoPet\/CleanPet daily when you clean the tray<\/span><br>';\n      } else {\n        var repeatTxt = (data.floorRepeatDays === 7) ? 'weekly (large animal)' : 'monthly (small animal)';\n        html += '<strong>\ud83c\udfe0 Living area:<\/strong> Spread on the floor\/bedding at <strong>100 g\/m\u00b2<\/strong>. Renew <strong>' + repeatTxt + '<\/strong>.<br>';\n      }\n    }\n    html += '<strong>\u23f0 Best combination:<\/strong> Feed + floor = maximum ammonia reduction.';\n    html += '<\/div>';\n    html += '<h4>\ud83c\udfaf Benefits of zeolite in livestock farming<\/h4>';\n    html += '<div class=\"benefits\">';\n    html += '<p><strong>\ud83d\udee1\ufe0f Mycotoxin binding<\/strong> \u2014 a natural anti-mycotoxin binder<\/p>';\n    html += '<p><strong>\ud83d\udca8 Lower ammonia<\/strong> \u2014 cleaner environment, fewer odours<\/p>';\n    html += '<p><strong>\ud83d\udcc8 Better FCR<\/strong> \u2014 +3-7% improvement in feed conversion<\/p>';\n    html += '<p><strong>\ud83e\ude7a Immune support<\/strong><\/p>';\n    html += '<p><strong>\ud83c\udf31 Manure<\/strong> \u2014 becomes a better natural fertiliser<\/p>';\n    html += '<\/div>';\n    html += '<div class=\"cross-sell\">';\n    html += '<h5>\ud83e\udda0 Combine with Effective Microorganisms (EM)<\/h5>';\n    html += '<p>For <strong>maximum odour reduction<\/strong> and a balanced microbiome, effective microorganisms work synergistically with zeolite.<\/p>';\n    html += '<p>\ud83d\udccb <a href=\"https:\/\/zeolife.gr\/en\/em-dosage-guide\/\">EM Dosage Guide<\/a> \u00b7 \ud83d\udcde <a href=\"tel:+302311295520\">+30 2311 29 55 20<\/a><\/p>';\n    html += '<\/div>';\n    html += '<div class=\"warning\"><strong>\u26a0\ufe0f Important information<\/strong>';\n    html += 'Follow the dosage (Imerys 2% \/ Zeofeed 1%). For pets, consult a vet. FAMIQS certification for feed use.';\n    html += '<\/div>';\n    html += '<p class=\"disclaimer\"><strong>Note:<\/strong> Dosages based on official manufacturer guidelines. Feed consumption is an average \u2014 adjust accordingly. Zeolife technical support: +30 2311 29 55 20.<\/p>';\n    resultBody.innerHTML = html;\n    resultBox.classList.add('show');\n    resultBox.scrollIntoView({ behavior: 'smooth', block: 'start' });\n  }\n  calcBtn.addEventListener('click', calculate);\n  \/\/ ===== STICKY PROGRESS BAR (JS-driven position:fixed, WordPress-safe) =====\n  \/\/ Keeps the bar pinned EXACTLY below the Kadence sticky menu (+ WP admin bar).\n  \/\/ Measured dynamically on every scroll \u2014 desktop\/mobile, with or without the admin bar. The code\n  \/\/ is written WordPress-safe so the WP editor doesn't break the comparison on save.\n  var progressEl = calc.querySelector('.progress');\n  var progressSpacer = document.getElementById('zlProgressSpacer');\n  var progFlowHeight = 0;\n  function zlMeasure() {\n    if (!progressEl) return;\n    var cs = window.getComputedStyle(progressEl);\n    var mt = parseFloat(cs.marginTop) || 0;\n    var mb = parseFloat(cs.marginBottom) || 0;\n    progFlowHeight = progressEl.offsetHeight + mt + mb;\n  }\n  var ZL_EXTRA_OFFSET = 0; \/\/ optional extra gap in px (e.g. 6) if you want some breathing room\n  function zlFixedTopBottom(el) {\n    if (!el) return 0;\n    var cs = window.getComputedStyle(el);\n    if (cs.position !== 'fixed') return 0;\n    if (cs.display === 'none') return 0;\n    if (cs.visibility === 'hidden') return 0;\n    var r = el.getBoundingClientRect();\n    if (r.height === 0) return 0;\n    if (r.top > 300) return 0;   \/\/ must sit at the top, not somewhere lower\n    if (r.bottom <= 0) return 0;\n    return r.bottom;\n  }\n  function zlTopOffset() {\n    var offset = 0;\n    var ab = zlFixedTopBottom(document.getElementById('wpadminbar'));\n    if (ab > offset) { offset = ab; }\n    var heads = document.querySelectorAll('.kadence-sticky-header');\n    for (var i = 0; i < heads.length; i++) {\n      var hb = zlFixedTopBottom(heads[i]);\n      if (hb > offset) { offset = hb; }\n    }\n    return offset + ZL_EXTRA_OFFSET;\n  }\n  var zlPinned = false;\n  function zlUpdateSticky() {\n    if (!progressEl) return;\n    var offset = zlTopOffset();\n    var rect = calc.getBoundingClientRect();\n    var shouldPin = false;\n    if (offset >= rect.top) {\n      if (rect.bottom > (offset + 24)) { shouldPin = true; }\n    }\n    if (shouldPin) {\n      var s = progressEl.style;\n      s.position = 'fixed'; s.top = offset + 'px'; s.left = rect.left + 'px';\n      s.width = rect.width + 'px'; s.zIndex = '99999';\n      progressEl.classList.add('zl-stuck');\n      if (progressSpacer) progressSpacer.style.height = progFlowHeight + 'px';\n      zlPinned = true;\n    } else if (zlPinned || progressEl.style.position === 'fixed') {\n      var s2 = progressEl.style;\n      s2.position = ''; s2.top = ''; s2.left = ''; s2.width = ''; s2.zIndex = '';\n      progressEl.classList.remove('zl-stuck');\n      if (progressSpacer) progressSpacer.style.height = '0px';\n      zlPinned = false;\n    }\n  }\n  zlMeasure();\n  window.addEventListener('load', function() { zlMeasure(); zlUpdateSticky(); });\n  window.addEventListener('scroll', zlUpdateSticky, { passive: true });\n  window.addEventListener('resize', function() { zlMeasure(); zlUpdateSticky(); });\n  zlUpdateSticky();\n  updateProgress();\n})();\n<\/script>\n\n<!-- ==== ZL PRINT: \u03b5\u03ba\u03c4\u03c5\u03c0\u03ce\u03bd\u03b5\u03b9 \u039c\u039f\u039d\u039f \u03c4\u03bf \u03b1\u03c0\u03bf\u03c4\u03ad\u03bb\u03b5\u03c3\u03bc\u03b1 \u03c4\u03bf\u03c5 \u03bf\u03b4\u03b7\u03b3\u03bf\u03cd (\u03c7\u03c9\u03c1\u03af\u03c2 header\/\u03bc\u03b5\u03bd\u03bf\u03cd\/\u03c4\u03af\u03c4\u03bb\u03bf\/footer\/newsletter\/ZeoBot) ==== -->\n<script>\n(function(){\n  if (window.zlPrintOnlyResult) { return; }\n  window.zlPrintOnlyResult = true;\n  var zlHidden = null;\n  function zlHide(el) {\n    if (el.tagName === 'SCRIPT') { return; }\n    if (el.tagName === 'STYLE') { return; }\n    if (el.tagName === 'LINK') { return; }\n    zlHidden.push([el, el.style.getPropertyValue('display'), el.style.getPropertyPriority('display')]);\n    el.style.setProperty('display', 'none', 'important');\n  }\n  function zlStyle(el, prop, val) {\n    zlHidden.push([el, el.style.getPropertyValue(prop), el.style.getPropertyPriority(prop), prop]);\n    el.style.setProperty(prop, val, 'important');\n  }\n  function zlPrintPrep() {\n    if (zlHidden) { return; }\n    var res = document.querySelector('.zlcalc .result.show');\n    if (!res) { return; }\n    zlHidden = [];\n    var node = res;\n    while (node.parentElement) {\n      var parent = node.parentElement;\n      var sibs = parent.children;\n      for (var i = 0; i !== sibs.length; i++) {\n        if (sibs[i] !== node) { zlHide(sibs[i]); }\n      }\n      if (parent === document.body) { break; }\n      zlStyle(parent, 'margin', '0');\n      zlStyle(parent, 'padding', '0');\n      zlStyle(parent, 'border', '0');\n      zlStyle(parent, 'box-shadow', 'none');\n      zlStyle(parent, 'max-width', 'none');\n      node = parent;\n    }\n  }\n  function zlPrintRestore() {\n    if (!zlHidden) { return; }\n    for (var i = zlHidden.length - 1; i !== -1; i--) {\n      var h = zlHidden[i];\n      var prop = h[3] ? h[3] : 'display';\n      if (h[1]) { h[0].style.setProperty(prop, h[1], h[2]); } else { h[0].style.removeProperty(prop); }\n    }\n    zlHidden = null;\n  }\n  window.addEventListener('beforeprint', zlPrintPrep);\n  window.addEventListener('afterprint', zlPrintRestore);\n  if (window.matchMedia) {\n    var mq = window.matchMedia('print');\n    var onChange = function(e) { if (e.matches) { zlPrintPrep(); } else { zlPrintRestore(); } };\n    if (mq.addEventListener) { mq.addEventListener('change', onChange); } else if (mq.addListener) { mq.addListener(onChange); }\n  }\n})();\n<\/script>\n\n\n\n<script id=\"zl-deeplink\">\n\/* zl-deeplink v2 \u00b7 Zeolife \u00b7 \u03c0\u03c1\u03bf\u03b5\u03c0\u03b9\u03bb\u03bf\u03b3\u03ae \u03b1\u03c0\u03b1\u03bd\u03c4\u03ae\u03c3\u03b5\u03c9\u03bd \u03b1\u03c0\u03cc \u03c4\u03bf URL (\u03c0.\u03c7. ?crop=olive \u03ba\u03b1\u03b9 soil=light) + \u03ba\u03bf\u03c5\u03bc\u03c0\u03af \u00ab\u03a0\u03af\u03c3\u03c9 \u03c3\u03c4\u03bf \u03c0\u03c1\u03bf\u03ca\u03cc\u03bd\u00bb. \u03a7\u03c9\u03c1\u03af\u03c2 ampersand \u03c3\u03c4\u03bf\u03bd \u03ba\u03ce\u03b4\u03b9\u03ba\u03b1: \u03c4\u03bf WordPress \u03c4\u03bf\u03bd \u03bc\u03b5\u03c4\u03b1\u03c4\u03c1\u03ad\u03c0\u03b5\u03b9 \u03c3\u03b5 HTML entity. *\/\n(function () {\n  if (window.__zlDeeplink) { return; }\n  window.__zlDeeplink = 1;\n  var en = location.pathname.indexOf('\/en\/') === 0;\n  var qs;\n  try { qs = new URLSearchParams(location.search); } catch (e) { return; }\n  var SKIP = \/^(utm_[a-z_]+|from|fbclid|gclid|_ga|ref|lang)$\/;\n\n  function esc(s) {\n    if (window.CSS) { if (CSS.escape) { return CSS.escape(s); } }\n    return String(s).replace(\/[\"\\\\]\/g, function (c) { return '\\\\' + c; });\n  }\n\n  function backButton() {\n    var target = '';\n    var from = qs.get('from') || '';\n    if (\/^\\\/(en\\\/)?product\\\/[a-z0-9%\\-_.\\\/]+$\/i.test(from)) {\n      target = 'https:\/\/shop.zeolife.gr' + from;\n    } else if (\/^https:\\\/\\\/shop\\.zeolife\\.gr\\\/(en\\\/)?product\\\/\/.test(document.referrer || '')) {\n      target = document.referrer.split('#')[0];\n    }\n    if (!target) { return; }\n    var a = document.createElement('a');\n    a.href = target;\n    a.className = 'zl-back-to-product';\n    a.textContent = en ? '\u2190 Back to the product' : '\u2190 \u03a0\u03af\u03c3\u03c9 \u03c3\u03c4\u03bf \u03c0\u03c1\u03bf\u03ca\u03cc\u03bd';\n    a.setAttribute('style', 'position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:99990;' +\n      'display:inline-flex;align-items:center;gap:6px;padding:11px 18px;border-radius:999px;text-decoration:none;' +\n      'background:linear-gradient(120deg,#0098d2 0%,#2a9ca0 52%,#7ba341 100%);color:#fff;' +\n      \"font:700 14px\/1.2 'Manrope',system-ui,sans-serif;box-shadow:0 12px 26px -10px rgba(0,152,210,.6)\");\n    document.body.appendChild(a);\n  }\n\n  function preselect() {\n    var pairs = [];\n    qs.forEach(function (v, k) {\n      if (SKIP.test(k)) { return; }\n      if (v === '') { return; }\n      pairs.push([k, v]);\n    });\n    if (!pairs.length) { return; }\n    var applied = 0, i = 0;\n    function next(tries) {\n      if (i >= pairs.length) { finish(); return; }\n      var k = pairs[i][0], v = pairs[i][1];\n      var el = document.querySelector('input[name=\"' + esc(k) + '\"][value=\"' + esc(v) + '\"]');\n      if (!el) {\n        if (tries < 10) { setTimeout(function () { next(tries + 1); }, 80); return; }\n      }\n      i++;\n      if (el) {\n        if (!el.checked) { el.click(); }\n        applied++;\n      }\n      setTimeout(function () { next(0); }, 80);\n    }\n    next(0);\n\n    function finish() {\n      if (!applied) { return; }\n      var steps = document.querySelectorAll('.step');\n      var target = null;\n      for (var s = 0; s < steps.length; s++) {\n        var st = steps[s];\n        if (st.offsetParent === null) { continue; }\n        if (!st.querySelector('input[type=\"radio\"]')) { continue; }\n        if (!st.querySelector('input[type=\"radio\"]:checked')) { target = st; break; }\n      }\n      if (!target) { target = document.querySelector('.actions'); }\n      if (target) {\n        var y = target.getBoundingClientRect().top + window.pageYOffset - 110;\n        window.scrollTo({ top: Math.max(0, y), behavior: 'smooth' });\n      }\n    }\n  }\n\n  function start() { backButton(); setTimeout(preselect, 150); }\n  if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', start); } else { start(); }\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>\ud83d\udc04 Zeolite Dosage Guide for Livestock Give us 5 pieces of information and we&#8217;ll tell you exactly how much zeolite you need for feed and\/or the living area. Final cost with volume discount of up to -40%. \ud83d\udccb 5-step guide 12 animal species Feed + Living area \u2705 FAMIQS \ud83d\udcb0 Up to -40% discount 1What&#8230;<\/p>\n","protected":false},"author":7,"featured_media":13570,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"content-type":"","_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"hide","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"class_list":["post-18847","page","type-page","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Zeolite Dosage Guide for Livestock - Greek Zeolite, Zeolite products and industrial minerals | Zeolife.gr<\/title>\n<meta name=\"description\" content=\"Zeolite Dosage Guide for Livestock - Greek Zeolite, Zeolite products and industrial minerals | Zeolife.gr\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/zeolife.gr\/en\/zeolite-livestock-dosage-guide\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Zeolite Dosage Guide for Livestock - Greek Zeolite, Zeolite products and industrial minerals | Zeolife.gr\" \/>\n<meta property=\"og:description\" content=\"Zeolite Dosage Guide for Livestock - Greek Zeolite, Zeolite products and industrial minerals | Zeolife.gr\" \/>\n<meta property=\"og:url\" content=\"https:\/\/zeolife.gr\/en\/zeolite-livestock-dosage-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"Greek Zeolite, Zeolite products and industrial minerals | Zeolife.gr\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/zeolifegr\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-11T15:27:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/zeolife.gr\/wp-content\/uploads\/2016\/03\/zeolithos-se-farma-poulerikon.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1440\" \/>\n\t<meta property=\"og:image:height\" content=\"964\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ZeolifeGr\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/zeolife.gr\\\/en\\\/zeolite-livestock-dosage-guide\\\/\",\"url\":\"https:\\\/\\\/zeolife.gr\\\/en\\\/zeolite-livestock-dosage-guide\\\/\",\"name\":\"Zeolite Dosage Guide for Livestock - Greek Zeolite, Zeolite products and industrial minerals | Zeolife.gr\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zeolife.gr\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/zeolife.gr\\\/en\\\/zeolite-livestock-dosage-guide\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/zeolife.gr\\\/en\\\/zeolite-livestock-dosage-guide\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/zeolife.gr\\\/wp-content\\\/uploads\\\/2016\\\/03\\\/zeolithos-se-farma-poulerikon.jpg\",\"datePublished\":\"2026-09-25T20:03:12+00:00\",\"dateModified\":\"2026-10-11T15:27:43+00:00\",\"description\":\"Zeolite Dosage Guide for Livestock - Greek Zeolite, Zeolite products and industrial minerals | Zeolife.gr\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/zeolife.gr\\\/en\\\/zeolite-livestock-dosage-guide\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/zeolife.gr\\\/en\\\/zeolite-livestock-dosage-guide\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/zeolife.gr\\\/en\\\/zeolite-livestock-dosage-guide\\\/#primaryimage\",\"url\":\"https:\\\/\\\/zeolife.gr\\\/wp-content\\\/uploads\\\/2016\\\/03\\\/zeolithos-se-farma-poulerikon.jpg\",\"contentUrl\":\"https:\\\/\\\/zeolife.gr\\\/wp-content\\\/uploads\\\/2016\\\/03\\\/zeolithos-se-farma-poulerikon.jpg\",\"width\":1440,\"height\":964,\"caption\":\"\u0396\u03b5\u03cc\u03bb\u03b9\u03b8\u03bf\u03c2 \u03c3\u03b5 \u03c6\u03ac\u03c1\u03bc\u03b1 \u03c0\u03bf\u03c5\u03bb\u03b5\u03c1\u03b9\u03ba\u03ce\u03bd \u03c3\u03c4\u03b7 \u039d\u03ad\u03b1 \u039f\u03c1\u03b5\u03c3\u03c4\u03b9\u03ac\u03b4\u03b1 - \u039c\u03ac\u03c1\u03c4\u03b9\u03bf\u03c2 2016\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/zeolife.gr\\\/en\\\/zeolite-livestock-dosage-guide\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/zeolife.gr\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Zeolite Dosage Guide for Livestock\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/zeolife.gr\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/zeolife.gr\\\/en\\\/\",\"name\":\"\u0395\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03cc\u03c2 \u0396\u03b5\u03cc\u03bb\u03b9\u03b8\u03bf\u03c2 & \u0392\u03b9\u03bf\u03bc\u03b7\u03c7\u03b1\u03bd\u03b9\u03ba\u03ac \u039f\u03c1\u03c5\u03ba\u03c4\u03ac \u2013 \u0395\u03c6\u03b1\u03c1\u03bc\u03bf\u03b3\u03ad\u03c2 & \u03a0\u03bb\u03b7\u03c1\u03bf\u03c6\u03bf\u03c1\u03af\u03b5\u03c2 | Zeolife.gr\",\"description\":\"Applications and purchase of Greek zeolite, zeolite products and industrial minerals | Zeolife.gr\",\"publisher\":{\"@id\":\"https:\\\/\\\/zeolife.gr\\\/en\\\/#organization\"},\"alternateName\":\"\u0395\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03cc\u03c2 \u0396\u03b5\u03cc\u03bb\u03b9\u03b8\u03bf\u03c2: \u0399\u03b4\u03b9\u03cc\u03c4\u03b7\u03c4\u03b5\u03c2, \u03a7\u03c1\u03ae\u03c3\u03b5\u03b9\u03c2 & \u03a0\u03c1\u03bf\u03ca\u03cc\u03bd\u03c4\u03b1 | Zeolife.gr\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/zeolife.gr\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/zeolife.gr\\\/en\\\/#organization\",\"name\":\"Zeolite | Diatomite | Zeolife.gr\",\"alternateName\":\"Zeolife.gr\",\"url\":\"https:\\\/\\\/zeolife.gr\\\/en\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/zeolife.gr\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/zeolife.gr\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/icon-color-square.png\",\"contentUrl\":\"https:\\\/\\\/zeolife.gr\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/icon-color-square.png\",\"width\":1200,\"height\":1200,\"caption\":\"Zeolite | Diatomite | Zeolife.gr\"},\"image\":{\"@id\":\"https:\\\/\\\/zeolife.gr\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/zeolifegr\",\"https:\\\/\\\/x.com\\\/ZeolifeGr\",\"https:\\\/\\\/www.instagram.com\\\/zeolife.gr\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/zeolifegr\",\"https:\\\/\\\/www.pinterest.com\\\/zeolifegr\\\/\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCUR1v-vb6vutCU3uvnu98WQ\",\"https:\\\/\\\/zeolifegr.tumblr.com\\\/\",\"https:\\\/\\\/www.tiktok.com\\\/@zeolifegr\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Zeolite Dosage Guide for Livestock - Greek Zeolite, Zeolite products and industrial minerals | Zeolife.gr","description":"Zeolite Dosage Guide for Livestock - Greek Zeolite, Zeolite products and industrial minerals | Zeolife.gr","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/zeolife.gr\/en\/zeolite-livestock-dosage-guide\/","og_locale":"en_US","og_type":"article","og_title":"Zeolite Dosage Guide for Livestock - Greek Zeolite, Zeolite products and industrial minerals | Zeolife.gr","og_description":"Zeolite Dosage Guide for Livestock - Greek Zeolite, Zeolite products and industrial minerals | Zeolife.gr","og_url":"https:\/\/zeolife.gr\/en\/zeolite-livestock-dosage-guide\/","og_site_name":"Greek Zeolite, Zeolite products and industrial minerals | Zeolife.gr","article_publisher":"https:\/\/www.facebook.com\/zeolifegr","article_modified_time":"2026-10-11T15:27:43+00:00","og_image":[{"width":1440,"height":964,"url":"https:\/\/zeolife.gr\/wp-content\/uploads\/2016\/03\/zeolithos-se-farma-poulerikon.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_site":"@ZeolifeGr","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/zeolife.gr\/en\/zeolite-livestock-dosage-guide\/","url":"https:\/\/zeolife.gr\/en\/zeolite-livestock-dosage-guide\/","name":"Zeolite Dosage Guide for Livestock - Greek Zeolite, Zeolite products and industrial minerals | Zeolife.gr","isPartOf":{"@id":"https:\/\/zeolife.gr\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/zeolife.gr\/en\/zeolite-livestock-dosage-guide\/#primaryimage"},"image":{"@id":"https:\/\/zeolife.gr\/en\/zeolite-livestock-dosage-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/zeolife.gr\/wp-content\/uploads\/2016\/03\/zeolithos-se-farma-poulerikon.jpg","datePublished":"2026-09-25T20:03:12+00:00","dateModified":"2026-10-11T15:27:43+00:00","description":"Zeolite Dosage Guide for Livestock - Greek Zeolite, Zeolite products and industrial minerals | Zeolife.gr","breadcrumb":{"@id":"https:\/\/zeolife.gr\/en\/zeolite-livestock-dosage-guide\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zeolife.gr\/en\/zeolite-livestock-dosage-guide\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/zeolife.gr\/en\/zeolite-livestock-dosage-guide\/#primaryimage","url":"https:\/\/zeolife.gr\/wp-content\/uploads\/2016\/03\/zeolithos-se-farma-poulerikon.jpg","contentUrl":"https:\/\/zeolife.gr\/wp-content\/uploads\/2016\/03\/zeolithos-se-farma-poulerikon.jpg","width":1440,"height":964,"caption":"\u0396\u03b5\u03cc\u03bb\u03b9\u03b8\u03bf\u03c2 \u03c3\u03b5 \u03c6\u03ac\u03c1\u03bc\u03b1 \u03c0\u03bf\u03c5\u03bb\u03b5\u03c1\u03b9\u03ba\u03ce\u03bd \u03c3\u03c4\u03b7 \u039d\u03ad\u03b1 \u039f\u03c1\u03b5\u03c3\u03c4\u03b9\u03ac\u03b4\u03b1 - \u039c\u03ac\u03c1\u03c4\u03b9\u03bf\u03c2 2016"},{"@type":"BreadcrumbList","@id":"https:\/\/zeolife.gr\/en\/zeolite-livestock-dosage-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zeolife.gr\/en\/"},{"@type":"ListItem","position":2,"name":"Zeolite Dosage Guide for Livestock"}]},{"@type":"WebSite","@id":"https:\/\/zeolife.gr\/en\/#website","url":"https:\/\/zeolife.gr\/en\/","name":"\u0395\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03cc\u03c2 \u0396\u03b5\u03cc\u03bb\u03b9\u03b8\u03bf\u03c2 & \u0392\u03b9\u03bf\u03bc\u03b7\u03c7\u03b1\u03bd\u03b9\u03ba\u03ac \u039f\u03c1\u03c5\u03ba\u03c4\u03ac \u2013 \u0395\u03c6\u03b1\u03c1\u03bc\u03bf\u03b3\u03ad\u03c2 & \u03a0\u03bb\u03b7\u03c1\u03bf\u03c6\u03bf\u03c1\u03af\u03b5\u03c2 | Zeolife.gr","description":"Applications and purchase of Greek zeolite, zeolite products and industrial minerals | Zeolife.gr","publisher":{"@id":"https:\/\/zeolife.gr\/en\/#organization"},"alternateName":"\u0395\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03cc\u03c2 \u0396\u03b5\u03cc\u03bb\u03b9\u03b8\u03bf\u03c2: \u0399\u03b4\u03b9\u03cc\u03c4\u03b7\u03c4\u03b5\u03c2, \u03a7\u03c1\u03ae\u03c3\u03b5\u03b9\u03c2 & \u03a0\u03c1\u03bf\u03ca\u03cc\u03bd\u03c4\u03b1 | Zeolife.gr","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/zeolife.gr\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/zeolife.gr\/en\/#organization","name":"Zeolite | Diatomite | Zeolife.gr","alternateName":"Zeolife.gr","url":"https:\/\/zeolife.gr\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/zeolife.gr\/en\/#\/schema\/logo\/image\/","url":"https:\/\/zeolife.gr\/wp-content\/uploads\/2019\/11\/icon-color-square.png","contentUrl":"https:\/\/zeolife.gr\/wp-content\/uploads\/2019\/11\/icon-color-square.png","width":1200,"height":1200,"caption":"Zeolite | Diatomite | Zeolife.gr"},"image":{"@id":"https:\/\/zeolife.gr\/en\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/zeolifegr","https:\/\/x.com\/ZeolifeGr","https:\/\/www.instagram.com\/zeolife.gr\/","https:\/\/www.linkedin.com\/in\/zeolifegr","https:\/\/www.pinterest.com\/zeolifegr\/","https:\/\/www.youtube.com\/channel\/UCUR1v-vb6vutCU3uvnu98WQ","https:\/\/zeolifegr.tumblr.com\/","https:\/\/www.tiktok.com\/@zeolifegr"]}]}},"taxonomy_info":[],"featured_image_src_large":["https:\/\/zeolife.gr\/wp-content\/uploads\/2016\/03\/zeolithos-se-farma-poulerikon-1440x964.jpg",1400,937,true],"author_info":{"display_name":"\u03a7\u03c1\u03c5\u03c3\u03bf\u03b2\u03b1\u03bb\u03ac\u03bd\u03c4\u03b7\u03c2 \u03a7\u03b1\u03c4\u03b6\u03b7\u03b3\u03b5\u03c9\u03c1\u03b3\u03af\u03bf\u03c5","author_link":"https:\/\/zeolife.gr\/en\/author\/valantis\/"},"comment_info":0,"_links":{"self":[{"href":"https:\/\/zeolife.gr\/en\/wp-json\/wp\/v2\/pages\/18847","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zeolife.gr\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/zeolife.gr\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/zeolife.gr\/en\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/zeolife.gr\/en\/wp-json\/wp\/v2\/comments?post=18847"}],"version-history":[{"count":4,"href":"https:\/\/zeolife.gr\/en\/wp-json\/wp\/v2\/pages\/18847\/revisions"}],"predecessor-version":[{"id":18968,"href":"https:\/\/zeolife.gr\/en\/wp-json\/wp\/v2\/pages\/18847\/revisions\/18968"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/zeolife.gr\/en\/wp-json\/wp\/v2\/media\/13570"}],"wp:attachment":[{"href":"https:\/\/zeolife.gr\/en\/wp-json\/wp\/v2\/media?parent=18847"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}