null Skip to main content

Outdoor Low Profile Linear Grate - Slim Tile Insert - 45mm - Custom Length and Outlet

DrainTEK

Product Code: CSG-LOW-TI-045-1650

$34.95

Linear Tile Insert Outdoor Grates - Modern Simplicity

DrainTEK's custom made tile insert outdoor linear grates are manufactured to order at any length. You can prescribe exactly where you wish to position 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.

Its slim 45mm width is perfect for a more discreet outdoor landscape drain channel. This narrow linear drainage grate also fits smaller pool, patio, or deck areas. A thinner drainage strip will produce a less noticeable gap than outdoor grates with standard widths.-

Slim Tile Insert Drain Ideal for All Outdoor Spaces

The 45mm 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 in all materials is 1.2mm thick for superior strength
  • 30mm low-profile V drain tray for efficient water drainage
  • 13mm deep tile tray to accommodate most tiles and outdoor landscape installations
  • 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 25mm depth for efficient drainage
  • Fits a DN40mm 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

  • Tile Insert Tray
  • Full 316L (low carbon) marine grade stainless steel 1.2mm thick
  • Support feet along entire length for heavy duty load support
  • 28mm wide (internal), perfect for 25mm wide tiles and mosaics
  • 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

45mm 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
$34.95
UPC:
Adding to cart… The item has been added
<p>These custom made tile insert outdoor grates are manufactured to order at any length. Insert your tiles into the removable tray to achieve an almost invisible drain in your patios, verandas, landscaping, pool areas, and outdoor wet areas! Prescribe the position of the outlet, making it the versatile choice for any new build or renovation.</p> <p><span style="text-decoration: underline;">The quoted price is made up of:</span></p> <p><br />• The base manufacturing charge of<strong> $34.95</strong>. <br />• A charge of <strong>$0.21</strong> for each mm of length (Select the width and then enter the length where prompted below).</p>
<h4><strong>Linear Tile Insert Outdoor Grates - Modern Simplicity</strong></h4> <p>DrainTEK's custom made tile insert outdoor linear grates are manufactured to order at any length. You can prescribe exactly where you wish to position 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>Its slim 45mm width is perfect for a more discreet outdoor landscape drain channel. This narrow linear drainage grate also fits smaller pool, patio, or deck areas. A thinner drainage strip will produce a less noticeable gap than outdoor grates with standard widths.-</p>
<h4><strong>Slim Tile Insert Drain Ideal for All Outdoor Space</strong>s</h4> <p>The 45mm 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> <p> </p> <h4>Highest Quality Linear Drains For Landscaping</h4> <ul> <li>Full 316L (low carbon) marine grade stainless steel</li> <li>The tray in all materials is 1.2mm thick for superior strength</li> <li>30mm low-profile V drain tray for efficient water drainage</li> <li>13mm deep tile tray to accommodate most tiles and outdoor landscape installations</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 25mm depth for efficient drainage</li> <li>Fits a DN40mm outlet at any position</li> <li>Watermark licensed unde<span style="color: #000000;">r WMTS-040 - Certificate 23396</span></li> <li><span style="color: #000000;">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</span></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>Tile Insert Tray </strong></li> <li>Full 316L (low carbon) marine grade stainless steel 1.2mm thick</li> <li>Support feet along entire length for heavy duty load support</li> <li>28mm wide (internal), perfect for 25mm wide tiles and mosaics</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> <p> </p>
<h4><strong>Dimensions</strong></h4> <p> </p> <p><img src="/content/outdoor/drains/draintek/draintek-45mm-slim-shower-grate-tile-insert-dimensions-guide.jpg" alt="45mm 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="1708" data-deps="" data-price="34.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[1867]" 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="1400" data-deps="" data-price="0.21"><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.21/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[473]" 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="310" data-deps="" data-price="24.95" data-description="" >DN 40 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="310" 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[133]" 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[321]" 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>