null Skip to main content

Outdoor Landscape Pool Drainage Channel - Tray and Grate - Wedge Wire / Heel Guard Style - 100mm - Custom Length and Outlet

DrainTEK

Product Code: CSG-OUT-WW-100-2826

$49.95

Linear Wedge Wire Grates - Modern Simplicity

DrainTEK's custom made wedge wire outdoor linear grates are manufactured to order at any length. You can prescribe exactly where you wish to position the outlet, and select the size of the outlet making it the versatile choice for any new build or renovation. The quality is superior to most outdoor grate products on the market and you will not find a better priced custom made linear drain at this quality level.

This linear outdoor channel drain is all 316L (low carbon) stainless steel - no plastic parts. Simply enter your required length in mm and the required position of the outlet(s) and it will be made to order and supplied in parts as per the installation information.

  • Full marine grade 316L (low carbon) stainless steel for premium corrosion resistance (suits coastal regions and salt pools)
  • Sleek brushed stainless steel wedge wire grates provide a modern architectural look
  • Heavy duty to support heavy traffic
  • Perfect architectural installation for premium landscape drainage or pool drainage


Heavy Duty Wedge Wide Grate Top

  • Fully welded high load bearing wedge wire insert - 3mm wedge wires and 3.5 mm gaps for a uniform look
  • 3mm x 21.5mm side walls for superior strength
  • Inserts longer than 1500mm can often be too heavy to handle safely. Therefore lengths longer than this will typically be supplied in multiple equal lengths which will butt together for a seamless look. Contact us if you have a preference for longer inserts in your order

Drainage Tray

  • 1.2mm thick stainless steel for heavy duty durability
  • 50mm deep stepped tray for efficient water drainage
  • Simple modular components and assembly allows for DIY installation
  • Tray lengths are typically available in up to 3000mm. Total drains ordered in excess of this will be supplied in multiple tray pieces which are easily joined with supplied joiner plates using a quality waterproof adhesive silicone

Premium Specifications

  • Composition: Full 316L (low carbon) marine grade stainless steel
  • Tray: 1.2mm thick steel. 100 mm wide. 50 mm deep
  • Grate insert: Fully welded. Heavy duty 3mm x 21.5mm side walls and 3mm wedge wires with 3.5mm gaps.
  • Grate design: Wedgewire design. Also known as "Heel Guard" design as it is suitable for high heels
  • Joiner plate and end cap: Full 316L (low carbon) stainless steel
  • Fixing bolts: Full 316L (low carbon) stainless steel
  • Optional outlet(s): 40mm or 50mm diameter outlet at any position (min of 100mm from tray end)
  • Warranty: Lifetime warranty against manufacturing defects
  • Manufactured in Australia

Custom length trays are completed with modular end-caps and outlets that are affixed using advanced chemical water-proof elastic adhesive bonding to ensure a lasting water-tight seal.

Dimensions

Outdoor Landscape Pool Drainage Channel - Tray and Grate - Wedge Wire / Heel Guard Style - 100mm - Dimensions

Click on the icon below to download the PDF manual for this product


Typical Installation Steps

  1. Construct shower surround in accordance with structural requirements leaving a penetration for drainage.
  2. Add a suitable drainage flange and fasten/bond in place and cap during the building phase. DrainTEK recommends using a suitable puddle flange with an internal diameter large enough for the shower grate outlet to fit loosely within.
  3. Complete water-proofing in accordance with AS3740 with waterproofing turned down into the plumbed drain.
    Note: Do not integrate tray with the water-proofing as steel expands/contracts differently to other materials.
  4. Adjust the height of adjustable puddle flange (if installed) to suit desired shower grate height If your tray outlet is not attached, then adhere with a waterproof adhesive sealant prior to installation and ensure it is secure.
  5. Set tray at required height in mortar so the finished tiles will be just above the top edge of the grate tray.

Lifetime Warranty

All drainTEK linear channels and grates come with a Lifetime Guarantee against manufacturing defects. Conditions may apply - see Renovator Store Warranty Terms and drainTEK Warranty Protection Page.

