/*!
 * TBD Apparel Configurator
 * Copyright (c) 2026 TshirtByDesign.com. All rights reserved.
 * Proprietary and confidential. Not licensed for redistribution or reuse.
 */:root{--tbd-navy:#1a3a6b;--tbd-green:#2e7d32;--tbd-green2:#1b5e20;--tbd-orange:#e65100;--tbd-gray1:#f5f6f8;--tbd-gray2:#e8eaf0;--tbd-gray3:#c8cdd8;--tbd-gray4:#8892a4;--tbd-dark:#1e2230;--tbd-radius:5px}.tbd-configurator{width:100%;border:1px solid #c8d8f0;border-radius:var(--tbd-radius);overflow:hidden;margin-bottom:20px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}.tbd-product-header{padding:12px 16px 8px;border-bottom:1px solid var(--tbd-gray2)}.tbd-product-title{font-size:18px;font-weight:700;color:var(--tbd-dark);margin:0 0 4px;line-height:1.3}.tbd-product-price{font-size:14px;font-weight:600;color:var(--tbd-dark);margin:0}.tbd-hdr{background:var(--tbd-navy);color:#fff;padding:10px 16px;font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.tbd-field{padding:14px 16px;border-bottom:1px solid var(--tbd-gray2)}.tbd-field:last-of-type{border-bottom:none}.tbd-field-label{font-size:12px;font-weight:700;color:var(--tbd-dark);margin-bottom:10px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tbd-size-chart-link{font-size:11px;font-weight:400;color:var(--tbd-navy);text-decoration:underline}.tbd-modes{display:flex;gap:8px;padding:14px 16px;border-bottom:1px solid var(--tbd-gray2);flex-wrap:wrap}.tbd-modes[hidden]{display:none}.tbd-mode{flex:1;min-width:70px;border:2px solid var(--tbd-gray3);border-radius:var(--tbd-radius);background:#fff;cursor:pointer;padding:10px 8px 8px;display:flex;flex-direction:column;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--tbd-gray4);position:relative;transition:.15s;font-family:inherit;min-height:70px}.tbd-mode:hover{border-color:var(--tbd-navy);color:var(--tbd-navy)}.tbd-mode.active{border-color:var(--tbd-navy);background:#f0f4ff;color:var(--tbd-navy)}.tbd-mode-check{position:absolute;top:-8px;left:-8px;width:18px;height:18px;background:var(--tbd-green);color:#fff;border-radius:50%;font-size:10px;font-weight:700;display:none;align-items:center;justify-content:center;line-height:1}.tbd-mode.active .tbd-mode-check{display:flex}.tbd-mode-icon{width:24px;height:24px}.tbd-swatches{display:flex;flex-wrap:wrap;gap:7px}.tbd-swatch{width:26px;height:26px;border-radius:50%;border:2px solid transparent;cursor:pointer;flex-shrink:0;transition:transform .12s,border-color .12s;padding:0}.tbd-swatch:hover{transform:scale(1.18)}.tbd-swatch.active{border-color:var(--tbd-navy)!important;box-shadow:0 0 0 2px rgba(26,58,107,.2);transform:scale(1.1)}.tbd-sizes{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}@media(min-width:480px){.tbd-sizes{grid-template-columns:repeat(8,1fr)}}.tbd-size-col{display:flex;flex-direction:column;align-items:center;gap:3px}.tbd-size-qty{width:100%;padding:8px 2px;text-align:center;border:1.5px solid var(--tbd-gray3);border-radius:var(--tbd-radius);font-size:15px;font-family:inherit;color:var(--tbd-dark);min-height:44px}.tbd-size-qty::-webkit-inner-spin-button,.tbd-size-qty::-webkit-outer-spin-button{opacity:1}.tbd-size-qty:focus{outline:0;border-color:var(--tbd-navy)}.tbd-size-lbl{font-size:11px;font-weight:700;color:var(--tbd-gray4)}.tbd-size-uc{font-size:10px;color:var(--tbd-orange);font-weight:600}.tbd-summary{padding:12px 16px;border-top:1px solid var(--tbd-gray2);background:var(--tbd-gray1)}.tbd-sum-row{display:flex;justify-content:space-between;font-size:12px;color:var(--tbd-gray4);padding:2px 0}.tbd-sum-row span:last-child{font-weight:700;color:var(--tbd-dark)}.tbd-sum-divider{border-top:1px solid var(--tbd-gray3);margin:6px 0}.tbd-sum-total{font-size:13px}.tbd-sum-total span{font-weight:700!important}.tbd-starting-price{font-size:18px;font-weight:700;color:var(--tbd-dark);padding:12px 16px;border-top:1px solid var(--tbd-gray2);background:var(--tbd-gray1)}.tbd-actions{padding:14px 16px}.tbd-btn-primary{display:block;width:100%;padding:14px;background:var(--tbd-green);color:#fff;font-size:15px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;border:none;border-radius:var(--tbd-radius);cursor:pointer;font-family:inherit;transition:background .15s;min-height:52px}.tbd-btn-primary:hover{background:var(--tbd-green2)}.tbd-btn-primary.blank-mode{background:var(--tbd-navy)}.tbd-btn-primary.blank-mode:hover{background:#0f2350}.tbd-btn-primary:disabled{background:var(--tbd-gray3);cursor:not-allowed}.tbd-secondary-actions{margin-top:10px;text-align:center;display:flex;flex-direction:column;gap:6px}.tbd-sample-link{font-size:13px;color:var(--tbd-navy);text-decoration:underline}.tbd-quote-link{font-size:11px;color:var(--tbd-gray4)}.tbd-quote-link strong{color:var(--tbd-navy)}.tbd-active-product .ds_custom_field>.price,.tbd-active-product .ds_custom_field>.reg,.tbd-active-product .ds_custom_field>h1.product_title,.tbd-active-product .ds_custom_field>p.price,.tbd-active-product .product-area>.price,.tbd-active-product .product-area>h1.product_title,.tbd-active-product .product-area>p.price,.tbd-active-product .product-info .price,.tbd-active-product .product-info .reg,.tbd-active-product .product-info h1.product_title,.tbd-active-product .product-info h2.product_title,.tbd-active-product .product-info p.price{display:none!important}.tbd-active-product #tbd-configurator .tbd-product-header,.tbd-active-product #tbd-configurator .tbd-product-price,.tbd-active-product #tbd-configurator .tbd-product-title{display:block!important}.tbd-active-product .ds_custom_field~* h1.product_title,.tbd-active-product .ds_custom_field~* p.price,.tbd-active-product .ds_custom_field~.price,.tbd-active-product .ds_custom_field~h1.product_title,.tbd-active-product .ds_custom_field~p.price,.tbd-active-product .product-area .reg:not(#tbd-configurator *),.tbd-active-product .product-area h1.product_title:not(#tbd-configurator *),.tbd-active-product .product-area p.price:not(#tbd-configurator *){display:none!important}@media(min-width:768px){.tbd-active-product .ds_custom_field{display:flex!important;align-items:flex-start!important;gap:20px!important;width:100%!important;box-sizing:border-box!important}.tbd-active-product .ds_custom_field .tbd-gallery{flex:0 0 48%!important;max-width:48%!important;min-width:0!important}.tbd-active-product .ds_custom_field .tbd-gallery-main img{width:100%!important;height:auto!important}.tbd-active-product .ds_custom_field .tbd-gallery-thumbs img{width:60px!important;height:60px!important;object-fit:cover!important}.tbd-active-product .ds_custom_field .product-info{flex:1 1 0!important;min-width:0!important;max-width:none!important}}@media(max-width:767px){.tbd-active-product .ds_custom_field{display:flex!important;flex-direction:column!important;width:100%!important}.tbd-active-product .ds_custom_field .product-info,.tbd-active-product .ds_custom_field .tbd-gallery{flex:0 0 100%!important;max-width:100%!important;width:100%!important}.tbd-active-product .ds_custom_field .tbd-gallery-main img{width:100%!important;max-height:320px!important;object-fit:contain!important}.tbd-active-product .ds_custom_field .tbd-gallery-thumbs img{width:60px!important;height:60px!important;object-fit:cover!important}.tbd-mode{min-height:60px!important}.tbd-size-qty{min-height:48px!important;font-size:16px!important}.tbd-btn-primary{min-height:56px!important;font-size:16px!important}}.tbd-size-hint{margin:6px 0 0;font-size:13px;line-height:1.4;color:#b32d2e;font-weight:600}.tbd-garment-field[hidden]{display:none}.tbd-garments{display:flex;gap:6px;align-items:flex-start}.tbd-garment{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 2px;background:0 0;border:0;border-radius:6px;font-family:inherit;cursor:pointer}.tbd-garment:hover{background:var(--tbd-gray1)}.tbd-garment-img{position:relative;display:block;width:100%;flex:0 0 auto}.tbd-garment-img>img:first-child{width:100%;height:auto;display:block}.tbd-garment-plate{position:absolute;height:auto;pointer-events:none}.tbd-garment-name{font-size:12.5px;line-height:1.2;text-align:center;color:var(--tbd-gray4)}.tbd-garment.active .tbd-garment-name{color:var(--tbd-navy);font-weight:700}.tbd-under-image{clear:both;width:100%;margin-top:18px;padding-top:16px;border-top:1px solid var(--tbd-gray2);text-align:left}.tbd-under-image .product_meta{margin-top:12px;font-size:13px}.tbd-configurator+.ds_custom_desc{margin-top:22px}@media (min-width:1500px){.tbd-configurator{max-width:640px}}body.tbd-site-tshirtbydesign .tbd-garment,body.tbd-site-tshirtbydesign .tbd-garment-field,body.tbd-site-tshirtbydesign .tbd-garment-img,body.tbd-site-tshirtbydesign .tbd-garments{height:auto!important;max-height:none!important;min-height:auto!important}body.tbd-site-tshirtbydesign .tbd-garments{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);align-items:start;gap:6px}body.tbd-site-tshirtbydesign .tbd-garment{display:flex!important;flex-direction:column!important;align-items:center}body.tbd-site-tshirtbydesign .tbd-garment-img>img:first-child{height:auto!important;max-height:none!important;width:100%!important;max-width:100%!important}body.tbd-site-tshirtbydesign .tbd-swatches{position:relative;z-index:2}@media (min-width:1100px){body.tbd-site-tshirtbydesign .product-area{flex-wrap:wrap!important;gap:0 20px!important;row-gap:0!important}body.tbd-site-tshirtbydesign .product-area>.ds-tpo-block.ds-tpo-block{order:-1!important;flex:0 0 100%!important;max-width:100%!important;width:100%!important;display:block!important;margin:0 0 2px!important;padding-bottom:0!important}body.tbd-site-tshirtbydesign .ds-tpo-block>.ds-product-title{display:block!important;width:100%!important;max-width:100%!important}body.tbd-site-tshirtbydesign .ds-tpo-block .price-review{display:flex!important;justify-content:flex-end!important;align-items:center!important;width:100%!important;max-width:100%!important}body.tbd-site-tshirtbydesign .ds-tpo-block .sa-plugin{display:flex!important;align-items:center!important;gap:14px!important;flex:0 0 auto!important;margin-left:auto!important;white-space:nowrap!important}body.tbd-site-tshirtbydesign .ds-tpo-block .sa-plugin img{max-width:none!important;display:block!important}body.tbd-site-tshirtbydesign .product-area>.ds_custom_field{flex:0 0 100%!important;max-width:100%!important}body.tbd-site-tshirtbydesign .ds_custom_field>.tbd-gallery{flex:0 0 600px!important;max-width:600px!important}body.tbd-site-tshirtbydesign .tbd-configurator{max-width:630px!important}body.tbd-site-tshirtbydesign .ds-tpo-block .price-review{justify-content:space-between!important;align-items:flex-end!important;line-height:1!important}body.tbd-site-tshirtbydesign .ds-tpo-block .tbd-product-title{margin:0 0 0 620px!important;padding:0!important;font-size:24px!important;line-height:1.2!important;text-align:left!important;flex:0 1 auto!important;white-space:nowrap!important}body.tbd-site-tshirtbydesign .ds-tpo-block .price-review,body.tbd-site-tshirtbydesign .ds-tpo-block .sa-plugin,body.tbd-site-tshirtbydesign .ds-tpo-block>.ds-product-title{margin-top:0!important;margin-bottom:0!important;padding-bottom:0!important}body.tbd-site-tshirtbydesign .product-area>.ds_custom_field{margin-top:0!important;padding-top:0!important}body.tbd-title-moved.tbd-site-tshirtbydesign #tbd-configurator .tbd-product-header{display:none!important}}.tbd-benefit-line{margin:8px 16px 12px;font-size:13.5px;font-weight:600;letter-spacing:.2px;line-height:1.5;color:var(--tbd-gray6,#333);text-align:center}.tbd-benefit-line span[aria-hidden]{color:var(--tbd-gray3,#bbb);margin:0 3px}.tbd-garments.is-pair,body.tbd-site-tshirtbydesign .tbd-garments.is-pair{display:flex!important;justify-content:center!important;align-items:flex-start!important;gap:14px!important}.tbd-garments.is-pair .tbd-garment,body.tbd-site-tshirtbydesign .tbd-garments.is-pair .tbd-garment{flex:0 1 180px!important;min-width:0!important}@media (max-width:600px){.tbd-benefit-line{font-size:13px;letter-spacing:0;margin-left:8px;margin-right:8px}.tbd-garments.is-pair,body.tbd-site-tshirtbydesign .tbd-garments.is-pair{gap:10px!important}.tbd-garments.is-pair .tbd-garment,body.tbd-site-tshirtbydesign .tbd-garments.is-pair .tbd-garment{flex:1 1 0!important}}.tbd-starting-price[hidden]{display:none}