{"id":8572690628799,"title":"CityFarm Indoor Mini Waterfall Farm","handle":"cityfarm-indoor-mini-waterfall-farm","description":"\u003cstyle\u003e\n \/* ================= 1. DEFENSIVE NEUTRALISER =================\n Kills common Shopify theme leaks: heading margins, list padding,\n link colours\/underlines, image max-width, font overrides, etc. *\/\n .cfm-wrap,\n .cfm-wrap *,\n .cfm-wrap *::before,\n .cfm-wrap *::after {\n box-sizing: border-box;\n }\n\n .cfm-wrap {\n all: initial; \/* wipe any inherited theme styling *\/\n display: block;\n width: 100%;\n margin: 0 auto;\n padding: 8px 6px 40px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-size: 16px;\n line-height: 1.65;\n color: #16311f;\n text-align: left;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n --ink: #16311f;\n --green: #1f6b47;\n --leaf: #3fa45f;\n --mist: #f2f7f2;\n --line: #e0eade;\n --muted: #56665b;\n --amber: #f2a93b;\n --amber-ink: #6b4a00;\n --mono: ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Consolas, \"Liberation Mono\", monospace;\n --radius: 16px;\n --shadow: 0 6px 24px rgba(22, 49, 31, 0.07);\n }\n\n \/* Reset every element we use — !important so stubborn themes can't win.\n Component rules below re-apply intended values with !important where needed. *\/\n .cfm-wrap p,\n .cfm-wrap h2,\n .cfm-wrap h3,\n .cfm-wrap h4,\n .cfm-wrap ul,\n .cfm-wrap ol,\n .cfm-wrap li,\n .cfm-wrap a,\n .cfm-wrap img,\n .cfm-wrap div,\n .cfm-wrap span,\n .cfm-wrap strong,\n .cfm-wrap em,\n .cfm-wrap small {\n margin: 0 !important;\n padding: 0 !important;\n border: 0;\n outline: 0;\n font-family: inherit !important;\n font-size: inherit !important;\n font-weight: inherit !important;\n font-style: inherit !important;\n line-height: inherit !important;\n letter-spacing: normal !important;\n text-align: inherit !important;\n text-transform: none !important;\n text-decoration: none !important;\n color: inherit !important;\n box-shadow: none;\n text-shadow: none;\n }\n\n .cfm-wrap ul,\n .cfm-wrap ol,\n .cfm-wrap li {\n list-style: none !important;\n }\n .cfm-wrap p,\n .cfm-wrap li,\n .cfm-wrap ul,\n .cfm-wrap ol,\n .cfm-wrap a {\n background: transparent !important;\n }\n .cfm-wrap img {\n max-width: 100% !important;\n height: auto !important;\n display: block !important;\n }\n .cfm-wrap a {\n cursor: pointer;\n -webkit-tap-highlight-color: transparent;\n }\n .cfm-wrap strong { font-weight: 700 !important; }\n .cfm-wrap em { font-style: italic !important; }\n .cfm-wrap h2,\n .cfm-wrap h3,\n .cfm-wrap h4 {\n font-weight: 800 !important;\n }\n\n \/* ================= 2. COMPONENTS ================= *\/\n\n \/* ---------- Delivery note ---------- *\/\n .cfm-wrap .cfm-note {\n display: flex !important;\n align-items: flex-start;\n gap: 10px;\n margin-bottom: 24px !important;\n padding: 11px 14px !important;\n border-radius: 12px;\n background: #fdf3e0;\n border: 1px solid #f3dfb5;\n color: #6b4a00 !important;\n font-size: 13.5px !important;\n line-height: 1.5 !important;\n }\n .cfm-wrap .cfm-note svg {\n flex: none;\n width: 17px;\n height: 17px;\n margin-top: 2px;\n color: #b07914 !important;\n }\n\n \/* ---------- Hero ---------- *\/\n .cfm-wrap .cfm-hero { margin-bottom: 22px !important; }\n .cfm-wrap .cfm-hero-badge {\n display: inline-block !important;\n padding: 6px 12px !important;\n border-radius: 999px;\n background: #e7f3ea;\n color: #1f6b47 !important;\n font-size: 12.5px !important;\n font-weight: 700 !important;\n letter-spacing: 0.03em !important;\n margin-bottom: 14px !important;\n }\n .cfm-wrap .cfm-hero-title {\n display: block !important;\n font-size: 30px !important;\n line-height: 1.15 !important;\n font-weight: 800 !important;\n color: #16311f !important;\n letter-spacing: -0.02em !important;\n margin-bottom: 10px !important;\n }\n .cfm-wrap .cfm-hero-title span { color: #1f6b47 !important; }\n .cfm-wrap .cfm-hero-sub {\n display: block !important;\n max-width: 640px;\n font-size: 17px !important;\n color: #56665b !important;\n }\n\n \/* ---------- Quick specs (instrument panel) ---------- *\/\n .cfm-wrap .cfm-specs {\n display: grid !important;\n grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));\n gap: 12px;\n margin-bottom: 24px !important;\n }\n .cfm-wrap .cfm-spec {\n display: block !important;\n padding: 14px 12px !important;\n border-radius: 14px;\n background: #f2f7f2;\n border: 1px solid #e0eade;\n text-align: center !important;\n }\n .cfm-wrap .cfm-spec strong {\n display: block !important;\n font-family: var(--mono) !important;\n font-size: 19px !important;\n font-weight: 700 !important;\n letter-spacing: -0.02em !important;\n color: #1f6b47 !important;\n line-height: 1.2 !important;\n }\n .cfm-wrap .cfm-spec span {\n display: block !important;\n margin-top: 5px !important;\n font-family: var(--mono) !important;\n font-size: 10.5px !important;\n font-weight: 600 !important;\n letter-spacing: 0.12em !important;\n text-transform: uppercase !important;\n color: #56665b !important;\n }\n\n \/* ---------- Gallery ---------- *\/\n .cfm-wrap .cfm-gallery {\n display: grid !important;\n grid-template-columns: repeat(3, 1fr);\n gap: 12px;\n margin-bottom: 32px !important;\n }\n .cfm-wrap .cfm-gallery img {\n width: 100% !important;\n border-radius: 16px;\n border: 1px solid #e0eade;\n box-shadow: 0 6px 24px rgba(22, 49, 31, 0.07);\n }\n\n \/* ---------- Section headings ---------- *\/\n .cfm-wrap .cfm-section { margin-bottom: 36px !important; }\n .cfm-wrap .cfm-kicker {\n display: flex !important;\n align-items: center;\n gap: 10px;\n margin-bottom: 8px !important;\n font-family: var(--mono) !important;\n font-size: 11.5px !important;\n font-weight: 700 !important;\n letter-spacing: 0.14em !important;\n text-transform: uppercase !important;\n color: #56665b !important;\n }\n .cfm-wrap .cfm-kicker::before {\n content: \"\";\n flex: none;\n width: 26px;\n height: 3px;\n border-radius: 2px;\n background: linear-gradient(90deg, #1f6b47, #3fa45f);\n }\n .cfm-wrap .cfm-section-title {\n display: block !important;\n margin-bottom: 6px !important;\n font-size: 22px !important;\n line-height: 1.3 !important;\n font-weight: 800 !important;\n color: #16311f !important;\n letter-spacing: -0.01em !important;\n }\n .cfm-wrap .cfm-section-sub {\n display: block !important;\n margin-bottom: 18px !important;\n font-size: 15px !important;\n color: #56665b !important;\n }\n\n \/* ---------- Highlights grid ---------- *\/\n .cfm-wrap .cfm-grid {\n display: grid !important;\n grid-template-columns: repeat(2, 1fr);\n gap: 14px;\n }\n .cfm-wrap .cfm-card {\n display: block !important;\n padding: 20px 18px !important;\n border-radius: 16px;\n background: #ffffff;\n border: 1px solid #e0eade;\n box-shadow: 0 6px 24px rgba(22, 49, 31, 0.07);\n }\n .cfm-wrap .cfm-icon {\n display: inline-flex !important;\n align-items: center;\n justify-content: center;\n width: 46px;\n height: 46px;\n margin-bottom: 14px !important;\n border-radius: 13px;\n background: #e7f3ea;\n color: #1f6b47 !important;\n }\n .cfm-wrap .cfm-icon svg {\n display: block !important;\n width: 24px;\n height: 24px;\n }\n .cfm-wrap .cfm-card h3 {\n display: block !important;\n margin-bottom: 6px !important;\n font-size: 16.5px !important;\n line-height: 1.35 !important;\n font-weight: 800 !important;\n color: #16311f !important;\n }\n .cfm-wrap .cfm-card p {\n display: block !important;\n font-size: 14.5px !important;\n color: #56665b !important;\n }\n\n \/* ---------- What's in the box ---------- *\/\n .cfm-wrap .cfm-box {\n display: grid !important;\n grid-template-columns: 1.15fr 0.85fr;\n gap: 14px;\n }\n .cfm-wrap .cfm-box-col {\n display: block !important;\n padding: 22px 20px !important;\n border-radius: 16px;\n background: #ffffff;\n border: 1px solid #e0eade;\n box-shadow: 0 6px 24px rgba(22, 49, 31, 0.07);\n }\n .cfm-wrap .cfm-box-title {\n display: block !important;\n margin-bottom: 4px !important;\n font-size: 17px !important;\n font-weight: 800 !important;\n color: #16311f !important;\n }\n .cfm-wrap .cfm-box-sub {\n display: block !important;\n margin-bottom: 14px !important;\n font-size: 13px !important;\n color: #56665b !important;\n }\n .cfm-wrap .cfm-checklist li {\n display: flex !important;\n align-items: flex-start;\n gap: 10px;\n padding: 9px 0 !important;\n border-bottom: 1px dashed #e0eade;\n font-size: 14.5px !important;\n color: #16311f !important;\n }\n .cfm-wrap .cfm-checklist li:last-child { border-bottom: 0 !important; }\n .cfm-wrap .cfm-check {\n flex: none;\n display: inline-flex !important;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n margin-top: 1px !important;\n border-radius: 50%;\n background: #3fa45f;\n color: #ffffff !important;\n }\n .cfm-wrap .cfm-check svg {\n display: block !important;\n width: 11px;\n height: 11px;\n }\n .cfm-wrap .cfm-item { flex: 1 1 auto; }\n .cfm-wrap .cfm-qty {\n flex: none;\n margin-left: 10px !important;\n font-family: var(--mono) !important;\n font-size: 12.5px !important;\n font-weight: 700 !important;\n color: #1f6b47 !important;\n white-space: nowrap;\n }\n\n \/* ---------- Feature spotlight ---------- *\/\n .cfm-wrap .cfm-feature {\n margin-bottom: 32px !important;\n padding: 22px !important;\n border-radius: 16px;\n background: #f2f7f2;\n border: 1px solid #e0eade;\n }\n .cfm-wrap .cfm-feature-body .cfm-section-title { margin-bottom: 10px !important; }\n .cfm-wrap .cfm-feature-list li {\n position: relative;\n display: block !important;\n padding: 4px 0 4px 26px !important;\n font-size: 14.5px !important;\n color: #16311f !important;\n }\n .cfm-wrap .cfm-feature-list li::before {\n content: \"\";\n position: absolute;\n left: 2px;\n top: 12px;\n width: 9px;\n height: 9px;\n border-radius: 50%;\n background: #3fa45f;\n border: 2px solid #1f6b47;\n }\n\n \/* ---------- Brochure CTA ---------- *\/\n .cfm-wrap .cfm-cta {\n display: flex !important;\n align-items: center;\n justify-content: space-between;\n gap: 16px;\n flex-wrap: wrap;\n margin-bottom: 16px !important;\n padding: 22px 24px !important;\n border-radius: 16px;\n background: linear-gradient(100deg, #16311f, #1f6b47);\n }\n .cfm-wrap .cfm-cta-copy { flex: 1 1 240px; }\n .cfm-wrap .cfm-cta h3 {\n display: block !important;\n margin-bottom: 4px !important;\n font-size: 18px !important;\n font-weight: 800 !important;\n color: #ffffff !important;\n }\n .cfm-wrap .cfm-cta p {\n display: block !important;\n font-size: 14px !important;\n color: rgba(255, 255, 255, 0.85) !important;\n }\n .cfm-wrap .cfm-btn {\n display: inline-flex !important;\n align-items: center;\n gap: 8px;\n padding: 12px 20px !important;\n border-radius: 999px;\n background: #f2a93b !important;\n color: #6b4a00 !important;\n font-size: 14.5px !important;\n font-weight: 800 !important;\n white-space: nowrap;\n transition: transform 0.15s ease, box-shadow 0.15s ease;\n }\n .cfm-wrap .cfm-btn:hover {\n transform: translateY(-2px);\n box-shadow: 0 8px 18px rgba(0, 0, 0, 0.22);\n }\n .cfm-wrap .cfm-btn svg {\n display: block !important;\n width: 16px;\n height: 16px;\n }\n\n \/* ---------- Keep exploring ---------- *\/\n .cfm-wrap .cfm-explore {\n text-align: center !important;\n margin-bottom: 4px !important;\n }\n .cfm-wrap .cfm-explore-link {\n display: inline-flex !important;\n align-items: center;\n gap: 6px;\n font-size: 14.5px !important;\n font-weight: 700 !important;\n color: #1f6b47 !important;\n }\n .cfm-wrap .cfm-explore-link:hover { text-decoration: underline !important; }\n\n \/* ---------- Responsive ---------- *\/\n @media (max-width: 900px) {\n .cfm-wrap .cfm-grid { grid-template-columns: repeat(2, 1fr); }\n }\n\n @media (max-width: 720px) {\n .cfm-wrap .cfm-box { grid-template-columns: 1fr; }\n }\n @media (max-width: 640px) {\n .cfm-wrap .cfm-hero-title { font-size: 24px !important; }\n .cfm-wrap .cfm-gallery { grid-template-columns: 1fr; }\n .cfm-wrap .cfm-section-title { font-size: 20px !important; }\n }\n @media (max-width: 560px) {\n .cfm-wrap .cfm-grid { grid-template-columns: 1fr; }\n }\n @media (prefers-reduced-motion: reduce) {\n .cfm-wrap *,\n .cfm-wrap *::before,\n .cfm-wrap *::after {\n transition: none !important;\n animation: none !important;\n }\n }\n\u003c\/style\u003e\n\n\u003cdiv class=\"cfm-wrap\"\u003e\n\n \u003c!-- Delivery note --\u003e\n \u003cdiv class=\"cfm-note\"\u003e\n \u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"10\"\u003e\u003c\/circle\u003e\u003cpath d=\"M12 16v-4M12 8h.01\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n \u003cspan\u003eWe deliver within \u003cstrong\u003eSelangor\u003c\/strong\u003e and install free within 30 km. Outside Selangor, contact us and we'll work something out.\u003c\/span\u003e\n \u003c\/div\u003e\n\n \u003c!-- Hero --\u003e\n \u003cdiv class=\"cfm-hero\"\u003e\n \u003cspan class=\"cfm-hero-badge\"\u003eIndoor hydroponic system\u003c\/span\u003e\n \u003ch2 class=\"cfm-hero-title\"\u003eCityFarm Indoor \u003cspan\u003eMini Waterfall Farm\u003c\/span\u003e\n\u003c\/h2\u003e\n \u003cp class=\"cfm-hero-sub\"\u003eA compact indoor system that grows up to 8 leafy greens and herbs on a shelf or counter.\u003c\/p\u003e\n \u003c\/div\u003e\n\n \u003c!-- Quick specs --\u003e\n \u003cdiv class=\"cfm-specs\"\u003e\n \u003cdiv class=\"cfm-spec\"\u003e\n\u003cstrong\u003e78 × 45 × 90\u003c\/strong\u003e\u003cspan\u003ecm · L × W × H\u003c\/span\u003e\n\u003c\/div\u003e\n \u003cdiv class=\"cfm-spec\"\u003e\n\u003cstrong\u003e8\u003c\/strong\u003e\u003cspan\u003eplant capacity\u003c\/span\u003e\n\u003c\/div\u003e\n \u003cdiv class=\"cfm-spec\"\u003e\n\u003cstrong\u003e20 L\u003c\/strong\u003e\u003cspan\u003ewater tank\u003c\/span\u003e\n\u003c\/div\u003e\n \u003cdiv class=\"cfm-spec\"\u003e\n\u003cstrong\u003e30 W\u003c\/strong\u003e\u003cspan\u003epower\u003c\/span\u003e\n\u003c\/div\u003e\n \u003c\/div\u003e\n\n \u003c!-- Gallery --\u003e\n \u003cdiv class=\"cfm-gallery\"\u003e\n \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1129\/3552\/files\/1_2f07f114-9983-4dd8-8f58-4b37abb72aca.png?v=1787315240\" alt=\"CityFarm Indoor Mini Waterfall Farm: assembled system\" loading=\"lazy\"\u003e\n \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1129\/3552\/files\/2_8cd0d77f-be80-4313-bcbe-5f188f43823e.png?v=1787315258\" alt=\"CityFarm Indoor Mini Waterfall Farm: growing channels\" loading=\"lazy\"\u003e\n \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1129\/3552\/files\/3_ded069a4-39ec-48a4-a151-93c8f3934dbb.png?v=1787315269\" alt=\"CityFarm Indoor Mini Waterfall Farm: full setup\" loading=\"lazy\"\u003e\n \u003c\/div\u003e\n\n \u003c!-- Highlights --\u003e\n \u003cdiv class=\"cfm-section\"\u003e\n \u003cp class=\"cfm-kicker\"\u003eHighlights\u003c\/p\u003e\n \u003ch2 class=\"cfm-section-title\"\u003eWhy you'll want one\u003c\/h2\u003e\n \u003cp class=\"cfm-section-sub\"\u003eNo garden, no soil. It runs on tap water and a wall socket.\u003c\/p\u003e\n \u003cdiv class=\"cfm-grid\"\u003e\n \u003cdiv class=\"cfm-card\"\u003e\n \u003cspan class=\"cfm-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 22v-8\"\u003e\u003c\/path\u003e\u003cpath d=\"M12 14c0-4 3-7 8-7 0 5-3 7-8 7z\"\u003e\u003c\/path\u003e\u003cpath d=\"M12 14c0-4-3-7-8-7 0 5 3 7 8 7z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\n \u003ch3\u003eNutrient film technique (NFT)\u003c\/h3\u003e\n \u003cp\u003eWater and nutrients run over the roots in a thin stream, so plants get food and oxygen at once.\u003c\/p\u003e\n \u003c\/div\u003e\n \u003cdiv class=\"cfm-card\"\u003e\n \u003cspan class=\"cfm-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0z\"\u003e\u003c\/path\u003e\u003ccircle cx=\"12\" cy=\"10\" r=\"3\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003c\/span\u003e\n \u003ch3\u003eDesigned \u0026amp; built in Malaysia\u003c\/h3\u003e\n \u003cp\u003eMade by CityFarm Malaysia, so setup help and spare parts come straight from us.\u003c\/p\u003e\n \u003c\/div\u003e\n \u003cdiv class=\"cfm-card\"\u003e\n \u003cspan class=\"cfm-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M10 17h4V5H2v12h3\"\u003e\u003c\/path\u003e\u003cpath d=\"M20 17h2v-3.34a4 4 0 0 0-1.17-2.83L19 9h-5\"\u003e\u003c\/path\u003e\u003cpath d=\"M14 17h1\"\u003e\u003c\/path\u003e\u003ccircle cx=\"7.5\" cy=\"17.5\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"17.5\" cy=\"17.5\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003c\/span\u003e\n \u003ch3\u003eFree delivery \u0026amp; installation\u003c\/h3\u003e\n \u003cp\u003eWe bring it to you, set it up, and show you how it works before we leave.\u003c\/p\u003e\n \u003c\/div\u003e\n \u003cdiv class=\"cfm-card\"\u003e\n \u003cspan class=\"cfm-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 2H2v10l9.29 9.29a1 1 0 0 0 1.42 0l8.58-8.58a1 1 0 0 0 0-1.42L12 2z\"\u003e\u003c\/path\u003e\u003ccircle cx=\"7\" cy=\"7\" r=\"1\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003c\/span\u003e\n \u003ch3\u003eOur cheapest indoor farm\u003c\/h3\u003e\n \u003cp\u003eIt costs less than our other farms. If you want to try hydroponics without spending much, start here.\u003c\/p\u003e\n \u003c\/div\u003e\n \u003c\/div\u003e\n \u003c\/div\u003e\n\n \u003c!-- What's in the box --\u003e\n \u003cdiv class=\"cfm-section\"\u003e\n \u003cp class=\"cfm-kicker\"\u003eWhat's included\u003c\/p\u003e\n \u003ch2 class=\"cfm-section-title\"\u003eEverything you need to start growing\u003c\/h2\u003e\n \u003cp class=\"cfm-section-sub\"\u003eIt's all included, down to the seeds.\u003c\/p\u003e\n \u003cdiv class=\"cfm-box\"\u003e\n \u003cdiv class=\"cfm-box-col\"\u003e\n \u003ch3 class=\"cfm-box-title\"\u003eSystem \u0026amp; hardware\u003c\/h3\u003e\n \u003cp class=\"cfm-box-sub\"\u003eThe core components of your farm.\u003c\/p\u003e\n \u003cul class=\"cfm-checklist\"\u003e\n \u003cli\u003e\n\u003cspan class=\"cfm-check\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M20 6 9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003cspan class=\"cfm-item\"\u003e2 ft NFT channels (2″ × 5″) with removable covers\u003c\/span\u003e\u003cspan class=\"cfm-qty\"\u003e× 2\u003c\/span\u003e\n\u003c\/li\u003e\n \u003cli\u003e\n\u003cspan class=\"cfm-check\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M20 6 9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003cspan class=\"cfm-item\"\u003e2 ft full-spectrum grow lights (white)\u003c\/span\u003e\u003cspan class=\"cfm-qty\"\u003e× 2\u003c\/span\u003e\n\u003c\/li\u003e\n \u003cli\u003e\n\u003cspan class=\"cfm-check\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M20 6 9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003cspan class=\"cfm-item\"\u003e20 L water tank\u003c\/span\u003e\u003cspan class=\"cfm-qty\"\u003e× 1\u003c\/span\u003e\n\u003c\/li\u003e\n \u003cli\u003e\n\u003cspan class=\"cfm-check\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M20 6 9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003cspan class=\"cfm-item\"\u003eWater pump\u003c\/span\u003e\u003cspan class=\"cfm-qty\"\u003e× 1\u003c\/span\u003e\n\u003c\/li\u003e\n \u003cli\u003e\n\u003cspan class=\"cfm-check\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M20 6 9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003cspan class=\"cfm-item\"\u003eCustom-made white PVC rack\u003c\/span\u003e\u003cspan class=\"cfm-qty\"\u003e× 1\u003c\/span\u003e\n\u003c\/li\u003e\n \u003cli\u003e\n\u003cspan class=\"cfm-check\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M20 6 9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003cspan class=\"cfm-item\"\u003eDigital timer\u003c\/span\u003e\u003cspan class=\"cfm-qty\"\u003e× 1\u003c\/span\u003e\n\u003c\/li\u003e\n \u003c\/ul\u003e\n \u003c\/div\u003e\n \u003cdiv class=\"cfm-box-col\"\u003e\n \u003ch3 class=\"cfm-box-title\"\u003eConsumables included\u003c\/h3\u003e\n \u003cp class=\"cfm-box-sub\"\u003eStarter supplies for your first harvest.\u003c\/p\u003e\n \u003cul class=\"cfm-checklist\"\u003e\n \u003cli\u003e\n\u003cspan class=\"cfm-check\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M20 6 9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003cspan class=\"cfm-item\"\u003eOasis Grower Solutions Horticubes\u003c\/span\u003e\u003cspan class=\"cfm-qty\"\u003e176 cubes\u003c\/span\u003e\n\u003c\/li\u003e\n \u003cli\u003e\n\u003cspan class=\"cfm-check\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M20 6 9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003cspan class=\"cfm-item\"\u003eHydroponics A \u0026amp; B liquid fertiliser for leafy greens (500 mL)\u003c\/span\u003e\u003cspan class=\"cfm-qty\"\u003e× 1 set\u003c\/span\u003e\n\u003c\/li\u003e\n \u003cli\u003e\n\u003cspan class=\"cfm-check\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M20 6 9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003cspan class=\"cfm-item\"\u003eAssorted seeds\u003c\/span\u003e\u003cspan class=\"cfm-qty\"\u003e× 3 packets\u003c\/span\u003e\n\u003c\/li\u003e\n \u003c\/ul\u003e\n \u003c\/div\u003e\n \u003c\/div\u003e\n \u003c\/div\u003e\n\n \u003c!-- Feature spotlight --\u003e\n \u003cdiv class=\"cfm-feature\"\u003e\n \u003cdiv class=\"cfm-feature-body\"\u003e\n \u003cp class=\"cfm-kicker\"\u003eLow maintenance\u003c\/p\u003e\n \u003ch2 class=\"cfm-section-title\"\u003eA farm that fits your living room\u003c\/h2\u003e\n \u003cul class=\"cfm-feature-list\"\u003e\n \u003cli\u003eThe full-spectrum lights glow white, so they double as room lighting.\u003c\/li\u003e\n \u003cli\u003eThe digital timer switches the lights on and off on schedule.\u003c\/li\u003e\n \u003cli\u003eThe NFT channel covers come off, so the channels are easy to clean.\u003c\/li\u003e\n \u003cli\u003eThe 20 L tank holds enough for a full leafy-greens cycle, so you don't top up mid-cycle.\u003c\/li\u003e\n \u003c\/ul\u003e\n \u003c\/div\u003e\n \u003c\/div\u003e\n\n \u003c!-- Brochure CTA --\u003e\n \u003cdiv class=\"cfm-cta\"\u003e\n \u003cdiv class=\"cfm-cta-copy\"\u003e\n \u003ch3\u003eWant the full spec sheet?\u003c\/h3\u003e\n \u003cp\u003eDownload the brochure for dimensions, assembly and care details.\u003c\/p\u003e\n \u003c\/div\u003e\n \u003ca class=\"cfm-btn\" href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1129\/3552\/files\/CityFarm_Indoor_Mini_Waterfall_Farm.pdf?v=1787315123\" target=\"_blank\" rel=\"noopener\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"\u003e\u003c\/path\u003e\u003cpath d=\"m7 10 5 5 5-5\"\u003e\u003c\/path\u003e\u003cpath d=\"M12 15V3\"\u003e\u003c\/path\u003e\u003c\/svg\u003e Brochure (PDF)\u003c\/a\u003e\n \u003c\/div\u003e\n\n \u003c!-- Keep exploring --\u003e\n \u003cdiv class=\"cfm-explore\"\u003e\n \u003ca class=\"cfm-explore-link\" href=\"https:\/\/cityfarm.my\/pages\/compare-waterfall-farm-systems\"\u003eCompare all Waterfall Farm systems →\u003c\/a\u003e\n \u003c\/div\u003e\n\n\u003c\/div\u003e\n","published_at":"2026-08-21T21:23:29+08:00","created_at":"2026-08-20T20:34:23+08:00","vendor":"CityFarm","type":"Setup","tags":[],"price":64900,"price_min":64900,"price_max":64900,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":46059310710975,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"CityFarm Indoor Mini Waterfall Farm","public_title":null,"options":["Default Title"],"price":64900,"weight":0,"compare_at_price":null,"inventory_quantity":0,"inventory_management":null,"inventory_policy":"deny","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/cityfarm.my\/cdn\/shop\/files\/Systems_11_Image_40.png?v=1787324863"],"featured_image":"\/\/cityfarm.my\/cdn\/shop\/files\/Systems_11_Image_40.png?v=1787324863","options":["Title"],"media":[{"alt":null,"id":34674560237759,"position":1,"preview_image":{"aspect_ratio":1.0,"height":1080,"width":1080,"src":"\/\/cityfarm.my\/cdn\/shop\/files\/Systems_11_Image_40.png?v=1787324863"},"aspect_ratio":1.0,"height":1080,"media_type":"image","src":"\/\/cityfarm.my\/cdn\/shop\/files\/Systems_11_Image_40.png?v=1787324863","width":1080}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cstyle\u003e\n \/* ================= 1. DEFENSIVE NEUTRALISER =================\n Kills common Shopify theme leaks: heading margins, list padding,\n link colours\/underlines, image max-width, font overrides, etc. *\/\n .cfm-wrap,\n .cfm-wrap *,\n .cfm-wrap *::before,\n .cfm-wrap *::after {\n box-sizing: border-box;\n }\n\n .cfm-wrap {\n all: initial; \/* wipe any inherited theme styling *\/\n display: block;\n width: 100%;\n margin: 0 auto;\n padding: 8px 6px 40px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-size: 16px;\n line-height: 1.65;\n color: #16311f;\n text-align: left;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n --ink: #16311f;\n --green: #1f6b47;\n --leaf: #3fa45f;\n --mist: #f2f7f2;\n --line: #e0eade;\n --muted: #56665b;\n --amber: #f2a93b;\n --amber-ink: #6b4a00;\n --mono: ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Consolas, \"Liberation Mono\", monospace;\n --radius: 16px;\n --shadow: 0 6px 24px rgba(22, 49, 31, 0.07);\n }\n\n \/* Reset every element we use — !important so stubborn themes can't win.\n Component rules below re-apply intended values with !important where needed. *\/\n .cfm-wrap p,\n .cfm-wrap h2,\n .cfm-wrap h3,\n .cfm-wrap h4,\n .cfm-wrap ul,\n .cfm-wrap ol,\n .cfm-wrap li,\n .cfm-wrap a,\n .cfm-wrap img,\n .cfm-wrap div,\n .cfm-wrap span,\n .cfm-wrap strong,\n .cfm-wrap em,\n .cfm-wrap small {\n margin: 0 !important;\n padding: 0 !important;\n border: 0;\n outline: 0;\n font-family: inherit !important;\n font-size: inherit !important;\n font-weight: inherit !important;\n font-style: inherit !important;\n line-height: inherit !important;\n letter-spacing: normal !important;\n text-align: inherit !important;\n text-transform: none !important;\n text-decoration: none !important;\n color: inherit !important;\n box-shadow: none;\n text-shadow: none;\n }\n\n .cfm-wrap ul,\n .cfm-wrap ol,\n .cfm-wrap li {\n list-style: none !important;\n }\n .cfm-wrap p,\n .cfm-wrap li,\n .cfm-wrap ul,\n .cfm-wrap ol,\n .cfm-wrap a {\n background: transparent !important;\n }\n .cfm-wrap img {\n max-width: 100% !important;\n height: auto !important;\n display: block !important;\n }\n .cfm-wrap a {\n cursor: pointer;\n -webkit-tap-highlight-color: transparent;\n }\n .cfm-wrap strong { font-weight: 700 !important; }\n .cfm-wrap em { font-style: italic !important; }\n .cfm-wrap h2,\n .cfm-wrap h3,\n .cfm-wrap h4 {\n font-weight: 800 !important;\n }\n\n \/* ================= 2. COMPONENTS ================= *\/\n\n \/* ---------- Delivery note ---------- *\/\n .cfm-wrap .cfm-note {\n display: flex !important;\n align-items: flex-start;\n gap: 10px;\n margin-bottom: 24px !important;\n padding: 11px 14px !important;\n border-radius: 12px;\n background: #fdf3e0;\n border: 1px solid #f3dfb5;\n color: #6b4a00 !important;\n font-size: 13.5px !important;\n line-height: 1.5 !important;\n }\n .cfm-wrap .cfm-note svg {\n flex: none;\n width: 17px;\n height: 17px;\n margin-top: 2px;\n color: #b07914 !important;\n }\n\n \/* ---------- Hero ---------- *\/\n .cfm-wrap .cfm-hero { margin-bottom: 22px !important; }\n .cfm-wrap .cfm-hero-badge {\n display: inline-block !important;\n padding: 6px 12px !important;\n border-radius: 999px;\n background: #e7f3ea;\n color: #1f6b47 !important;\n font-size: 12.5px !important;\n font-weight: 700 !important;\n letter-spacing: 0.03em !important;\n margin-bottom: 14px !important;\n }\n .cfm-wrap .cfm-hero-title {\n display: block !important;\n font-size: 30px !important;\n line-height: 1.15 !important;\n font-weight: 800 !important;\n color: #16311f !important;\n letter-spacing: -0.02em !important;\n margin-bottom: 10px !important;\n }\n .cfm-wrap .cfm-hero-title span { color: #1f6b47 !important; }\n .cfm-wrap .cfm-hero-sub {\n display: block !important;\n max-width: 640px;\n font-size: 17px !important;\n color: #56665b !important;\n }\n\n \/* ---------- Quick specs (instrument panel) ---------- *\/\n .cfm-wrap .cfm-specs {\n display: grid !important;\n grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));\n gap: 12px;\n margin-bottom: 24px !important;\n }\n .cfm-wrap .cfm-spec {\n display: block !important;\n padding: 14px 12px !important;\n border-radius: 14px;\n background: #f2f7f2;\n border: 1px solid #e0eade;\n text-align: center !important;\n }\n .cfm-wrap .cfm-spec strong {\n display: block !important;\n font-family: var(--mono) !important;\n font-size: 19px !important;\n font-weight: 700 !important;\n letter-spacing: -0.02em !important;\n color: #1f6b47 !important;\n line-height: 1.2 !important;\n }\n .cfm-wrap .cfm-spec span {\n display: block !important;\n margin-top: 5px !important;\n font-family: var(--mono) !important;\n font-size: 10.5px !important;\n font-weight: 600 !important;\n letter-spacing: 0.12em !important;\n text-transform: uppercase !important;\n color: #56665b !important;\n }\n\n \/* ---------- Gallery ---------- *\/\n .cfm-wrap .cfm-gallery {\n display: grid !important;\n grid-template-columns: repeat(3, 1fr);\n gap: 12px;\n margin-bottom: 32px !important;\n }\n .cfm-wrap .cfm-gallery img {\n width: 100% !important;\n border-radius: 16px;\n border: 1px solid #e0eade;\n box-shadow: 0 6px 24px rgba(22, 49, 31, 0.07);\n }\n\n \/* ---------- Section headings ---------- *\/\n .cfm-wrap .cfm-section { margin-bottom: 36px !important; }\n .cfm-wrap .cfm-kicker {\n display: flex !important;\n align-items: center;\n gap: 10px;\n margin-bottom: 8px !important;\n font-family: var(--mono) !important;\n font-size: 11.5px !important;\n font-weight: 700 !important;\n letter-spacing: 0.14em !important;\n text-transform: uppercase !important;\n color: #56665b !important;\n }\n .cfm-wrap .cfm-kicker::before {\n content: \"\";\n flex: none;\n width: 26px;\n height: 3px;\n border-radius: 2px;\n background: linear-gradient(90deg, #1f6b47, #3fa45f);\n }\n .cfm-wrap .cfm-section-title {\n display: block !important;\n margin-bottom: 6px !important;\n font-size: 22px !important;\n line-height: 1.3 !important;\n font-weight: 800 !important;\n color: #16311f !important;\n letter-spacing: -0.01em !important;\n }\n .cfm-wrap .cfm-section-sub {\n display: block !important;\n margin-bottom: 18px !important;\n font-size: 15px !important;\n color: #56665b !important;\n }\n\n \/* ---------- Highlights grid ---------- *\/\n .cfm-wrap .cfm-grid {\n display: grid !important;\n grid-template-columns: repeat(2, 1fr);\n gap: 14px;\n }\n .cfm-wrap .cfm-card {\n display: block !important;\n padding: 20px 18px !important;\n border-radius: 16px;\n background: #ffffff;\n border: 1px solid #e0eade;\n box-shadow: 0 6px 24px rgba(22, 49, 31, 0.07);\n }\n .cfm-wrap .cfm-icon {\n display: inline-flex !important;\n align-items: center;\n justify-content: center;\n width: 46px;\n height: 46px;\n margin-bottom: 14px !important;\n border-radius: 13px;\n background: #e7f3ea;\n color: #1f6b47 !important;\n }\n .cfm-wrap .cfm-icon svg {\n display: block !important;\n width: 24px;\n height: 24px;\n }\n .cfm-wrap .cfm-card h3 {\n display: block !important;\n margin-bottom: 6px !important;\n font-size: 16.5px !important;\n line-height: 1.35 !important;\n font-weight: 800 !important;\n color: #16311f !important;\n }\n .cfm-wrap .cfm-card p {\n display: block !important;\n font-size: 14.5px !important;\n color: #56665b !important;\n }\n\n \/* ---------- What's in the box ---------- *\/\n .cfm-wrap .cfm-box {\n display: grid !important;\n grid-template-columns: 1.15fr 0.85fr;\n gap: 14px;\n }\n .cfm-wrap .cfm-box-col {\n display: block !important;\n padding: 22px 20px !important;\n border-radius: 16px;\n background: #ffffff;\n border: 1px solid #e0eade;\n box-shadow: 0 6px 24px rgba(22, 49, 31, 0.07);\n }\n .cfm-wrap .cfm-box-title {\n display: block !important;\n margin-bottom: 4px !important;\n font-size: 17px !important;\n font-weight: 800 !important;\n color: #16311f !important;\n }\n .cfm-wrap .cfm-box-sub {\n display: block !important;\n margin-bottom: 14px !important;\n font-size: 13px !important;\n color: #56665b !important;\n }\n .cfm-wrap .cfm-checklist li {\n display: flex !important;\n align-items: flex-start;\n gap: 10px;\n padding: 9px 0 !important;\n border-bottom: 1px dashed #e0eade;\n font-size: 14.5px !important;\n color: #16311f !important;\n }\n .cfm-wrap .cfm-checklist li:last-child { border-bottom: 0 !important; }\n .cfm-wrap .cfm-check {\n flex: none;\n display: inline-flex !important;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n margin-top: 1px !important;\n border-radius: 50%;\n background: #3fa45f;\n color: #ffffff !important;\n }\n .cfm-wrap .cfm-check svg {\n display: block !important;\n width: 11px;\n height: 11px;\n }\n .cfm-wrap .cfm-item { flex: 1 1 auto; }\n .cfm-wrap .cfm-qty {\n flex: none;\n margin-left: 10px !important;\n font-family: var(--mono) !important;\n font-size: 12.5px !important;\n font-weight: 700 !important;\n color: #1f6b47 !important;\n white-space: nowrap;\n }\n\n \/* ---------- Feature spotlight ---------- *\/\n .cfm-wrap .cfm-feature {\n margin-bottom: 32px !important;\n padding: 22px !important;\n border-radius: 16px;\n background: #f2f7f2;\n border: 1px solid #e0eade;\n }\n .cfm-wrap .cfm-feature-body .cfm-section-title { margin-bottom: 10px !important; }\n .cfm-wrap .cfm-feature-list li {\n position: relative;\n display: block !important;\n padding: 4px 0 4px 26px !important;\n font-size: 14.5px !important;\n color: #16311f !important;\n }\n .cfm-wrap .cfm-feature-list li::before {\n content: \"\";\n position: absolute;\n left: 2px;\n top: 12px;\n width: 9px;\n height: 9px;\n border-radius: 50%;\n background: #3fa45f;\n border: 2px solid #1f6b47;\n }\n\n \/* ---------- Brochure CTA ---------- *\/\n .cfm-wrap .cfm-cta {\n display: flex !important;\n align-items: center;\n justify-content: space-between;\n gap: 16px;\n flex-wrap: wrap;\n margin-bottom: 16px !important;\n padding: 22px 24px !important;\n border-radius: 16px;\n background: linear-gradient(100deg, #16311f, #1f6b47);\n }\n .cfm-wrap .cfm-cta-copy { flex: 1 1 240px; }\n .cfm-wrap .cfm-cta h3 {\n display: block !important;\n margin-bottom: 4px !important;\n font-size: 18px !important;\n font-weight: 800 !important;\n color: #ffffff !important;\n }\n .cfm-wrap .cfm-cta p {\n display: block !important;\n font-size: 14px !important;\n color: rgba(255, 255, 255, 0.85) !important;\n }\n .cfm-wrap .cfm-btn {\n display: inline-flex !important;\n align-items: center;\n gap: 8px;\n padding: 12px 20px !important;\n border-radius: 999px;\n background: #f2a93b !important;\n color: #6b4a00 !important;\n font-size: 14.5px !important;\n font-weight: 800 !important;\n white-space: nowrap;\n transition: transform 0.15s ease, box-shadow 0.15s ease;\n }\n .cfm-wrap .cfm-btn:hover {\n transform: translateY(-2px);\n box-shadow: 0 8px 18px rgba(0, 0, 0, 0.22);\n }\n .cfm-wrap .cfm-btn svg {\n display: block !important;\n width: 16px;\n height: 16px;\n }\n\n \/* ---------- Keep exploring ---------- *\/\n .cfm-wrap .cfm-explore {\n text-align: center !important;\n margin-bottom: 4px !important;\n }\n .cfm-wrap .cfm-explore-link {\n display: inline-flex !important;\n align-items: center;\n gap: 6px;\n font-size: 14.5px !important;\n font-weight: 700 !important;\n color: #1f6b47 !important;\n }\n .cfm-wrap .cfm-explore-link:hover { text-decoration: underline !important; }\n\n \/* ---------- Responsive ---------- *\/\n @media (max-width: 900px) {\n .cfm-wrap .cfm-grid { grid-template-columns: repeat(2, 1fr); }\n }\n\n @media (max-width: 720px) {\n .cfm-wrap .cfm-box { grid-template-columns: 1fr; }\n }\n @media (max-width: 640px) {\n .cfm-wrap .cfm-hero-title { font-size: 24px !important; }\n .cfm-wrap .cfm-gallery { grid-template-columns: 1fr; }\n .cfm-wrap .cfm-section-title { font-size: 20px !important; }\n }\n @media (max-width: 560px) {\n .cfm-wrap .cfm-grid { grid-template-columns: 1fr; }\n }\n @media (prefers-reduced-motion: reduce) {\n .cfm-wrap *,\n .cfm-wrap *::before,\n .cfm-wrap *::after {\n transition: none !important;\n animation: none !important;\n }\n }\n\u003c\/style\u003e\n\n\u003cdiv class=\"cfm-wrap\"\u003e\n\n \u003c!-- Delivery note --\u003e\n \u003cdiv class=\"cfm-note\"\u003e\n \u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"10\"\u003e\u003c\/circle\u003e\u003cpath d=\"M12 16v-4M12 8h.01\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n \u003cspan\u003eWe deliver within \u003cstrong\u003eSelangor\u003c\/strong\u003e and install free within 30 km. Outside Selangor, contact us and we'll work something out.\u003c\/span\u003e\n \u003c\/div\u003e\n\n \u003c!-- Hero --\u003e\n \u003cdiv class=\"cfm-hero\"\u003e\n \u003cspan class=\"cfm-hero-badge\"\u003eIndoor hydroponic system\u003c\/span\u003e\n \u003ch2 class=\"cfm-hero-title\"\u003eCityFarm Indoor \u003cspan\u003eMini Waterfall Farm\u003c\/span\u003e\n\u003c\/h2\u003e\n \u003cp class=\"cfm-hero-sub\"\u003eA compact indoor system that grows up to 8 leafy greens and herbs on a shelf or counter.\u003c\/p\u003e\n \u003c\/div\u003e\n\n \u003c!-- Quick specs --\u003e\n \u003cdiv class=\"cfm-specs\"\u003e\n \u003cdiv class=\"cfm-spec\"\u003e\n\u003cstrong\u003e78 × 45 × 90\u003c\/strong\u003e\u003cspan\u003ecm · L × W × H\u003c\/span\u003e\n\u003c\/div\u003e\n \u003cdiv class=\"cfm-spec\"\u003e\n\u003cstrong\u003e8\u003c\/strong\u003e\u003cspan\u003eplant capacity\u003c\/span\u003e\n\u003c\/div\u003e\n \u003cdiv class=\"cfm-spec\"\u003e\n\u003cstrong\u003e20 L\u003c\/strong\u003e\u003cspan\u003ewater tank\u003c\/span\u003e\n\u003c\/div\u003e\n \u003cdiv class=\"cfm-spec\"\u003e\n\u003cstrong\u003e30 W\u003c\/strong\u003e\u003cspan\u003epower\u003c\/span\u003e\n\u003c\/div\u003e\n \u003c\/div\u003e\n\n \u003c!-- Gallery --\u003e\n \u003cdiv class=\"cfm-gallery\"\u003e\n \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1129\/3552\/files\/1_2f07f114-9983-4dd8-8f58-4b37abb72aca.png?v=1787315240\" alt=\"CityFarm Indoor Mini Waterfall Farm: assembled system\" loading=\"lazy\"\u003e\n \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1129\/3552\/files\/2_8cd0d77f-be80-4313-bcbe-5f188f43823e.png?v=1787315258\" alt=\"CityFarm Indoor Mini Waterfall Farm: growing channels\" loading=\"lazy\"\u003e\n \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1129\/3552\/files\/3_ded069a4-39ec-48a4-a151-93c8f3934dbb.png?v=1787315269\" alt=\"CityFarm Indoor Mini Waterfall Farm: full setup\" loading=\"lazy\"\u003e\n \u003c\/div\u003e\n\n \u003c!-- Highlights --\u003e\n \u003cdiv class=\"cfm-section\"\u003e\n \u003cp class=\"cfm-kicker\"\u003eHighlights\u003c\/p\u003e\n \u003ch2 class=\"cfm-section-title\"\u003eWhy you'll want one\u003c\/h2\u003e\n \u003cp class=\"cfm-section-sub\"\u003eNo garden, no soil. It runs on tap water and a wall socket.\u003c\/p\u003e\n \u003cdiv class=\"cfm-grid\"\u003e\n \u003cdiv class=\"cfm-card\"\u003e\n \u003cspan class=\"cfm-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 22v-8\"\u003e\u003c\/path\u003e\u003cpath d=\"M12 14c0-4 3-7 8-7 0 5-3 7-8 7z\"\u003e\u003c\/path\u003e\u003cpath d=\"M12 14c0-4-3-7-8-7 0 5 3 7 8 7z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\n \u003ch3\u003eNutrient film technique (NFT)\u003c\/h3\u003e\n \u003cp\u003eWater and nutrients run over the roots in a thin stream, so plants get food and oxygen at once.\u003c\/p\u003e\n \u003c\/div\u003e\n \u003cdiv class=\"cfm-card\"\u003e\n \u003cspan class=\"cfm-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0z\"\u003e\u003c\/path\u003e\u003ccircle cx=\"12\" cy=\"10\" r=\"3\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003c\/span\u003e\n \u003ch3\u003eDesigned \u0026amp; built in Malaysia\u003c\/h3\u003e\n \u003cp\u003eMade by CityFarm Malaysia, so setup help and spare parts come straight from us.\u003c\/p\u003e\n \u003c\/div\u003e\n \u003cdiv class=\"cfm-card\"\u003e\n \u003cspan class=\"cfm-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M10 17h4V5H2v12h3\"\u003e\u003c\/path\u003e\u003cpath d=\"M20 17h2v-3.34a4 4 0 0 0-1.17-2.83L19 9h-5\"\u003e\u003c\/path\u003e\u003cpath d=\"M14 17h1\"\u003e\u003c\/path\u003e\u003ccircle cx=\"7.5\" cy=\"17.5\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"17.5\" cy=\"17.5\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003c\/span\u003e\n \u003ch3\u003eFree delivery \u0026amp; installation\u003c\/h3\u003e\n \u003cp\u003eWe bring it to you, set it up, and show you how it works before we leave.\u003c\/p\u003e\n \u003c\/div\u003e\n \u003cdiv class=\"cfm-card\"\u003e\n \u003cspan class=\"cfm-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 2H2v10l9.29 9.29a1 1 0 0 0 1.42 0l8.58-8.58a1 1 0 0 0 0-1.42L12 2z\"\u003e\u003c\/path\u003e\u003ccircle cx=\"7\" cy=\"7\" r=\"1\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003c\/span\u003e\n \u003ch3\u003eOur cheapest indoor farm\u003c\/h3\u003e\n \u003cp\u003eIt costs less than our other farms. If you want to try hydroponics without spending much, start here.\u003c\/p\u003e\n \u003c\/div\u003e\n \u003c\/div\u003e\n \u003c\/div\u003e\n\n \u003c!-- What's in the box --\u003e\n \u003cdiv class=\"cfm-section\"\u003e\n \u003cp class=\"cfm-kicker\"\u003eWhat's included\u003c\/p\u003e\n \u003ch2 class=\"cfm-section-title\"\u003eEverything you need to start growing\u003c\/h2\u003e\n \u003cp class=\"cfm-section-sub\"\u003eIt's all included, down to the seeds.\u003c\/p\u003e\n \u003cdiv class=\"cfm-box\"\u003e\n \u003cdiv class=\"cfm-box-col\"\u003e\n \u003ch3 class=\"cfm-box-title\"\u003eSystem \u0026amp; hardware\u003c\/h3\u003e\n \u003cp class=\"cfm-box-sub\"\u003eThe core components of your farm.\u003c\/p\u003e\n \u003cul class=\"cfm-checklist\"\u003e\n \u003cli\u003e\n\u003cspan class=\"cfm-check\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M20 6 9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003cspan class=\"cfm-item\"\u003e2 ft NFT channels (2″ × 5″) with removable covers\u003c\/span\u003e\u003cspan class=\"cfm-qty\"\u003e× 2\u003c\/span\u003e\n\u003c\/li\u003e\n \u003cli\u003e\n\u003cspan class=\"cfm-check\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M20 6 9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003cspan class=\"cfm-item\"\u003e2 ft full-spectrum grow lights (white)\u003c\/span\u003e\u003cspan class=\"cfm-qty\"\u003e× 2\u003c\/span\u003e\n\u003c\/li\u003e\n \u003cli\u003e\n\u003cspan class=\"cfm-check\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M20 6 9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003cspan class=\"cfm-item\"\u003e20 L water tank\u003c\/span\u003e\u003cspan class=\"cfm-qty\"\u003e× 1\u003c\/span\u003e\n\u003c\/li\u003e\n \u003cli\u003e\n\u003cspan class=\"cfm-check\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M20 6 9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003cspan class=\"cfm-item\"\u003eWater pump\u003c\/span\u003e\u003cspan class=\"cfm-qty\"\u003e× 1\u003c\/span\u003e\n\u003c\/li\u003e\n \u003cli\u003e\n\u003cspan class=\"cfm-check\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M20 6 9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003cspan class=\"cfm-item\"\u003eCustom-made white PVC rack\u003c\/span\u003e\u003cspan class=\"cfm-qty\"\u003e× 1\u003c\/span\u003e\n\u003c\/li\u003e\n \u003cli\u003e\n\u003cspan class=\"cfm-check\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M20 6 9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003cspan class=\"cfm-item\"\u003eDigital timer\u003c\/span\u003e\u003cspan class=\"cfm-qty\"\u003e× 1\u003c\/span\u003e\n\u003c\/li\u003e\n \u003c\/ul\u003e\n \u003c\/div\u003e\n \u003cdiv class=\"cfm-box-col\"\u003e\n \u003ch3 class=\"cfm-box-title\"\u003eConsumables included\u003c\/h3\u003e\n \u003cp class=\"cfm-box-sub\"\u003eStarter supplies for your first harvest.\u003c\/p\u003e\n \u003cul class=\"cfm-checklist\"\u003e\n \u003cli\u003e\n\u003cspan class=\"cfm-check\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M20 6 9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003cspan class=\"cfm-item\"\u003eOasis Grower Solutions Horticubes\u003c\/span\u003e\u003cspan class=\"cfm-qty\"\u003e176 cubes\u003c\/span\u003e\n\u003c\/li\u003e\n \u003cli\u003e\n\u003cspan class=\"cfm-check\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M20 6 9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003cspan class=\"cfm-item\"\u003eHydroponics A \u0026amp; B liquid fertiliser for leafy greens (500 mL)\u003c\/span\u003e\u003cspan class=\"cfm-qty\"\u003e× 1 set\u003c\/span\u003e\n\u003c\/li\u003e\n \u003cli\u003e\n\u003cspan class=\"cfm-check\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M20 6 9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003cspan class=\"cfm-item\"\u003eAssorted seeds\u003c\/span\u003e\u003cspan class=\"cfm-qty\"\u003e× 3 packets\u003c\/span\u003e\n\u003c\/li\u003e\n \u003c\/ul\u003e\n \u003c\/div\u003e\n \u003c\/div\u003e\n \u003c\/div\u003e\n\n \u003c!-- Feature spotlight --\u003e\n \u003cdiv class=\"cfm-feature\"\u003e\n \u003cdiv class=\"cfm-feature-body\"\u003e\n \u003cp class=\"cfm-kicker\"\u003eLow maintenance\u003c\/p\u003e\n \u003ch2 class=\"cfm-section-title\"\u003eA farm that fits your living room\u003c\/h2\u003e\n \u003cul class=\"cfm-feature-list\"\u003e\n \u003cli\u003eThe full-spectrum lights glow white, so they double as room lighting.\u003c\/li\u003e\n \u003cli\u003eThe digital timer switches the lights on and off on schedule.\u003c\/li\u003e\n \u003cli\u003eThe NFT channel covers come off, so the channels are easy to clean.\u003c\/li\u003e\n \u003cli\u003eThe 20 L tank holds enough for a full leafy-greens cycle, so you don't top up mid-cycle.\u003c\/li\u003e\n \u003c\/ul\u003e\n \u003c\/div\u003e\n \u003c\/div\u003e\n\n \u003c!-- Brochure CTA --\u003e\n \u003cdiv class=\"cfm-cta\"\u003e\n \u003cdiv class=\"cfm-cta-copy\"\u003e\n \u003ch3\u003eWant the full spec sheet?\u003c\/h3\u003e\n \u003cp\u003eDownload the brochure for dimensions, assembly and care details.\u003c\/p\u003e\n \u003c\/div\u003e\n \u003ca class=\"cfm-btn\" href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1129\/3552\/files\/CityFarm_Indoor_Mini_Waterfall_Farm.pdf?v=1787315123\" target=\"_blank\" rel=\"noopener\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"\u003e\u003c\/path\u003e\u003cpath d=\"m7 10 5 5 5-5\"\u003e\u003c\/path\u003e\u003cpath d=\"M12 15V3\"\u003e\u003c\/path\u003e\u003c\/svg\u003e Brochure (PDF)\u003c\/a\u003e\n \u003c\/div\u003e\n\n \u003c!-- Keep exploring --\u003e\n \u003cdiv class=\"cfm-explore\"\u003e\n \u003ca class=\"cfm-explore-link\" href=\"https:\/\/cityfarm.my\/pages\/compare-waterfall-farm-systems\"\u003eCompare all Waterfall Farm systems →\u003c\/a\u003e\n \u003c\/div\u003e\n\n\u003c\/div\u003e\n"}
- Home
- CityFarm Indoor Mini Waterfall Farm
CityFarm Indoor Mini Waterfall Farm
RM649.00
We deliver within Selangor and install free within 30 km. Outside Selangor, contact us and we'll work something out.
Indoor hydroponic system
CityFarm Indoor Mini Waterfall Farm
A compact indoor system that grows up to 8 leafy greens and herbs on a shelf or counter.
78 × 45 × 90cm · L × W × H
8plant capacity
20 Lwater tank
30 Wpower
Highlights
Why you'll want one
No garden, no soil. It runs on tap water and a wall socket.
Nutrient film technique (NFT)
Water and nutrients run over the roots in a thin stream, so plants get food and oxygen at once.
Designed & built in Malaysia
Made by CityFarm Malaysia, so setup help and spare parts come straight from us.
Free delivery & installation
We bring it to you, set it up, and show you how it works before we leave.
Our cheapest indoor farm
It costs less than our other farms. If you want to try hydroponics without spending much, start here.
What's included
Everything you need to start growing
It's all included, down to the seeds.
System & hardware
The core components of your farm.
- 2 ft NFT channels (2″ × 5″) with removable covers× 2
- 2 ft full-spectrum grow lights (white)× 2
- 20 L water tank× 1
- Water pump× 1
- Custom-made white PVC rack× 1
- Digital timer× 1
Consumables included
Starter supplies for your first harvest.
- Oasis Grower Solutions Horticubes176 cubes
- Hydroponics A & B liquid fertiliser for leafy greens (500 mL)× 1 set
- Assorted seeds× 3 packets
Low maintenance
A farm that fits your living room
- The full-spectrum lights glow white, so they double as room lighting.
- The digital timer switches the lights on and off on schedule.
- The NFT channel covers come off, so the channels are easy to clean.
- The 20 L tank holds enough for a full leafy-greens cycle, so you don't top up mid-cycle.
Want the full spec sheet?
Download the brochure for dimensions, assembly and care details.