(No reviews yet) Write a Review
$49.95
UPC:
Adding to cart… The item has been added
<p>This wedge wire outdoor drain is perfect for architectural landscaping and pool drainage. Made from 316L (low carbon) stainless steel for premium durability. The wedge wire grate is fully welded high load bearing suitable for high traffic areas. Made in Australia to your specifications - any length and any outlet position.</p> <p><span style="text-decoration: underline;">The quoted price is made up of:</span></p> <ul> <li>The base manufacturing charge of <strong>$49.95</strong></li> <li>A charge of <strong>$0.30</strong> for each mm of length (Select the width and then enter the length where prompted below)</li> </ul>
<h4><strong>Linear Wedge Wire Grates - Modern Simplicity</strong></h4> <p>DrainTEK's custom made wedge wire outdoor linear grates are manufactured to order at any length. You can prescribe exactly where you wish to position the outlet, and select the size of the outlet making it the versatile choice for any new build or renovation. The quality is superior to most outdoor grate products on the market and you will not find a better priced custom made linear drain at this quality level.</p>
<p>This linear outdoor channel drain is all 316L (low carbon) stainless steel - no plastic parts. Simply enter your required length in mm and the required position of the outlet(s) and it will be made to order and supplied in parts as per the installation information. </p> <ul> <li>Full marine grade 316L (low carbon) stainless steel for premium corrosion resistance (suits coastal regions and salt pools)</li> <li>Sleek brushed stainless steel wedge wire grates provide a modern architectural look</li> <li>Heavy duty to support heavy traffic</li> <li>Perfect architectural installation for premium landscape drainage or pool drainage</li> </ul> <h4><br /><strong>Heavy Duty Wedge Wide Grate Top</strong></h4> <ul> <li>Fully welded high load bearing wedge wire insert - 3mm wedge wires and 3.5 mm gaps for a uniform look</li> <li>3mm x 21.5mm side walls for superior strength</li> <li>Inserts longer than 1500mm can often be too heavy to handle safely. Therefore lengths longer than this will typically be supplied in multiple equal lengths which will butt together for a seamless look. Contact us if you have a preference for longer inserts in your order</li> </ul> <h4><strong>Drainage Tray</strong></h4> <ul> <li>1.2mm thick stainless steel for heavy duty durability</li> <li>50mm deep stepped tray for efficient water drainage</li> <li>Simple modular components and assembly allows for DIY installation</li> <li>Tray lengths are typically available in up to 3000mm. Total drains ordered in excess of this will be supplied in multiple tray pieces which are easily joined with supplied joiner plates using a quality waterproof adhesive silicone</li> </ul> <p><img src="{{media /content/outdoor/drains/draintek/how-to-order-custom-draintek-outdoor-drain-2020.png&quot;}}" alt="" /> <img src="{{media /content/outdoor/drains/draintek/ordering-draintek-outdoor-drain-with-corner.png&quot;}}" alt="" /></p>
<h4><strong>Premium Specifications</strong></h4> <ul> <li><strong>Composition</strong>: Full 316L (low carbon) marine grade stainless steel</li> <li><strong>Tray</strong>: 1.2mm thick steel. 100 mm wide. 50 mm deep</li> <li><strong>Grate insert</strong>: Fully welded. Heavy duty 3mm x 21.5mm side walls and 3mm wedge wires with 3.5mm gaps. </li> <li><strong>Grate design</strong>: Wedgewire design. Also known as "Heel Guard" design as it is suitable for high heels</li> <li><strong>Joiner plate and end cap</strong>: Full 316L (low carbon) stainless steel</li> <li><strong>Fixing bolts</strong>: Full 316L (low carbon) stainless steel</li> <li><strong>Optional outlet(s)</strong>: 40mm or 50mm diameter outlet at any position (min of 100mm from tray end)</li> <li><strong>Warranty</strong>: Lifetime warranty against manufacturing defects</li> <li><strong>Manufactured in Australia</strong></li> </ul> <p>Custom length trays are completed with modular end-caps and outlets that are affixed using advanced chemical water-proof elastic adhesive bonding to ensure a lasting water-tight seal.</p>
<h4><strong>Dimensions</strong></h4> <p><img src="/content/outdoor/drains/draintek/draintek-outdoor-drainage-channel-wedge-wire-100mm-dimensions.jpg" alt="Outdoor Landscape Pool Drainage Channel - Tray and Grate - Wedge Wire / Heel Guard Style - 100mm - Dimensions" width="650" height="650" /></p>
<p><strong>Click on the icon below to download the PDF manual for this product</strong></p> <p><a href="{{media /content/outdoor/drains/draintek/draintek-indoor-shower-grate-installation.pdf&quot;}}" target="_blank" rel="noopener"><img src="{{media /content/outdoor/drains/draintek/draintek-indoor-shower-grates-manual-icon.jpg&quot;}}" alt="" /> <br /></a></p> <h4><strong>Typical Installation Steps</strong></h4> <ol> <li>Construct shower surround in accordance with structural requirements leaving a penetration for drainage.</li> <li>Add a suitable drainage flange and fasten/bond in place and cap during the building phase. DrainTEK recommends using a suitable puddle flange with an internal diameter large enough for the shower grate outlet to fit loosely within.</li> <li>Complete water-proofing in accordance with AS3740 with waterproofing turned down into the plumbed drain.<br /><strong>Note:</strong> Do not integrate tray with the water-proofing as steel expands/contracts differently to other materials.</li> <li>Adjust the height of adjustable puddle flange (if installed) to suit desired shower grate height If your tray outlet is not attached, then adhere with a waterproof adhesive sealant prior to installation and ensure it is secure.</li> <li>Set tray at required height in mortar so the finished tiles will be just above the top edge of the grate tray.</li> </ol>
[{"id":8034,"title":"Serrano-promo-icon-despatched-in-3-days","icon-promo":"<div class=\"se-component se-image-container __se__float-none\">\n \n <figure>\n\n <img src=\"https:\/\/store-vf7rovdake.mybigcommerce.com\/content\/Product-Assets\/Icon Promos\/Serrano-promo-icon-despatched-in-3-days.png\" alt=\"\" data-rotate=\"\" data-proportion=\"true\" data-rotatex=\"\" data-rotatey=\"\" width=\"\" height=\"\" data-size=\",\" data-align=\"none\" data-percentage=\"auto,auto\" data-index=\"0\" data-file-name=\"1_day_despatch.png\" data-file-size=\"0\" data-origin=\",\" style=\"\">\n\n <\/figure>\n<\/div>"}]
[{"id":8042,"title":"dispatch_csg_custom","dispatch-time":"<span class=\"\"title\"\">Typically produced\/dispatched in 3 business days<\/span> <span class=\"\"text\"\">Jump-the-Queue option available for urgent orders. Enter your postcode to see shipping costs.<\/span>"}]
[{"id":8148,"title":"lifetime-warranty-draintek-block","warranty":"<h4><strong>Lifetime Warranty <\/strong><\/h4>\r\n<p>All drainTEK linear channels and grates come with a Lifetime Guarantee against manufacturing defects. Conditions may apply - see <a title=\"Renovator store warranty terms\" href=\"https:\/\/www.renovatorstore.com.au\/warranty-terms.html\" target=\"_blank\">Renovator Store Warranty Terms<\/a> and <a title=\"drainTEK Quality Guarantee\" href=\"https:\/\/www.draintek.com.au\/warranty-terms.html\" target=\"_blank\">drainTEK Warranty Protection<\/a> Page.<\/p>"}]
<style class="config-engine-styles"> :root { --primary: #2563eb; --text: #111827; --border: #e5e7eb; --bg-light: #f8fafc; } @keyframes bundleSpinLoader { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .bundle-loading-modal { display: none; position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0,0,0,0.7); z-index: 999999; justify-content: center; align-items: center; flex-direction: column; } .bundle-loading-content { background: white; padding: 30px; border-radius: 8px; text-align: center; max-width: 400px; width: 90%; box-shadow: 0 10px 25px rgba(0,0,0,0.2); } .bundle-spinner { border: 4px solid #f3f3f3; border-top: 4px solid var(--primary); border-radius: 50%; width: 40px; height: 40px; animation: bundleSpinLoader 1s linear infinite; margin: 0 auto 15px auto; } .productView-options, .productView-info { display: none !important; } .quote-card { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; width: 100%; color: var(--text); margin: 0 auto; background: transparent; box-shadow: none; border: none; } .bundle-group-container { background: #fff; border: 1px solid var(--border); border-radius: 12px; margin-bottom: 20px; box-shadow: 0 2px 8px rgba(0,0,0,0.04); } .group-instance-header { padding: 20px; font-size: 1.1rem; font-weight: 700; color: var(--text); display: flex; justify-content: space-between; align-items: center; } .btn-remove-clone { cursor: pointer; color: #9ca3af; background: none; border: none; transition: color 0.2s; padding: 0; margin-left: auto; } .btn-remove-clone:hover { color: #ef4444; } .quote-card input:not([type="radio"]):not([type="checkbox"]), .quote-card select { padding: 10px; border: 1px solid var(--border); border-radius: 6px; font-size: 0.95rem; width: 100%; box-sizing: border-box; background: #fff; } .quote-card input:focus, .quote-card select:focus { outline: 2px solid #93c5fd; border-color: var(--primary); } .quote-card .required-error { border-color: #ef4444 !important; background-color: #fef2f2 !important; box-shadow: 0 0 0 1px #ef4444; } .quote-card .required-error-element { border-color: #ef4444 !important; background-color: #fef2f2 !important; box-shadow: 0 0 0 1px #ef4444; border-radius: 6px; transition: 0.2s; } .quote-card .error-msg { color: #ef4444; font-size: 0.75rem; font-weight: 600; margin-top: 4px; display: none; } .quote-card .required-error + .error-msg { display: block; } .quote-card .swatch-item { display: block; height: 100%; } .quote-card .swatch-visual { border: 2px solid var(--border); padding: 6px; border-radius: 6px; background: white; text-align: center; transition: all 0.2s; height: 100%; display: flex; flex-direction: column; box-sizing: border-box; } .quote-card .swatch-item:hover .swatch-tooltip { display: block !important; } .quote-card .swatch-item input:checked + .swatch-visual { border-color: var(--primary) !important; background-color: #eff6ff !important; } @media print { .config-bundle-wrapper { box-shadow: none; border: 1px solid #eee; } .config-bundle-wrapper .btn-container, .config-bundle-wrapper .bundle-add-to-cart-btn, .config-bundle-wrapper .bundle-download-pdf-btn, .config-bundle-wrapper .bundle-download-text-btn { display: none; } }</style><div class="quote-card config-bundle-wrapper" data-auto-note-prefix="Custom value for"><div id="bundle-loading-modal" class="bundle-loading-modal"><div class="bundle-loading-content"><div class="bundle-spinner"></div><h3 style="margin: 0 0 10px 0; color: #1e293b;">Processing Order...</h3><p style="margin: 0; color: #64748b; font-size: 14px;">Please wait while we add your products to the cart. Do not close or refresh this page.</p></div></div><form class="main-bundle-form"><div class="group-master-wrapper" data-group-id="1773969007396"><div class="bundle-group-container"><div class="group-instance-header"><span style="font-size: 1.1rem; font-weight: bold; color: #111827;">Drains</span></div><div class="element-wrapper" data-element-required="true" style="margin-bottom: 5px;"><div class="item-row bundle-child-form" style="display: flex; flex-wrap: wrap; padding: 15px 15px 0px 15px; align-items: flex-start; border-bottom: 1px solid #f8fafc;"><input type="hidden" name="product_id" value="1609" data-deps="" data-price="49.95"><div style="display: flex; width: 100%; align-items: flex-start; gap: 15px; justify-content: space-between;"><div class="label-col" style="width: 40%; flex: 0 0 40%; min-width: 150px;"><div style="font-size: 1rem; font-weight: 500; color: #111827; padding-top: 10px;">Production Cost</div></div><div class="qty-col" style="display: none;"><input type="hidden" name="qty[]" class="qty-number-input" data-default="1" value="1"></div><div class="price-display" style="width: 80px; flex: 0 0 80px; text-align: right; font-weight: 600; color: #111827; align-self: flex-start; padding-top: 10px;"></div></div><div class="mod-container" style="width: 100%; display: none;"><div class="modifier-row" style="display: none; width: 100%; align-items: flex-start; gap: 15px; padding-top: 15px; margin-top: 15px; border-top: 1px solid #f1f5f9;"><div class="label-col" style="width: 40%; flex: 0 0 40%; min-width: 150px;"><label style="font-size: 1rem; font-weight: 500; color: #111827; text-transform: none; margin: 0; padding-top: 10px; display: block;"> Notes </label></div><div class="input-col" style="flex: 1; min-width: 150px;"><input type="text" placeholder="Enter details..." name="attribute[1768]" class="mod-input auto-note-input" data-group-name="Drains" data-overwrite-notes="true" data-do-not-delete="true" style="width: 100%; padding: 10px; border: 1px solid #d1d5db; border-radius: 6px; background: #fff; box-sizing: border-box;"></div><div style="width: 80px; flex: 0 0 80px;"></div></div></div></div></div><div class="element-wrapper" data-element-required="true" style="margin-bottom: 5px;"><div class="item-row bundle-child-form" style="display: flex; flex-wrap: wrap; padding: 15px 15px 0px 15px; align-items: flex-start; border-bottom: 1px solid #f8fafc;"><input type="hidden" name="product_id" value="1626" data-deps="" data-price="0.30"><div style="display: flex; width: 100%; align-items: flex-start; gap: 15px; justify-content: space-between;"><div class="label-col" style="width: 40%; flex: 0 0 40%; min-width: 150px;"><div style="font-size: 1rem; font-weight: 500; color: #111827; padding-top: 10px;">Enter Length ($0.30/mm)<span style="color:#ef4444;">*</span></div></div><div class="qty-col" style="flex: 1; min-width: 150px;"><input type="number" name="qty[]" class="qty-number-input" data-default="0" value="0" min="0" step="1" placeholder="Enter length in mm" style="width:100%; padding:10px; border:1px solid #d1d5db; border-radius:6px; box-sizing:border-box; font-size: 0.95rem;"></div><div class="price-display" style="width: 80px; flex: 0 0 80px; text-align: right; font-weight: 600; color: #111827; align-self: flex-start; padding-top: 10px;"></div></div><div class="mod-container" style="width: 100%; display: none;"><div class="modifier-row" style="display: none; width: 100%; align-items: flex-start; gap: 15px; padding-top: 15px; margin-top: 15px; border-top: 1px solid #f1f5f9;"><div class="label-col" style="width: 40%; flex: 0 0 40%; min-width: 150px;"><label style="font-size: 1rem; font-weight: 500; color: #111827; text-transform: none; margin: 0; padding-top: 10px; display: block;"> Notes </label></div><div class="input-col" style="flex: 1; min-width: 150px;"><input type="text" placeholder="Enter details..." name="attribute[1785]" class="mod-input auto-note-input" data-group-name="Drains" data-overwrite-notes="true" data-do-not-delete="true" style="width: 100%; padding: 10px; border: 1px solid #d1d5db; border-radius: 6px; background: #fff; box-sizing: border-box;"></div><div style="width: 80px; flex: 0 0 80px;"></div></div></div></div></div><div class="element-wrapper" data-element-required="false" style="margin-bottom: 5px;"><div class="item-row bundle-child-form" data-show-mods="true" style="display: flex; flex-direction: column; padding: 15px 20px; border-bottom: 1px solid #f8fafc;"><div style="display: flex; width: 100%; align-items: flex-start; gap: 15px; justify-content: space-between;"><div class="label-col" style="width: 40%; flex: 0 0 40%; min-width: 150px;"><label style="font-size: 1rem; font-weight: 500; color: #111827; text-transform: none; display: block; margin: 0; padding-top: 10px;">Select Outlet Size </label><div class="qty-override-wrapper" style="display: none; width: 100%; margin-top: 8px;"><label style="display: flex; align-items: center; gap: 8px; font-size: 0.9rem; cursor: pointer; color: #334155; font-weight: 500;"><input type="checkbox" class="qty-override-toggle"> I need multiple Outlets </label></div></div><div class="input-col" style="flex: 1; min-width: 150px;"><select name="product_id" class="required-target" style="width: 100%; padding: 10px; border: 1px solid #d1d5db; border-radius: 6px; background: #fff; box-sizing: border-box; font-size: 0.95rem;"><option value="" data-price="">No, not required</option><option value="1681" data-deps="" data-price="29.95" data-description="" >DN 40 mm</option><option value="1660" data-deps="" data-price="34.95" data-description="" >DN 50 mm</option><option value="1689" data-deps="" data-price="39.95" data-description="" >DN 76 mm</option></select><div class="option-description-display" style="font-size: 0.85rem; color: #64748b; margin-top: 4px; display: none;"></div></div><div class="price-display select-price-display" style="width: 80px; flex: 0 0 80px; text-align: right; font-weight: 600; color: #111827; align-self: flex-start; padding-top: 10px;">$0.00</div></div><div class="qty-row-wrapper" data-base-vis="false" style="display: none; width: 100%; align-items: flex-start; gap: 15px; padding-top: 15px; margin-top: 15px; border-top: 1px solid #f1f5f9; justify-content: space-between;"><div class="label-col" style="width: 40%; flex: 0 0 40%; min-width: 150px;"><label style="font-size: 1rem; font-weight: 500; color: #111827; text-transform: none; margin: 0; padding-top: 10px; display: block;">Enter the number of outlets</label></div><div class="input-col" style="flex: 1; min-width: 150px;"><input type="number" name="qty[]" class="qty-number-input" data-default="1" value="1" min="0" step="1" style="width:100%; padding:10px; border:1px solid #d1d5db; border-radius:6px; box-sizing:border-box; font-size: 0.95rem;"></div><div style="width: 80px; flex: 0 0 80px;"></div></div><div class="mod-wrapper" data-product="1681" style="display: none; width: 100%;"><div class="modifier-row" style="display: flex; width: 100%; align-items: flex-start; gap: 15px; padding-top: 15px; margin-top: 15px; border-top: 1px solid #f1f5f9;"><div class="label-col" style="width: 40%; flex: 0 0 40%; min-width: 150px;"><label style="font-size: 1rem; font-weight: 500; color: #111827; text-transform: none; display: block; margin: 0; padding-top: 10px;"> Enter Outlet Position <span style="color:#ef4444;">*</span></label><div style="font-size: 0.8rem; color: #6b7280; margin-top: 4px;">Distance from tray end to centre of outlet (mm)</div></div><div class="input-col" style="flex: 1; min-width: 150px;"><input type="text" placeholder="Distance from tray end to centre of outlet (mm)" name="attribute[484]" data-required="true" class="mod-input" style="width: 100%; padding: 10px; border: 1px solid #d1d5db; border-radius: 6px; background: #fff; box-sizing: border-box;"><div class="error-msg">⚠ This field is required</div></div><div style="width: 80px; flex: 0 0 80px;"></div></div><div class="modifier-row" style="display: none; width: 100%; align-items: flex-start; gap: 15px; padding-top: 15px; margin-top: 15px; border-top: 1px solid #f1f5f9;"><div class="label-col" style="width: 40%; flex: 0 0 40%; min-width: 150px;"><label style="font-size: 1rem; font-weight: 500; color: #111827; text-transform: none; display: block; margin: 0; padding-top: 10px;"> Notes </label></div><div class="input-col" style="flex: 1; min-width: 150px;"><input type="text" placeholder="Distance from tray end to centre of outlet (mm)" name="attribute[1840]" class="mod-input auto-note-input" data-group-name="Drains" data-overwrite-notes="true" style="width: 100%; padding: 10px; border: 1px solid #d1d5db; border-radius: 6px; background: #fff; box-sizing: border-box;"></div><div style="width: 80px; flex: 0 0 80px;"></div></div></div><div class="mod-wrapper" data-product="1660" style="display: none; width: 100%;"><div class="modifier-row" style="display: flex; width: 100%; align-items: flex-start; gap: 15px; padding-top: 15px; margin-top: 15px; border-top: 1px solid #f1f5f9;"><div class="label-col" style="width: 40%; flex: 0 0 40%; min-width: 150px;"><label style="font-size: 1rem; font-weight: 500; color: #111827; text-transform: none; display: block; margin: 0; padding-top: 10px;"> Enter Outlet Position <span style="color:#ef4444;">*</span></label><div style="font-size: 0.8rem; color: #6b7280; margin-top: 4px;">Distance from tray end to centre of outlet (mm)</div></div><div class="input-col" style="flex: 1; min-width: 150px;"><input type="text" placeholder="Distance from tray end to centre of outlet (mm)" name="attribute[485]" data-required="true" class="mod-input" style="width: 100%; padding: 10px; border: 1px solid #d1d5db; border-radius: 6px; background: #fff; box-sizing: border-box;"><div class="error-msg">⚠ This field is required</div></div><div style="width: 80px; flex: 0 0 80px;"></div></div><div class="modifier-row" style="display: none; width: 100%; align-items: flex-start; gap: 15px; padding-top: 15px; margin-top: 15px; border-top: 1px solid #f1f5f9;"><div class="label-col" style="width: 40%; flex: 0 0 40%; min-width: 150px;"><label style="font-size: 1rem; font-weight: 500; color: #111827; text-transform: none; display: block; margin: 0; padding-top: 10px;"> Notes </label></div><div class="input-col" style="flex: 1; min-width: 150px;"><input type="text" placeholder="Distance from tray end to centre of outlet (mm)" name="attribute[1819]" class="mod-input auto-note-input" data-group-name="Drains" data-overwrite-notes="true" style="width: 100%; padding: 10px; border: 1px solid #d1d5db; border-radius: 6px; background: #fff; box-sizing: border-box;"></div><div style="width: 80px; flex: 0 0 80px;"></div></div></div><div class="mod-wrapper" data-product="1689" style="display: none; width: 100%;"><div class="modifier-row" style="display: flex; width: 100%; align-items: flex-start; gap: 15px; padding-top: 15px; margin-top: 15px; border-top: 1px solid #f1f5f9;"><div class="label-col" style="width: 40%; flex: 0 0 40%; min-width: 150px;"><label style="font-size: 1rem; font-weight: 500; color: #111827; text-transform: none; display: block; margin: 0; padding-top: 10px;"> Enter Outlet Position <span style="color:#ef4444;">*</span></label><div style="font-size: 0.8rem; color: #6b7280; margin-top: 4px;">Distance from tray end to centre of outlet (mm)</div></div><div class="input-col" style="flex: 1; min-width: 150px;"><input type="text" placeholder="Distance from tray end to centre of outlet (mm)" name="attribute[486]" data-required="true" class="mod-input" style="width: 100%; padding: 10px; border: 1px solid #d1d5db; border-radius: 6px; background: #fff; box-sizing: border-box;"><div class="error-msg">⚠ This field is required</div></div><div style="width: 80px; flex: 0 0 80px;"></div></div><div class="modifier-row" style="display: none; width: 100%; align-items: flex-start; gap: 15px; padding-top: 15px; margin-top: 15px; border-top: 1px solid #f1f5f9;"><div class="label-col" style="width: 40%; flex: 0 0 40%; min-width: 150px;"><label style="font-size: 1rem; font-weight: 500; color: #111827; text-transform: none; display: block; margin: 0; padding-top: 10px;"> Notes </label></div><div class="input-col" style="flex: 1; min-width: 150px;"><input type="text" placeholder="Distance from tray end to centre of outlet (mm)" name="attribute[1848]" class="mod-input auto-note-input" data-group-name="Drains" data-overwrite-notes="true" style="width: 100%; padding: 10px; border: 1px solid #d1d5db; border-radius: 6px; background: #fff; box-sizing: border-box;"></div><div style="width: 80px; flex: 0 0 80px;"></div></div></div></div></div><div class="item-row" style="display: flex; flex-direction: column; padding: 15px 20px; border-bottom: 1px solid #f8fafc; border-top: 1px solid #f1f5f9;"><div style="display: flex; width: 100%; align-items: flex-start; gap: 15px; justify-content: space-between;"><div class="label-col" style="width: 40%; flex: 0 0 40%; min-width: 150px;"><label style="font-size: 1rem; font-weight: 500; color: #111827; text-transform: none; display: block; margin: 0; padding-top: 10px;">Customer Note</label></div><div class="input-col" style="flex: 1; min-width: 150px;"><input type="text" class="customer-note-input" placeholder="e.g. for Bathroom" style="width: 100%; padding: 10px; border: 1px solid #d1d5db; border-radius: 6px; box-sizing: border-box; font-size: 0.95rem; background: #fff;"></div><div style="width: 80px; flex: 0 0 80px;"></div></div></div><div class="group-subtotal" style="display: flex; justify-content: space-between; padding: 16px 20px; border-top: 1px solid #e5e7eb; font-weight: 600; font-size: 1.05rem; color: #111827; background: #fff; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px;"><div>Subtotal</div><div class="group-subtotal-val">$0.00</div></div></div><div class="btn-container" style="padding: 0 0 20px 0; border: none;"><button type="button" class="btn-add btn-add-more-group" data-target="1773969007396" style="width: 100%; padding: 14px; background: white; border: 1px solid #e5e7eb; color: #111827; border-radius: 8px; font-weight: 500; font-size: 1rem; cursor: pointer; transition: 0.2s; display: flex; justify-content: center; align-items: center; gap: 8px;"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="pointer-events:none;"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg> Add More </button></div></div><div class="group-master-wrapper" data-group-id="1773969722576"><div class="bundle-group-container"><div class="group-instance-header" style="display:none;"></div><div class="element-wrapper" data-element-required="false" style="margin-bottom: 5px;"><div class="item-row bundle-child-form" data-show-mods="true" style="display: flex; flex-direction: column; padding: 15px 20px; border-bottom: 1px solid #f8fafc;"><div style="display: flex; width: 100%; align-items: flex-start; gap: 15px; justify-content: space-between;"><div class="label-col" style="width: 40%; flex: 0 0 40%; min-width: 150px;"><label style="font-size: 1rem; font-weight: 500; color: #111827; text-transform: none; display: block; margin: 0; padding-top: 10px;">Dispatch Priority </label></div><div class="input-col" style="flex: 1; min-width: 150px;"><select name="product_id" class="required-target" style="width: 100%; padding: 10px; border: 1px solid #d1d5db; border-radius: 6px; background: #fff; box-sizing: border-box; font-size: 0.95rem;"><option value="" data-price="">Standard (typically within 3 business days)</option><option value="299" data-deps="" data-price="49.00" data-description="move to front of production queue" >Jump the queue +$49</option></select><div class="option-description-display" style="font-size: 0.85rem; color: #64748b; margin-top: 4px; display: none;"></div></div><div class="price-display select-price-display" style="width: 80px; flex: 0 0 80px; text-align: right; font-weight: 600; color: #111827; align-self: flex-start; padding-top: 10px;">$0.00</div></div><input type="hidden" name="qty[]" class="qty-number-input" data-default="1" value="1"><div class="mod-wrapper" data-product="299" style="display: none; width: 100%;"><div class="modifier-row" style="display: none; width: 100%; align-items: flex-start; gap: 15px; padding-top: 15px; margin-top: 15px; border-top: 1px solid #f1f5f9;"><div class="label-col" style="width: 40%; flex: 0 0 40%; min-width: 150px;"><label style="font-size: 1rem; font-weight: 500; color: #111827; text-transform: none; display: block; margin: 0; padding-top: 10px;"> Notes </label></div><div class="input-col" style="flex: 1; min-width: 150px;"><input type="text" placeholder="Enter details..." name="attribute[333]" class="mod-input" style="width: 100%; padding: 10px; border: 1px solid #d1d5db; border-radius: 6px; background: #fff; box-sizing: border-box;"></div><div style="width: 80px; flex: 0 0 80px;"></div></div></div></div></div><div class="group-subtotal" style="display: flex; justify-content: space-between; padding: 16px 20px; border-top: 1px solid #e5e7eb; font-weight: 600; font-size: 1.05rem; color: #111827; background: #fff; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px;"><div>Subtotal</div><div class="group-subtotal-val">$0.00</div></div></div></div><div class="quote-footer" style="padding: 0; background: transparent; display: flex; flex-direction: column; gap: 15px;"><div style="background: #111827; color: white; padding: 20px; border-radius: 8px; display: flex; justify-content: space-between; align-items: center; font-size: 1.25rem; font-weight: bold; width: 100%; box-sizing: border-box;"><div>Grand Total</div><div id="live-total">$0.00</div></div><button type="button" class="bundle-add-to-cart-btn" data-default-text="Add to Cart" style="width: 100%; padding: 15px; margin-top: 5px; background: #2563eb; color: #ffffff; border: none; font-size: 1.1rem; border-radius: 8px; font-weight: bold; cursor: pointer; transition: 0.2s;">Add to Cart</button><button type="button" class="bundle-download-pdf-btn" onclick="generatePDF()" style="width: 100%; padding: 15px; background: #ef4444; color: #ffffff; border: none; font-size: 1.1rem; border-radius: 8px; font-weight: bold; cursor: pointer; transition: 0.2s;">Download PDF Quotation</button></div></form></div><script src="https://store-vf7rovdake.mybigcommerce.com/content/apps/js/product-config-app-main.js"></script>