null Skip to main content

Outdoor Low Profile Linear Grate - Wedge Wire / Heel Guard Style 3mm Gaps - 85mm - Custom Length and Outlet

DrainTEK

Product Code: CSG-LOW-WW-085-1648

$44.95

Linear Wedge Wire Outdoor 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.

If you require a corner piece (for an L shape configuration), please add your corner piece here.

Sleek Wedge Wire Ideal for All Outdoor Spaces

The 85mm low profile linear grate is an architecturally designed water drainage solution for:

  • Landscaping
  • Decks and balconies
  • Patios
  • Courtyards
  • Verandas
  • Paved surrounds
  • Pool and spa areas
  • Wet outdoor areas

Highest Quality Linear Drains For Landscaping

  • Full 316L (low carbon) marine grade stainless steel
  • The tray is 1.2mm thick for superior strength
  • V profile drain tray for efficient water drainage
  • Fully welded high load bearing wedge wire insert (3mm wedge wires and 3mm gaps)
  • Manufactured in Australia to any length with specified outlet position and size

how-to-order-custom-draintek-shower-grates-1908

Highest Specifications

  • Tray
  • Full 316L (low carbon) stainless steel tray and outlet (1.2mm thick) in any length
  • V profile with 30mm depth for efficient drainage
  • Choice of 40mm or 50mm diameter outlet at any position
  • Watermark licensed under WMTS-040 - Certificate 23396
  • 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
  • Note: 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 (eg. Sikaflex)
  • Manufactured in Australia

  • Wedge Wire Insert
  • Wedge wires 3mm wide with 3mm gaps and 5mm x 20mm heavy duty supports
  • Wedge wire support bars every 25mm for superior strength and heavy duty load support
  • No plastic components
  • Note: 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
  • Manufactured in Australia

  • Lifetime Warranty
  • Lifetime guarantee against manufacturing defects

Dimensions

85mm wide Custom Made Shower Grate - Wedge Wire - dimensions guide

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


Typical Installation Steps

  1. Construct landscape 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 outdoor 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 outdoor 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
$44.95
UPC:
Adding to cart… The item has been added
<p>These custom made wedge wire linear grates are manufactured by DrainTEK to order at any length. Prescribe the position of the outlet and choose its diameter to suit your verandas, landscaping, and pool surrounds. This is a fully Watermark certified drain custom made by DrainTEK in Melbourne from 316L stainless steel. This is the best value for money custom wedge wire outdoor linear grate for this quality.</p> <p><span style="text-decoration: underline;">The quoted price is made up of:</span></p> <p><br />• The base manufacturing charge of<strong> $44.95</strong>. <br />• A charge of <strong>$0.25 </strong>for each mm of length (Select the width and then enter the length where prompted below).</p>
<h4><strong>Linear Wedge Wire Outdoor 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>If you require a corner piece (for an L shape configuration), please add your corner piece <a href="/indoor-corner-piece-shower-grate.html" target="_blank" rel="noopener">here</a>.</p>
<h4><strong>Sleek Wedge Wire Ideal for All Outdoor Space</strong>s</h4> <p>The 85mm low profile linear grate is an architecturally designed water drainage solution for:</p> <ul> <li>Landscaping</li> <li>Decks and balconies</li> <li>Patios</li> <li>Courtyards</li> <li>Verandas</li> <li>Paved surrounds</li> <li>Pool and spa areas</li> <li>Wet outdoor areas</li> </ul> <h4> </h4> <h4>Highest Quality Linear Drains For Landscaping</h4> <ul> <li>Full 316L (low carbon) marine grade stainless steel</li> <li>The tray is 1.2mm thick for superior strength</li> <li>V profile drain tray for efficient water drainage</li> <li>Fully welded high load bearing wedge wire insert (3mm wedge wires and 3mm gaps)</li> <li>Manufactured in Australia to any length with specified outlet position and size</li> </ul> <p> </p> <p><img src="{{media /content/outdoor/drains/draintek/how-to-order-custom-draintek-shower-grates-1908.png&quot;}}" alt="how-to-order-custom-draintek-shower-grates-1908" /></p>
<h4>Highest Specifications</h4> <p> </p> <ul> <li><strong>Tray</strong></li> <li>Full 316L (low carbon) stainless steel tray and outlet (1.2mm thick) in any length</li> <li>V profile with 30mm depth for efficient drainage</li> <li>Choice of 40mm or 50mm diameter outlet at any position</li> <li>Watermark licensed under WMTS-040 - Certificate 23396</li> <li>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</li> <li>Note: 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 (eg. Sikaflex)</li> <li>Manufactured in Australia</li> </ul> <p> </p> <ul> <li><strong>Wedge Wire Insert </strong></li> <li>Wedge wires 3mm wide with 3mm gaps and 5mm x 20mm heavy duty supports</li> <li>Wedge wire support bars every 25mm for superior strength and heavy duty load support</li> <li>No plastic components</li> <li>Note: 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> <li>Manufactured in Australia</li> </ul> <p> </p> <ul> <li><strong>Lifetime Warranty</strong></li> <li>Lifetime guarantee against manufacturing defects</li> </ul>
<h4><strong>Dimensions</strong></h4> <p><img src="{{media /content/outdoor/drains/draintek/draintek-85mm-wedge-wire-indoor-shower-grate-custom-lengths-dimensions.jpg&quot;}}" alt="85mm wide Custom Made Shower Grate - Wedge Wire - dimensions guide" /></p>
<h4><strong>Click on the icon below to download the PDF manual for this product</strong></h4> <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 landscape 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 outdoor 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 outdoor 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="1695" data-deps="" data-price="44.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[1854]" 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="279" data-deps="" data-price="0.25"><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.25/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: 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; margin: 0; padding-top: 10px; display: block;"> Enter mm from tray end to outlet centre (separate by commas) </label></div><div class="input-col" style="flex: 1; min-width: 150px;"><input type="text" placeholder="Enter details..." name="attribute[123]" 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 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[668]" 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="280" data-deps="" data-price="24.95" data-description="" >DN 40 mm</option><option value="281" data-deps="" data-price="29.95" data-description="" >DN 50 mm</option><option value="282" data-deps="" data-price="34.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="280" 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[476]" 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[669]" 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="281" 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[477]" 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[670]" 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="282" 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[478]" 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[671]" 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>