.tm-sage{--tm-red:var(--red,#e4002b);--tm-ink:var(--ink,#171717);--tm-paper:var(--paper,#f5f4f0);--tm-line:var(--line,#d5d4ce);--tm-display:var(--display,Impact,'Arial Narrow',sans-serif);color:var(--tm-ink);padding-top:28px;padding-bottom:64px;max-width:1800px;margin:auto;line-height:1.6}
.tm-sage *{box-sizing:border-box}.tm-sage [hidden]{display:none!important}.tm-sage-nav{display:flex;justify-content:space-between;gap:20px;padding-bottom:22px;border-bottom:1px solid var(--tm-line);font-size:.9rem;font-weight:700}.tm-sage-nav a{text-decoration:none}.tm-sage [data-cart-count]{display:inline-flex;align-items:center;justify-content:center;background:var(--tm-red);color:white;min-width:25px;min-height:25px;border-radius:50%;margin-left:8px;font-size:.75rem}.tm-sage-intro{padding:55px 0 30px;max-width:1000px}.tm-sage h1{font-family:var(--tm-display);font-size:clamp(3.3rem,7.3vw,7.6rem);line-height:.97;margin:0 0 28px}.tm-sage h2{font-family:var(--tm-display);font-size:2.5rem;line-height:1.05;margin:0 0 18px}.tm-sage-lede{font-size:1.15rem;max-width:680px}.tm-sage .eyebrow,.tm-kicker{font-size:.75rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.tm-search{display:grid;grid-template-columns:2fr 1fr auto;gap:18px;align-items:end;margin:15px 0 32px}.tm-sage label{display:flex;flex-direction:column;gap:8px;font-size:.9rem;font-weight:600}.tm-sage input,.tm-sage select,.tm-sage textarea{border:1px solid #a6a69e;background:var(--tm-surface,white);color:var(--tm-ink);padding:13px;min-height:49px;border-radius:0;width:100%;font:inherit}.tm-sage textarea{resize:vertical;min-height:95px}.tm-button{display:inline-flex;justify-content:center;align-items:center;text-align:center;min-height:50px;padding:12px 22px;border:1px solid var(--tm-red);background:var(--tm-red);color:white;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}.tm-button:hover{background:#b70023;color:white}.tm-button.secondary{background:transparent;color:var(--tm-ink);border-color:var(--tm-ink)}.tm-button:disabled{opacity:.55;cursor:wait}.tm-sage :focus-visible{outline:3px solid #245bc5;outline-offset:3px}.tm-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.tm-card{background:var(--tm-surface,white);border:1px solid var(--tm-line);display:flex;flex-direction:column;min-width:0}.tm-card-image{display:flex;align-items:center;justify-content:center;aspect-ratio:1;background:#fff;padding:20px;text-decoration:none;color:#666;text-align:center}.tm-card-image img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.tm-card-copy{padding:20px;display:flex;flex-direction:column;flex:1;border-top:1px solid var(--tm-line)}.tm-card h2{font-size:1.65rem;line-height:1.1}.tm-card h2 a{text-decoration:none}.tm-card .tm-kicker{font-size:.65rem;color:var(--tm-muted,#666);margin-bottom:12px}.tm-price{font-size:.85rem;margin:0 0 18px}.tm-text-link{font-weight:700;text-underline-offset:5px;margin-top:auto}.tm-pagination{display:flex;align-items:center;justify-content:center;gap:24px;margin:35px 0}.tm-notice{padding:18px 20px;background:var(--tm-soft,#e9e8e2);border-left:3px solid var(--tm-red);margin:18px 0}.tm-notice.error{background:var(--tm-tint,#fff0f0)}.tm-muted,.tm-sage-footnote{font-size:.82rem;color:var(--tm-muted,#5b5b54)}.tm-sage-footnote{margin:40px 0 0;padding-top:22px;border-top:1px solid var(--tm-line)}.tm-product-layout{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:start}.tm-gallery{display:grid;grid-template-columns:1fr 1fr;gap:16px}.tm-gallery figure{margin:0;background:white;padding:18px}.tm-gallery figure:first-child{grid-column:1/-1}.tm-gallery img{width:100%;height:auto;object-fit:contain;max-height:650px}.tm-gallery figcaption{font-size:.75rem;margin-top:12px;color:var(--tm-muted,#555)}.tm-image-empty{grid-column:1/-1;min-height:300px;display:grid;place-items:center;background:var(--tm-soft,#e9e8e2)}.tm-sage table{min-width:0;width:100%;border-collapse:collapse;font-size:.9rem;text-align:left}.tm-sage th,.tm-sage td{padding:12px;border-bottom:1px solid var(--tm-line);vertical-align:top}.tm-sage th{background:var(--tm-band,var(--tm-ink));color:white;font-size:.8rem}.tm-table-scroll{overflow-x:auto;margin:20px 0;max-width:100%}.tm-specs{display:grid;grid-template-columns:1fr 2fr;gap:0;font-size:.9rem;margin:25px 0}.tm-specs dt,.tm-specs dd{padding:12px 0;border-bottom:1px solid var(--tm-line);margin:0}.tm-specs dt{font-weight:700;padding-right:16px}.tm-option{padding:16px 0;border-bottom:1px solid var(--tm-line)}.tm-option summary{font-weight:700;cursor:pointer}.tm-option p{font-size:.9rem;margin:12px 0}.tm-configure{display:grid;gap:18px;background:var(--tm-soft,#e9e8e2);padding:28px;margin:28px 0}.tm-inventory-section{margin-top:40px;border-top:1px solid var(--tm-line);padding-top:25px}.tm-inventory-section h2{font-size:2rem}.tm-inventory{margin-top:20px}.tm-quote-layout{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:start}.tm-cart-item{display:grid;grid-template-columns:1fr 1fr;gap:16px;border-top:2px solid var(--tm-ink);padding:25px 0;margin-bottom:15px}.tm-cart-item h2,.tm-cart-item label:has(textarea){grid-column:1/-1}.tm-cart-item h2{font-size:2rem}.tm-cart-item h2 a{text-decoration:none}.tm-cart-item button{justify-self:start}.tm-quote-form{display:grid;gap:18px;background:var(--tm-soft,#e9e8e2);padding:30px}.tm-consent{flex-direction:row!important;align-items:start;font-weight:400!important}.tm-consent input{width:20px;min-height:20px;flex-shrink:0;margin-top:3px}.tm-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.tm-empty{background:var(--tm-soft,#e9e8e2);padding:50px;max-width:800px;margin:20px 0}.tm-empty h2{font-size:3.5rem}.tm-empty p{max-width:560px}
@media(max-width:1100px){.tm-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tm-search{grid-template-columns:1.5fr 1fr}.tm-search button{grid-column:1/-1}.tm-product-layout,.tm-quote-layout{gap:4%}}
@media(max-width:800px){.tm-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.tm-product-layout,.tm-quote-layout{grid-template-columns:1fr;gap:30px}.tm-sage-intro{padding-top:38px}.tm-gallery{max-width:650px}.tm-quote-form{padding:24px}.tm-empty{padding:30px}}
@media(max-width:480px){.tm-search{grid-template-columns:1fr}.tm-grid{grid-template-columns:1fr}.tm-card{display:grid;grid-template-columns:120px 1fr}.tm-card-image{padding:10px;align-self:center}.tm-card-copy{padding:16px;border-top:0;border-left:1px solid var(--tm-line)}.tm-card h2{font-size:1.5rem}.tm-configure{padding:20px}.tm-pagination{gap:10px;font-size:.8rem}.tm-pagination .tm-button{padding:10px}.tm-empty h2{font-size:2.8rem}.tm-specs{grid-template-columns:1fr 1.5fr}}

.tm-color-gallery .tm-photo-thumbnails{display:flex;flex-wrap:wrap;gap:8px}.tm-photo-thumb{background:#fff;border:1px solid #ccc;padding:5px;cursor:pointer}.tm-photo-thumb img{width:72px;height:72px;object-fit:contain}.tm-color-gallery>figure img{width:100%;max-height:560px;object-fit:contain}.tm-color-gallery>figure{margin:0}

/* Catalog filter sidebar */
.tm-catalog-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:30px;align-items:start}.tm-filter-sidebar{position:sticky;top:48px;border:1px solid var(--tm-line);background:var(--tm-surface,#fff);padding:20px}.tm-filter-panel>summary{font-size:1.1rem;font-weight:800;cursor:pointer}.tm-sage .tm-sidebar-form{display:flex;flex-direction:column;align-items:stretch;gap:20px;margin:24px 0 0}.tm-sidebar-form label{font-size:.83rem}.tm-price-fields{padding:0;border:0;margin:0;display:grid;gap:12px;min-width:0}.tm-price-fields legend{font-weight:700;margin-bottom:12px;font-size:.9rem}.tm-filter-help{font-size:.76rem;line-height:1.5;color:var(--tm-muted,#555);margin:0}.tm-catalog-layout .tm-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.tm-catalog-layout .tm-card h2{font-size:1.45rem}.tm-catalog-layout .tm-card-copy{padding:16px}.tm-catalog-layout .tm-results{min-width:0}
@media(max-width:1050px){.tm-catalog-layout{grid-template-columns:220px minmax(0,1fr);gap:20px}.tm-catalog-layout .tm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.tm-catalog-layout{grid-template-columns:1fr}.tm-filter-sidebar{position:static}.tm-catalog-layout .tm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.tm-catalog-layout .tm-grid{grid-template-columns:1fr}}

/* Keep supplier image proportions inside a consistent frame; never crop products. */
.tm-card-image{position:relative;display:block;aspect-ratio:1/1;height:auto;min-height:0;padding:0;overflow:hidden;flex:none}
.tm-card-image img{position:absolute;inset:0;box-sizing:border-box;width:100%;height:100%;max-height:100%;padding:20px;object-fit:contain}
.tm-card-copy .tm-kicker{height:2.8em;line-height:1.4;overflow:hidden;margin:0 0 12px}
.tm-card h2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;line-height:1.2;min-height:3.6em;margin:0 0 16px}
.tm-card-copy .tm-text-link{padding-top:16px}
.tm-color-gallery{display:flex;flex-direction:column;gap:16px;min-width:0}
.tm-color-gallery>figure{box-sizing:border-box;width:100%;padding:18px}
.tm-photo-frame{position:relative;width:100%;aspect-ratio:1/1;max-height:500px}
.tm-color-gallery .tm-photo-frame img{position:absolute;inset:0;width:100%;height:100%;max-height:100%;object-fit:contain}
.tm-color-gallery .tm-image-empty{box-sizing:border-box;width:100%;aspect-ratio:1/1;min-height:0;max-height:536px;padding:24px;text-align:center}
.tm-color-gallery [hidden]{display:none!important}
.tm-color-gallery .tm-photo-thumbnails{display:flex;flex-wrap:wrap;gap:8px}
.tm-photo-thumb{flex:0 0 84px;height:84px}
.tm-photo-thumb img{display:block;width:72px;height:72px;max-height:72px;object-fit:contain}

/* Compact product page and cached quantity estimator. */
.tm-sage[data-tm-sage="product"] .tm-sage-intro{padding:24px 0 18px;max-width:1100px}
.tm-sage[data-tm-sage="product"] h1{font-size:clamp(2rem,3.5vw,3.6rem);line-height:1.05;margin:0}
.tm-sage[data-tm-sage="product"] .tm-sage-intro .eyebrow,.tm-sage[data-tm-sage="product"] .tm-sage-lede{display:none}
.tm-product-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:32px}
.tm-product-copy{min-width:0}.tm-product-copy>.tm-kicker{margin:0 0 8px}
.tm-product-layout .tm-photo-frame{max-height:360px}.tm-product-layout .tm-image-empty{max-height:396px}
.tm-product-layout .tm-color-gallery{gap:8px}.tm-product-layout .tm-photo-thumbnails{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}
.tm-product-layout .tm-configure{margin:0 0 12px;padding:20px;gap:12px}
.tm-configure h2{font-size:1.8rem;margin:0}.tm-configure input,.tm-configure select{padding:9px;min-height:42px}
.tm-configure input[type=range]{accent-color:var(--tm-red);padding:0;min-height:28px;border:0;background:transparent;cursor:pointer}
.tm-price-breaks{display:flex;gap:5px;flex-wrap:wrap}
.tm-price-breaks button{flex:1;padding:6px;background:var(--tm-surface,white);border:1px solid var(--tm-line);font:inherit;font-size:.78rem;cursor:pointer}
.tm-price-breaks small{display:block}.tm-price-breaks button[aria-pressed=true]{border-color:var(--tm-red);box-shadow:inset 0 0 0 1px var(--tm-red)}
.tm-estimate{background:var(--tm-surface,white);padding:14px}.tm-estimate p{margin:4px 0;font-size:.83rem}.tm-estimate-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.tm-estimate-head strong{font-size:1.9rem;line-height:1.1}.tm-estimate-head span{font-size:.8rem}.tm-estimate .tm-estimate-total{font-weight:750;margin-top:8px}
.tm-estimate-note{font-size:.73rem;line-height:1.4;margin:0;color:var(--tm-muted,#555)}.tm-project-options{padding:6px 0}.tm-project-options label{margin-top:12px}.tm-product-information{margin-top:18px}.tm-product-copy .tm-inventory-section{margin-top:18px;padding-top:16px}.tm-product-copy .tm-inventory-section h2{font-size:1.4rem;margin-bottom:10px}
@media(max-width:800px){.tm-product-layout{grid-template-columns:1fr;gap:18px}.tm-product-layout .tm-photo-frame{max-height:260px}.tm-product-layout .tm-image-empty{max-height:296px}.tm-product-layout .tm-configure{padding:16px}}

/* Compact four-column catalog on desktop. */
.tm-catalog-layout .tm-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.tm-catalog-layout .tm-card-image{aspect-ratio:1.2/1}
.tm-catalog-layout .tm-card-image img{padding:18px}
.tm-catalog-layout .tm-card-copy{padding:14px}
.tm-catalog-layout .tm-card h2{font-size:1.3rem}
@media(max-width:1100px){.tm-catalog-layout .tm-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.tm-catalog-layout .tm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.tm-catalog-layout .tm-grid{grid-template-columns:1fr}.tm-catalog-layout .tm-card-image{aspect-ratio:1/1}.tm-catalog-layout .tm-card-image img{padding:10px}}

.tm-product-description{font-size:.95rem;line-height:1.55;margin:0 0 20px}.tm-product-specifications{margin-top:16px;border-top:1px solid var(--tm-line);padding-top:18px}.tm-product-specifications h2{font-size:1.5rem;margin:0}.tm-product-specifications .tm-specs{margin:12px 0}

/* Mobile: photos, description and quote controls, then specifications. */
@media(max-width:800px){
 .tm-product-layout .tm-color-gallery{display:contents}
 .tm-product-layout .tm-color-gallery>figure,.tm-product-layout .tm-color-gallery>.tm-image-empty{order:0}
 .tm-product-layout .tm-color-gallery>.tm-muted{order:1;margin:0}
 .tm-product-layout .tm-color-gallery>.tm-photo-thumbnails{order:2;min-width:0}
 .tm-product-layout>.tm-product-copy{order:3}
 .tm-product-layout .tm-product-specifications{order:4;margin-top:0}
}

/* Apparel variants share the Townsend catalog typography and quote flow. */
.tm-apparel-sizes{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(100px,1fr);gap:8px;overflow-x:auto;max-width:100%;min-width:0;padding:3px 3px 12px}.tm-apparel-size{display:grid;grid-template-rows:auto auto minmax(36px,auto) auto;gap:8px;align-content:start;text-align:center;background:var(--tm-surface,#fff);border:1px solid #d8d8d0;padding:12px 8px}.tm-apparel-size strong{font-size:16px}.tm-apparel-size label{display:flex;flex-direction:column;gap:5px;font-size:12px}.tm-apparel-size input{width:100%;min-width:0;text-align:center;padding:8px}.tm-apparel-retail{font-size:14px;font-weight:700}.tm-apparel-stock{font-size:12px;line-height:1.4;overflow-wrap:anywhere}.tm-configure{min-width:0}.tm-apparel-total{font-weight:700}.tm-sage-nav{flex-wrap:wrap}.tm-cart-item small{display:block;font-size:12px;line-height:1.5;margin-top:6px}.tm-product-description{white-space:pre-line}

/* Apparel: full-width configuration keeps ten size columns legible without scrolling. */
.tm-apparel-configure{margin-top:28px;gap:16px}
.tm-apparel-configure h3,.tm-apparel-selected-color{margin:0}
.tm-apparel-selected-color{font-size:.9rem;font-weight:600}
.tm-apparel-swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}
.tm-apparel-swatch{display:flex;flex-direction:column;align-items:center;gap:7px;padding:8px 5px;min-width:0;border:1px solid #c4c4bc;background:var(--tm-surface,white);color:var(--tm-ink);font:inherit;font-size:11px;line-height:1.25;cursor:pointer;text-align:center;overflow-wrap:anywhere}
.tm-apparel-swatch[aria-pressed=true]{outline:2px solid var(--tm-red);outline-offset:1px;background:var(--tm-tint,#fff5f6)}
.tm-apparel-swatch-chip{display:block;width:32px;height:32px;border-radius:50%;border:1px solid #aaa;overflow:hidden;flex:none}
.tm-apparel-swatch-chip img{width:100%;height:100%;object-fit:cover}
.tm-apparel-swatch-unknown{background:repeating-linear-gradient(45deg,#ddd 0 4px,#fff 4px 8px)}
.tm-apparel-sizes{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:repeat(var(--tm-size-count,10),minmax(0,1fr));overflow:visible;gap:5px;padding:3px}
.tm-apparel-size{min-width:0;padding:10px 3px;grid-template-rows:auto minmax(20px,auto) auto auto;gap:8px}
.tm-apparel-size strong{font-size:14px}.tm-apparel-retail{font-size:12px;overflow-wrap:anywhere}
.tm-apparel-size label{font-size:11px}.tm-apparel-size input{padding:6px 2px;min-height:42px;appearance:textfield;-moz-appearance:textfield}
.tm-apparel-size input::-webkit-inner-spin-button,.tm-apparel-size input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.tm-apparel-stock{display:flex;flex-direction:column;font-size:11px;line-height:1.35;gap:2px}
.tm-apparel-description{padding-left:22px;margin:14px 0 24px;font-size:.95rem;line-height:1.65;list-style:disc}
.tm-apparel-description li{margin-bottom:8px}
@media(max-width:600px){.tm-apparel-configure{padding:14px}.tm-apparel-sizes{grid-template-columns:repeat(5,minmax(0,1fr))}.tm-apparel-swatches{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Compact product headings, while keeping catalog landing headings unchanged. */
.tm-sage[data-tm-sage="apparel_product"] .tm-sage-intro,.tm-sage[data-tm-sage="product"] .tm-sage-intro{padding:26px 0 18px;max-width:1100px}
.tm-sage[data-tm-sage="apparel_product"] h1,.tm-sage[data-tm-sage="product"] h1{font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.15;margin-bottom:14px}
.tm-sage[data-tm-sage="apparel_product"] .tm-sage-lede,.tm-sage[data-tm-sage="product"] .tm-sage-lede{font-size:1rem}

/* Apparel cards: brand, style number, then descriptive title. */
.tm-apparel-card .tm-card-image{aspect-ratio:1;padding:20px}
.tm-apparel-card .tm-card-copy{padding:20px;gap:10px}
.tm-apparel-card-brand{margin:0;color:var(--tm-muted,#65655f);font-size:.85rem;font-weight:500;letter-spacing:.035em;text-transform:uppercase}
.tm-apparel-card-style{margin:0;font-size:1.15rem;font-weight:800;line-height:1.2}
.tm-apparel-card-style a{text-decoration:none}
.tm-apparel-card h2{font-family:var(--tm-display);font-size:1.65rem;font-weight:700;line-height:1.1;margin:0 0 12px}
.tm-apparel-card .tm-text-link{font-size:.8rem;padding-top:4px}
@media(max-width:600px){.tm-apparel-card .tm-card-copy{padding:13px;gap:8px}.tm-apparel-card-brand{font-size:.72rem}.tm-apparel-card-style{font-size:1rem}.tm-apparel-card h2{font-size:1.35rem}}

.tm-apparel-card-msrp{margin:auto 0 0;font-size:.9rem;font-weight:600;padding-top:8px}.tm-apparel-card-brand{font-weight:700;letter-spacing:.09em;font-size:.75rem}

/* 0.7.0: space-efficient promotional product page. Scoped to data-tm-sage="product". */
.tm-sage[data-tm-sage="product"]{padding-top:16px;padding-bottom:40px}
.tm-sage[data-tm-sage="product"] .tm-sage-nav{padding-bottom:12px}
.tm-sage[data-tm-sage="product"] .tm-sage-intro{padding:16px 0 10px}
.tm-sage[data-tm-sage="product"] .tm-sage-footnote{margin-top:24px;padding-top:14px}
.tm-sage[data-tm-sage="product"] .tm-product-layout{gap:20px 32px}
.tm-sage[data-tm-sage="product"] .tm-product-copy>.tm-product-description{margin:0 0 14px}
.tm-sage[data-tm-sage="product"] .tm-configure{gap:10px;padding:18px}
.tm-sage[data-tm-sage="product"] .tm-apparel-step-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:0 0 8px}
.tm-sage[data-tm-sage="product"] .tm-apparel-step-head h3{font-size:1rem;margin:0}
.tm-sage[data-tm-sage="product"] .tm-apparel-selected-color{font-size:.85rem;font-weight:600;margin:0}
/* Compact color chips; the name shows on hover and beside the heading. */
.tm-sage[data-tm-sage="product"] .tm-apparel-swatches{display:flex;flex-wrap:wrap;gap:6px}
.tm-sage[data-tm-sage="product"] .tm-apparel-swatch{padding:3px;border:1px solid #c4c4bc;border-radius:50%;gap:0;background:var(--tm-surface,#fff)}
.tm-sage[data-tm-sage="product"] .tm-apparel-swatch-chip{width:28px;height:28px}
.tm-sage[data-tm-sage="product"] .tm-apparel-swatch[aria-pressed=true]{outline:2px solid var(--tm-red);outline-offset:1px}
.tm-sage[data-tm-sage="product"] .tm-apparel-swatch-name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tm-sage[data-tm-sage="product"] .tm-pricing-options{display:grid;gap:10px}
.tm-sage .tm-inline-check{flex-direction:row!important;align-items:center;gap:8px!important;font-weight:500!important}
.tm-sage .tm-inline-check input{width:18px;min-height:18px;height:18px;padding:0;flex:none;accent-color:var(--tm-red)}
.tm-sage[data-tm-sage="product"] .tm-add-ons{border:0;margin:0;padding:0;min-width:0;display:flex;flex-wrap:wrap;gap:6px 18px}
.tm-sage[data-tm-sage="product"] .tm-add-ons legend{padding:0;margin-bottom:6px;font-size:.9rem;font-weight:600}
.tm-sage[data-tm-sage="product"] .tm-price-breaks button{padding:5px 4px}
.tm-sage[data-tm-sage="product"] .tm-estimate{padding:12px}
.tm-sage[data-tm-sage="product"] .tm-project-options{padding:2px 0}
.tm-sage[data-tm-sage="product"] .tm-configure>.tm-button{min-height:46px}
.tm-sage[data-tm-sage="product"] .tm-product-copy>.tm-text-link{display:inline-block;margin-top:4px}
/* Availability */
.tm-sage[data-tm-sage="product"] .tm-inventory-section{margin-top:16px;padding-top:14px}
.tm-sage[data-tm-sage="product"] .tm-inventory-section h2{font-size:1.3rem;margin:0 0 6px}
.tm-sage[data-tm-sage="product"] .tm-inventory p{margin:0 0 6px}
.tm-sage[data-tm-sage="product"] .tm-inventory .tm-table-scroll{margin:6px 0}
.tm-sage[data-tm-sage="product"] .tm-inventory th,.tm-sage[data-tm-sage="product"] .tm-inventory td{padding:7px 10px}
/* Options, price breaks and art templates under the specifications. */
.tm-sage[data-tm-sage="product"] .tm-product-information{min-width:0;margin-top:18px;border-top:1px solid var(--tm-line);padding-top:14px}
.tm-sage[data-tm-sage="product"] .tm-product-information h2{font-size:1.3rem;margin:14px 0 8px}
.tm-sage[data-tm-sage="product"] .tm-product-information h3{font-size:.95rem;margin:12px 0 4px}
.tm-sage[data-tm-sage="product"] .tm-product-information .tm-option{padding:10px 0}
.tm-sage[data-tm-sage="product"] .tm-list-pricing .tm-table-scroll{margin:4px 0 8px}
.tm-sage table.tm-price-grid{font-size:.82rem;width:auto;min-width:0}
.tm-sage .tm-price-grid th,.tm-sage .tm-price-grid td{padding:6px 10px;white-space:nowrap;text-align:center}
.tm-sage .tm-price-grid th[scope=row]{text-align:left;background:var(--tm-band,var(--tm-ink));color:#fff}
.tm-sage .tm-price-grid thead th[scope=col]{background:var(--tm-soft,#e9e8e2);color:var(--tm-ink)}
.tm-sage[data-tm-sage="product"] .tm-product-specifications h2{font-size:1.3rem}
.tm-sage[data-tm-sage="product"] .tm-specs{margin:8px 0}
.tm-sage[data-tm-sage="product"] .tm-specs dt,.tm-sage[data-tm-sage="product"] .tm-specs dd{padding:8px 0}
@media(max-width:800px){
 .tm-sage[data-tm-sage="product"] .tm-product-layout{grid-template-columns:minmax(0,1fr)}
 .tm-sage[data-tm-sage="product"] .tm-product-layout .tm-product-information{order:5;margin-top:0;min-width:0}
 .tm-sage[data-tm-sage="product"] .tm-configure{padding:14px}
}
/* Stock inside the configurator */
.tm-sage .tm-stock{background:var(--tm-surface,#fff);padding:10px 12px;border-left:3px solid var(--tm-line)}
.tm-sage .tm-stock:has(.is-in){border-left-color:#1e7a3a}.tm-sage .tm-stock:has(.is-out){border-left-color:var(--tm-red)}
.tm-sage .tm-stock-line{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;margin:0;font-size:.9rem}
.tm-sage .tm-stock-line .tm-muted{font-size:.78rem}
.tm-sage .tm-stock-dot{width:9px;height:9px;border-radius:50%;background:#a6a69e;flex:none}
.tm-sage .is-in .tm-stock-dot{background:#1e7a3a}.tm-sage .is-out .tm-stock-dot{background:var(--tm-red)}.tm-sage .is-wait .tm-stock-dot{background:#c9c8c0}
.tm-sage .tm-stock-parts{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0;padding:0}
.tm-sage .tm-stock-parts li{display:flex;gap:6px;font-size:.78rem;background:var(--tm-softer,#f5f4f0);padding:3px 8px}
.tm-sage .tm-stock-parts li.is-out{color:#8a8a82;text-decoration:line-through}
.tm-sage .tm-stock-note{margin:6px 0 0;font-size:.8rem}
.tm-sage[data-tm-sage="product"] .tm-apparel-swatch.is-out{opacity:.45}
.tm-sage[data-tm-sage="product"] .tm-apparel-swatch.is-out .tm-apparel-swatch-chip{background-image:linear-gradient(135deg,transparent 45%,#fff 45%,#fff 55%,transparent 55%)}
.tm-sage table.tm-charge-table{font-size:.85rem}
.tm-sage .tm-charge-table th,.tm-sage .tm-charge-table td{padding:8px 10px}
.tm-sage .tm-charge-table tbody th{background:transparent;color:var(--tm-ink);font-weight:600;font-size:.85rem}

/* 0.9.0: tidier catalog sidebar, color filter and sort. Scoped to data-tm-sage="catalog". */
.tm-sage[data-tm-sage="catalog"] .tm-filter-panel>summary{display:flex;align-items:baseline;gap:4px;list-style:none}
.tm-sage[data-tm-sage="catalog"] .tm-filter-panel>summary::-webkit-details-marker{display:none}
.tm-sage[data-tm-sage="catalog"] .tm-filter-count{font-weight:600;color:var(--tm-red)}
.tm-sage[data-tm-sage="catalog"] .tm-sidebar-form{gap:0;margin-top:16px}
.tm-sage[data-tm-sage="catalog"] .tm-search-box{display:flex;margin-bottom:6px}
.tm-sage[data-tm-sage="catalog"] .tm-search-box input{min-height:42px;padding:9px 11px;border-right:0;font-size:.88rem}
.tm-sage[data-tm-sage="catalog"] .tm-search-go{flex:none;border:1px solid var(--tm-ink);background:var(--tm-band,var(--tm-ink));color:#fff;padding:0 12px;font:inherit;font-size:.8rem;font-weight:700;cursor:pointer}
.tm-sage[data-tm-sage="catalog"] .tm-filter-section{border-top:1px solid var(--tm-line);padding:14px 0 16px}
.tm-sage[data-tm-sage="catalog"] .tm-filter-section h3{margin:0 0 9px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800}
.tm-sage[data-tm-sage="catalog"] .tm-filter-section select{min-height:40px;padding:8px 10px;font-size:.86rem}
.tm-sage[data-tm-sage="catalog"] .tm-color-filter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px}
.tm-sage[data-tm-sage="catalog"] .tm-color-chip{grid-column:auto;display:flex;align-items:center;gap:8px;min-width:0;background:none;border:1px solid transparent;padding:4px 6px 4px 4px;font:inherit;font-size:.82rem;color:var(--tm-ink);text-align:left;cursor:pointer}
.tm-sage[data-tm-sage="catalog"] .tm-color-chip:hover{border-color:var(--tm-line)}
.tm-sage[data-tm-sage="catalog"] .tm-color-chip[aria-pressed="true"]{border-color:var(--tm-ink);font-weight:700}
.tm-sage[data-tm-sage="catalog"] .tm-color-dot{flex:none;width:18px;height:18px;border-radius:50%;border:1px solid rgba(0,0,0,.2)}
.tm-sage[data-tm-sage="catalog"] .tm-color-chip[aria-pressed="true"] .tm-color-dot{box-shadow:0 0 0 2px var(--tm-surface,#fff),0 0 0 3px var(--tm-red)}
.tm-sage[data-tm-sage="catalog"] .tm-clear-filters{align-self:flex-start;background:none;border:0;padding:12px 0 0;font:inherit;font-size:.82rem;font-weight:700;text-decoration:underline;cursor:pointer;color:var(--tm-ink);border-top:1px solid var(--tm-line);width:100%;text-align:left}
.tm-sage[data-tm-sage="catalog"] .tm-results-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.tm-sage[data-tm-sage="catalog"] .tm-result-count{margin:0;font-size:.9rem;font-weight:700}
.tm-sage[data-tm-sage="catalog"] .tm-sort{flex-direction:row;align-items:center;gap:8px;font-size:.84rem;white-space:nowrap}
.tm-sage[data-tm-sage="catalog"] .tm-sort select{width:auto;min-height:38px;padding:6px 10px;font-size:.84rem}
@media(max-width:800px){.tm-sage[data-tm-sage="catalog"] .tm-color-filter{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:480px){.tm-sage[data-tm-sage="catalog"] .tm-color-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.tm-sage[data-tm-sage="catalog"] .tm-sort span{display:none}}
.tm-sage[data-tm-sage="catalog"] .tm-card-color{margin:0 0 4px;font-size:.78rem;color:var(--tm-muted,#555)}
.tm-sage[data-tm-sage="product"] .tm-color-step .tm-apparel-swatches+.tm-apparel-step-head{margin-top:16px}
.tm-sage[data-tm-sage="product"] .tm-method-note{margin:-2px 0 2px;font-size:.8rem;line-height:1.45;color:var(--tm-muted,#555)}
/* 0.23.0: quantity box: quantity, slider and price breaks grouped in one card. */
.tm-sage[data-tm-sage="product"] .tm-quantity-box{display:grid;gap:12px;background:var(--tm-surface,#fff);border:1px solid var(--tm-line);border-top:3px solid var(--tm-red);padding:16px}
.tm-sage[data-tm-sage="product"] .tm-quantity-box>label{flex-direction:row;align-items:center;justify-content:space-between;gap:12px;font-weight:700}
.tm-sage[data-tm-sage="product"] .tm-quantity-box>label input{width:8.5em;min-height:42px;padding:8px 10px;text-align:right;font-size:1.05rem;font-weight:700}
.tm-sage[data-tm-sage="product"] .tm-quantity-box input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent}
.tm-sage[data-tm-sage="product"] .tm-quantity-box input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:linear-gradient(to right,var(--tm-red) var(--fill,0%),var(--tm-track,#e2e1da) var(--fill,0%))}
.tm-sage[data-tm-sage="product"] .tm-quantity-box input[type=range]::-moz-range-track{height:6px;border-radius:3px;background:linear-gradient(to right,var(--tm-red) var(--fill,0%),var(--tm-track,#e2e1da) var(--fill,0%))}
.tm-sage[data-tm-sage="product"] .tm-quantity-box input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;margin-top:-8px;border-radius:50%;background:var(--tm-red);border:3px solid #fff;box-shadow:0 0 0 1px var(--tm-red),0 1px 3px rgba(0,0,0,.25)}
.tm-sage[data-tm-sage="product"] .tm-quantity-box input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--tm-red);border:3px solid #fff;box-shadow:0 0 0 1px var(--tm-red)}
.tm-sage[data-tm-sage="product"] .tm-quantity-box .tm-price-breaks{gap:6px}
.tm-sage[data-tm-sage="product"] .tm-quantity-box .tm-price-breaks button{flex:1 1 70px;padding:8px 6px;background:var(--tm-softer,#f6f5f1);border:1px solid transparent;border-radius:4px;color:var(--tm-muted,#555);font-size:.75rem;line-height:1.3;transition:background .15s,border-color .15s}
.tm-sage[data-tm-sage="product"] .tm-quantity-box .tm-price-breaks button:hover{border-color:#bbb}
.tm-sage[data-tm-sage="product"] .tm-quantity-box .tm-price-breaks small{font-size:.98rem;font-weight:700;color:var(--tm-ink)}
.tm-sage[data-tm-sage="product"] .tm-quantity-box .tm-price-breaks button[aria-pressed=true]{background:var(--tm-surface,#fff);border-color:var(--tm-red);box-shadow:none;color:var(--tm-red)}
.tm-sage[data-tm-sage="product"] .tm-quantity-box .tm-price-breaks button[aria-pressed=true] small{color:var(--tm-red)}
.tm-sage[data-tm-sage="product"] .tm-breaks-note{margin:0;font-size:.75rem;line-height:1.4;color:var(--tm-muted,#555)}
/* 0.23.0: optional logo with a product, and on each cart line. */
.tm-sage[data-tm-sage="product"] .tm-logo-step{display:grid;gap:8px;background:var(--tm-surface,#fff);border:1px dashed #b9b8b0;padding:14px 16px}
.tm-sage[data-tm-sage="product"] .tm-logo-step h3{margin:0;font-size:1rem}
.tm-sage[data-tm-sage="product"] .tm-logo-step .tm-muted{margin:0;font-size:.75rem}
.tm-sage .tm-logo-file input[type=file]{min-height:0;padding:8px;background:var(--tm-surface,#fff);font-size:.85rem;cursor:pointer}
.tm-sage .tm-logo-reuse{font-size:.88rem}
.tm-sage .tm-cart-logo{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:.9rem}
.tm-sage .tm-cart-logo>span{font-weight:700}
.tm-sage .tm-cart-logo .tm-logo-file{flex:1 1 220px}
.tm-sage .tm-link-button{background:none;border:0;padding:0;color:inherit;font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:4px;cursor:pointer}

/* Shop refresh (Catalog 0.24.0 / Apparel 1.2.22). The same block is in both plugins: shop tabs, compact page titles,
   one card design with a Customize & quote button, the phone Filter/Sort row with two cards per row, and the
   "Added to your quote" panel. */
.tm-sage .tm-sage-nav.tm-shop-tabs{justify-content:flex-start;align-items:flex-end;gap:4px 28px;padding-bottom:0}
.tm-sage .tm-shop-tabs a{display:inline-flex;align-items:center;padding:6px 0 12px;margin-bottom:-1px;border-bottom:3px solid transparent;color:var(--tm-ink)}
.tm-sage .tm-shop-tabs a:hover{border-bottom-color:var(--tm-line)}
.tm-sage .tm-shop-tabs a.is-current{border-bottom-color:var(--tm-red)}
.tm-sage .tm-shop-tabs .tm-shop-cart{margin-left:auto}
.tm-sage.tm-shop-compact{padding-top:16px}
.tm-sage .tm-sage-intro.tm-shop-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 22px;max-width:none;padding:22px 0 20px}
.tm-sage .tm-shop-title h1{font-size:clamp(2.2rem,4vw,3.4rem);line-height:1;margin:0}
.tm-sage .tm-shop-title .tm-sage-lede{margin:0;font-size:1rem;line-height:1.5;color:var(--tm-muted,#5b5b54);max-width:560px}
/* Cards */
.tm-sage .tm-catalog-layout .tm-card{transition:box-shadow .18s ease,transform .18s ease}
.tm-sage .tm-catalog-layout .tm-card:hover{box-shadow:0 8px 22px rgba(23,23,23,.12);transform:translateY(-2px)}
.tm-sage .tm-catalog-layout .tm-card-image img{transition:transform .25s ease}
.tm-sage .tm-catalog-layout .tm-card:hover .tm-card-image img{transform:scale(1.04)}
.tm-sage .tm-catalog-layout .tm-card .tm-card-copy{display:flex;flex-direction:column;gap:6px;padding:14px}
.tm-sage .tm-catalog-layout .tm-card-copy .tm-kicker,.tm-sage .tm-catalog-layout .tm-apparel-card-brand{height:auto;margin:0;font-size:.64rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--tm-muted,#65655f)}
.tm-sage .tm-catalog-layout .tm-card h2{font-family:var(--tm-display);font-size:1.3rem;line-height:1.15;min-height:0;margin:0;-webkit-line-clamp:3}
.tm-sage .tm-catalog-layout .tm-card-copy .tm-card-color{margin:0;font-size:.75rem;color:var(--tm-muted,#5b5b54)}
.tm-sage .tm-card-dots{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin:0;font-size:.72rem;color:var(--tm-muted,#5b5b54)}
.tm-sage .tm-card-dots i{display:block;width:12px;height:12px;border-radius:50%;border:1px solid rgba(0,0,0,.2)}
.tm-sage .tm-catalog-layout .tm-card-copy .tm-price,.tm-sage .tm-catalog-layout .tm-apparel-card-msrp{margin:0;padding:0;font-size:.82rem;font-weight:400;color:var(--tm-muted,#5b5b54)}
.tm-sage .tm-catalog-layout .tm-card-copy .tm-price strong,.tm-sage .tm-catalog-layout .tm-apparel-card-msrp strong{font-size:1.15rem;color:var(--tm-ink)}
.tm-sage .tm-card-actions{margin-top:auto;padding-top:8px}
.tm-sage .tm-card-actions .tm-card-button{width:100%;min-height:42px;padding:8px 10px;font-size:.88rem}
/* Outlined until the card is hovered, so a page of cards isn't a wall of red. */
.tm-sage .tm-catalog-layout .tm-card-button{background:var(--tm-surface,#fff);color:var(--tm-ink);border-color:var(--tm-ink)}
.tm-sage .tm-catalog-layout .tm-card:hover .tm-card-button,.tm-sage .tm-catalog-layout .tm-card-button:focus-visible{background:var(--tm-red);border-color:var(--tm-red);color:#fff}
.tm-sage .tm-show-results{display:none}
@media(prefers-reduced-motion:reduce){.tm-sage .tm-catalog-layout .tm-card,.tm-sage .tm-catalog-layout .tm-card-image img{transition:none}.tm-sage .tm-catalog-layout .tm-card:hover,.tm-sage .tm-catalog-layout .tm-card:hover .tm-card-image img{transform:none}}
/* Phones and small tablets: Filter and Sort side by side; the filters open full width with a Show products button. */
@media(max-width:800px){
 .tm-sage[data-tm-sage] .tm-catalog-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"filter sort" "count count" "chips chips" "results results";gap:10px}
 .tm-sage[data-tm-sage] .tm-catalog-layout.tm-filters-open{grid-template-areas:"filter filter" "count sort" "chips chips" "results results"}
 .tm-sage[data-tm-sage] .tm-catalog-layout>.tm-results-column,.tm-sage[data-tm-sage] .tm-catalog-layout .tm-results-toolbar{display:contents}
 .tm-sage[data-tm-sage] .tm-catalog-layout>.tm-filter-sidebar{grid-area:filter;position:static;padding:0;border:0;background:none;max-height:none;overflow:visible}
 .tm-sage[data-tm-sage] .tm-catalog-layout .tm-filter-panel>summary{display:flex;justify-content:center;align-items:center;gap:4px;min-height:44px;padding:0 10px;border:1px solid var(--tm-ink);background:var(--tm-surface,#fff);font-size:.9rem;font-weight:700}
 .tm-sage[data-tm-sage] .tm-catalog-layout .tm-filter-panel[open]>summary{background:var(--tm-band,var(--tm-ink));color:#fff}
 .tm-sage[data-tm-sage] .tm-catalog-layout .tm-filter-panel[open]>summary .tm-filter-count{color:#fff}
 .tm-sage[data-tm-sage] .tm-catalog-layout .tm-filter-panel>.tm-sidebar-form{margin-top:8px;padding:14px;background:var(--tm-surface,#fff);border:1px solid var(--tm-line);border-top:3px solid var(--tm-red)}
 .tm-sage[data-tm-sage] .tm-catalog-layout .tm-show-results{display:flex;width:100%;margin-top:12px}
 .tm-sage[data-tm-sage] .tm-catalog-layout .tm-result-count{grid-area:count;margin:0}
 .tm-sage[data-tm-sage] .tm-catalog-layout .tm-results-toolbar>.tm-sort,.tm-sage[data-tm-sage] .tm-catalog-layout .tm-toolbar-controls{grid-area:sort;display:flex;min-width:0}
 .tm-sage[data-tm-sage] .tm-catalog-layout .tm-sort{flex:1;min-width:0}
 .tm-sage[data-tm-sage] .tm-catalog-layout .tm-sort>span,.tm-sage[data-tm-sage] .tm-catalog-layout .tm-per-page{display:none}
 .tm-sage[data-tm-sage] .tm-catalog-layout .tm-sort select{width:100%;min-height:44px}
 .tm-sage[data-tm-sage] .tm-catalog-layout .tm-active-filters{grid-area:chips}
 .tm-sage[data-tm-sage] .tm-catalog-layout .tm-results{grid-area:results;min-width:0}
}
@media(max-width:480px){
 .tm-sage[data-tm-sage] .tm-catalog-layout .tm-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .tm-sage[data-tm-sage] .tm-catalog-layout .tm-card{display:flex;flex-direction:column}
 .tm-sage[data-tm-sage] .tm-catalog-layout .tm-card-image{aspect-ratio:1/1;padding:0;align-self:stretch}
 .tm-sage[data-tm-sage] .tm-catalog-layout .tm-card-image img{padding:8px}
 .tm-sage[data-tm-sage] .tm-catalog-layout .tm-card .tm-card-copy{padding:9px 9px 10px;gap:4px;border-left:0;border-top:1px solid var(--tm-line)}
 .tm-sage[data-tm-sage] .tm-catalog-layout .tm-card-copy .tm-kicker{display:none}
 .tm-sage[data-tm-sage] .tm-catalog-layout .tm-card h2{font-size:1.05rem}
 .tm-sage[data-tm-sage] .tm-catalog-layout .tm-card-copy .tm-price strong,.tm-sage[data-tm-sage] .tm-catalog-layout .tm-apparel-card-msrp strong{font-size:1rem}
 .tm-sage[data-tm-sage] .tm-card-actions .tm-card-button{min-height:36px;padding:6px 4px;font-size:.74rem}
 .tm-sage .tm-sage-nav.tm-shop-tabs{flex-wrap:nowrap;gap:4px 16px;font-size:.8rem;white-space:nowrap}
 .tm-sage .tm-shop-tabs [data-cart-count]{margin-left:6px}
}
/* "Added to your quote" panel under the Add to quote button. */
.tm-sage .tm-added{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;background:var(--tm-surface,#fff);border:1px solid var(--tm-line);border-left:4px solid #1e7a3a;padding:12px 14px}
.tm-sage .tm-added img{flex:none;width:52px;height:52px;object-fit:contain;border:1px solid var(--tm-line);background:#fff}
.tm-sage .tm-added-text{flex:1 1 180px;margin:0;font-size:.86rem;line-height:1.4}
.tm-sage .tm-added-text strong{display:block;font-size:.95rem}
.tm-sage .tm-added .tm-button{min-height:42px;padding:8px 16px}
.tm-sage .tm-added-keep{font-size:.86rem;font-weight:700;color:var(--tm-ink);text-underline-offset:4px}
/* 0.24.0: filter chips above the promotional products results (like Apparel's). */
.tm-sage[data-tm-sage="catalog"] .tm-active-filters{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0 0 14px}
.tm-sage[data-tm-sage="catalog"] .tm-filter-chip{border:1px solid var(--tm-ink);background:var(--tm-surface,#fff);padding:4px 10px;font:inherit;font-size:.8rem;font-weight:600;color:var(--tm-ink);cursor:pointer}
.tm-sage[data-tm-sage="catalog"] .tm-filter-chip:hover{background:var(--tm-softer,#f3f2ee)}
.tm-sage[data-tm-sage="catalog"] .tm-chip-clear{background:none;border:0;padding:4px 2px;font:inherit;font-size:.8rem;font-weight:700;text-decoration:underline;color:var(--tm-ink);cursor:pointer}
@media(max-width:800px){.tm-sage[data-tm-sage="catalog"] .tm-active-filters{margin:0}}
/* 0.24.0: quote cart items as cards with a photo, summary, and Edit / Remove. */
.tm-sage[data-tm-sage="quote"] .tm-cart-items{display:flex;flex-direction:column;gap:10px;min-width:0}
.tm-sage[data-tm-sage="quote"] .tm-cart-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 16px;border-bottom:2px solid var(--tm-ink);padding-bottom:10px;margin-bottom:4px}
.tm-sage[data-tm-sage="quote"] .tm-cart-head h2{font-size:1.6rem;margin:0}
.tm-sage[data-tm-sage="quote"] .tm-cart-line{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;background:var(--tm-surface,#fff);border:1px solid var(--tm-line);padding:14px}
.tm-sage[data-tm-sage="quote"] .tm-cart-photo{display:block;width:96px;height:96px;border:1px solid var(--tm-line);background:#fff}
.tm-sage[data-tm-sage="quote"] .tm-cart-photo img{display:block;width:100%;height:100%;object-fit:contain;padding:4px}
.tm-sage[data-tm-sage="quote"] .tm-cart-nophoto{display:block;width:100%;height:100%;background:repeating-linear-gradient(45deg,#f3f2ee 0 6px,#fff 6px 12px)}
.tm-sage[data-tm-sage="quote"] .tm-cart-body{display:flex;flex-direction:column;gap:6px;min-width:0}
.tm-sage[data-tm-sage="quote"] .tm-cart-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.tm-sage[data-tm-sage="quote"] .tm-cart-top h3{font-family:var(--tm-display);font-size:1.35rem;line-height:1.15;margin:0;min-width:0;overflow-wrap:anywhere}
.tm-sage[data-tm-sage="quote"] .tm-cart-top h3 a{text-decoration:none}
.tm-sage[data-tm-sage="quote"] .tm-cart-qty{flex:none;font-weight:700;font-variant-numeric:tabular-nums}
.tm-sage[data-tm-sage="quote"] .tm-cart-meta{display:flex;flex-wrap:wrap;gap:2px 16px;margin:0;font-size:.84rem;color:var(--tm-muted,#5b5b54)}
.tm-sage[data-tm-sage="quote"] .tm-cart-sizes{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 0}
.tm-sage[data-tm-sage="quote"] .tm-cart-sizes span{border:1px solid var(--tm-line);background:var(--tm-paper);padding:2px 8px;font-size:.78rem;font-variant-numeric:tabular-nums}
.tm-sage[data-tm-sage="quote"] .tm-cart-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:4px;font-size:.86rem}
.tm-sage[data-tm-sage="quote"] .tm-cart-logo{grid-column:auto;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:.86rem}
.tm-sage[data-tm-sage="quote"] .tm-cart-logo-name{font-weight:400}
.tm-sage .tm-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0!important}
.tm-sage[data-tm-sage="quote"] .tm-logo-add{position:relative;display:inline-flex!important;flex-direction:row!important;align-items:center;gap:5px!important;border:1px dashed #9a9990;background:var(--tm-surface,#fff);padding:5px 12px;font-size:.84rem!important;font-weight:700!important;cursor:pointer}
.tm-sage[data-tm-sage="quote"] .tm-logo-add:hover{border-color:var(--tm-ink)}
.tm-sage[data-tm-sage="quote"] .tm-logo-add:focus-within{outline:3px solid #245bc5;outline-offset:3px}
.tm-sage[data-tm-sage="quote"] .tm-cart-edit{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin-top:8px;padding-top:12px;border-top:1px solid var(--tm-line)}
.tm-sage[data-tm-sage="quote"] .tm-cart-edit label:has(textarea),.tm-sage[data-tm-sage="quote"] .tm-cart-edit .tm-cart-note{grid-column:1/-1}
.tm-sage[data-tm-sage="quote"] .tm-cart-note{margin:0;font-size:.78rem}
.tm-sage[data-tm-sage="quote"] .tm-quote-form h2{font-size:1.9rem;margin:0}
@media(min-width:801px) and (min-height:980px){.tm-sage[data-tm-sage="quote"] .tm-quote-form{position:sticky;top:24px}}
@media(max-width:480px){.tm-sage[data-tm-sage="quote"] .tm-cart-line{grid-template-columns:64px minmax(0,1fr);gap:12px;padding:12px}.tm-sage[data-tm-sage="quote"] .tm-cart-photo{width:64px;height:64px}.tm-sage[data-tm-sage="quote"] .tm-cart-top{flex-direction:column;gap:2px}}

/* Catalog: "Popular" tag on cards (mixed default order). */
.tm-sage[data-tm-sage="catalog"] .tm-card-badge{position:absolute;top:10px;left:10px;z-index:1;background:var(--tm-red);color:#fff;font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;line-height:1.3}

/* Dark mode (follows the visitor's device setting): white text, the same Townsend red, photos stay on white. */
@media(prefers-color-scheme:dark){.tm-sage{color-scheme:dark;--tm-ink:#fff;--tm-paper:#141414;--tm-line:#3a3a37;--tm-surface:#1c1c1c;--tm-soft:#232322;--tm-softer:#262625;--tm-muted:#bdbdb5;--tm-band:#000;--tm-tint:#3a1a20;--tm-track:#4a4a46}
.tm-sage .tm-catalog-layout .tm-card:hover{box-shadow:0 8px 22px rgba(0,0,0,.5)}
.tm-sage .tm-color-dot,.tm-sage .tm-card-dots i{border-color:rgba(255,255,255,.4)}}
/* 0.25.0 line (review): estimate on cart cards, photos following the color, formatted descriptions. */
.tm-sage[data-tm-sage="quote"] .tm-cart-estimate{margin:0;font-size:.9rem;font-weight:600}
.tm-sage[data-tm-sage="product"] .tm-product-description p{margin:0 0 12px}
.tm-sage[data-tm-sage="product"] .tm-product-description ul{margin:0 0 12px;padding-left:1.2em}
.tm-sage[data-tm-sage="product"] .tm-product-description li{margin:2px 0}
.tm-sage[data-tm-sage="product"] .tm-product-features{font-size:.95rem;line-height:1.5;margin:-4px 0 16px;padding-left:1.2em}.tm-sage[data-tm-sage="product"] .tm-product-features li{margin:2px 0}

/* One search box for both catalogs, in the title row of the promotional products and apparel pages (Catalog 0.28.0 / Apparel 1.2.28). */
.tm-sage .tm-sage-intro.tm-shop-title{justify-content:space-between;align-items:flex-end}
.tm-sage .tm-shop-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 22px;flex:1 1 420px;min-width:0}
.tm-sage .tm-shop-search{display:flex;flex:0 1 440px;min-width:260px;margin:0}
.tm-sage .tm-shop-search input{min-height:46px;border-right:0;background:var(--tm-surface,#fff)}
.tm-sage .tm-shop-search .tm-button{min-height:46px;padding:10px 20px;flex:none}
@media(max-width:800px){.tm-sage .tm-shop-search{flex:1 1 100%;min-width:0}}
/* Results of the search across both catalogs: one section per catalog with its best four and a See all link. */
.tm-sage[data-tm-sage] .tm-catalog-layout.tm-shop-results{display:block}
.tm-sage .tm-shop-section{margin:0 0 36px}
.tm-sage .tm-shop-section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 16px;border-bottom:2px solid var(--tm-ink);padding-bottom:10px;margin-bottom:16px}
.tm-sage .tm-shop-section-head h2{font-size:1.9rem;margin:0}
.tm-sage .tm-shop-section-head h2 span{font-family:inherit;font-size:.95rem;font-weight:600;letter-spacing:0;color:var(--tm-muted,#5b5b54);margin-left:4px}
.tm-sage .tm-shop-see-all{font-weight:700;text-underline-offset:4px}
.tm-sage .tm-shop-none{margin:0;padding:18px 20px;background:var(--tm-soft,#e9e8e2)}
.tm-sage .tm-understood{margin:0 0 14px;font-size:.95rem;color:var(--tm-muted,#5b5b54)}
.tm-sage .tm-understood strong{color:inherit;font-weight:700}
.tm-sage .tm-shop-browse-links{display:flex;flex-wrap:wrap;gap:10px}
.tm-sage[data-tm-sage] .tm-shop-results .tm-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.tm-sage .tm-shop-results .tm-card{position:relative}
.tm-sage .tm-shop-results .tm-new-badge{position:absolute;top:10px;left:10px;z-index:1;background:var(--tm-red);color:#fff;font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1.3;padding:4px 8px}
@media(max-width:900px){.tm-sage[data-tm-sage] .tm-shop-results .tm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tm-sage .tm-shop-section-head h2{font-size:1.5rem}}
@media(max-width:480px){.tm-sage[data-tm-sage] .tm-shop-results .tm-grid{gap:10px}}

/* Inside the Townsend Quote Desk (0.38.0): the catalog without the site's header and footer. */
.tm-desk-mode .topline,.tm-desk-mode .site-header,.tm-desk-mode .site-footer,.tm-desk-mode .skip,.tm-desk-mode #wpadminbar{display:none!important}
html:has(body.tm-desk-mode){margin-top:0!important}
.tm-desk-mode .tm-shop-tabs,.tm-desk-mode .generic-content>h1{display:none!important}
.tm-desk-mode .generic-content{padding-top:16px}
/* 0.44.0 sidebar: category list, quantity, price, color counts, More filters (Tyler approved the mockup). */
.tm-sage[data-tm-sage="catalog"] .tm-cat-list{display:flex;flex-direction:column;gap:1px}
.tm-sage[data-tm-sage="catalog"] .tm-cat{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;width:100%;background:none;border:0;padding:4px 0;font:inherit;font-size:.86rem;color:var(--tm-ink);text-align:left;cursor:pointer}
.tm-sage[data-tm-sage="catalog"] .tm-cat:hover>span:first-child{text-decoration:underline}
.tm-sage[data-tm-sage="catalog"] .tm-cat:focus-visible{outline:2px solid var(--tm-red);outline-offset:2px}
.tm-sage[data-tm-sage="catalog"] .tm-cat.is-on{font-weight:800}
.tm-sage[data-tm-sage="catalog"] .tm-cat-types{display:flex;flex-direction:column;gap:1px;margin:2px 0 6px 2px;padding-left:10px;border-left:2px solid var(--tm-red)}
.tm-sage[data-tm-sage="catalog"] .tm-facet-list{display:flex;flex-direction:column;gap:1px}
.tm-sage[data-tm-sage="catalog"] .tm-facet-option{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px!important;font-size:.84rem!important;font-weight:400!important;padding:3px 0;margin:0;cursor:pointer}
.tm-sage[data-tm-sage="catalog"] .tm-facet-option input{width:16px;height:16px;min-height:16px;margin:0;padding:0;accent-color:var(--tm-red)}
.tm-sage[data-tm-sage="catalog"] .tm-facet-option.is-empty{opacity:.5}
.tm-sage[data-tm-sage="catalog"] .tm-facet-name{min-width:0;overflow-wrap:anywhere}
.tm-sage[data-tm-sage="catalog"] .tm-facet-n{font-size:.74rem;font-weight:400;color:var(--tm-muted,#6b6b64);font-variant-numeric:tabular-nums}
.tm-sage[data-tm-sage="catalog"] .tm-qty{display:flex;align-items:center;gap:8px}
.tm-sage[data-tm-sage="catalog"] .tm-qty input{flex:1;min-width:0;min-height:40px;padding:8px 10px;font-size:.9rem}
.tm-sage[data-tm-sage="catalog"] .tm-qty span{font-size:.84rem;color:var(--tm-muted,#555)}
.tm-sage[data-tm-sage="catalog"] .tm-qty-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.tm-sage[data-tm-sage="catalog"] .tm-qty-chip{border:1px solid var(--tm-line);background:var(--tm-surface,#fff);color:var(--tm-ink);font:inherit;font-size:.8rem;padding:4px 10px;cursor:pointer}
.tm-sage[data-tm-sage="catalog"] .tm-qty-chip[aria-pressed="true"]{background:var(--tm-band,var(--tm-ink));border-color:var(--tm-band,var(--tm-ink));color:#fff;font-weight:700}
.tm-sage[data-tm-sage="catalog"] .tm-filter-note{margin:8px 0 0;font-size:.76rem;line-height:1.45;color:var(--tm-muted,#555)}
.tm-sage[data-tm-sage="catalog"] .tm-show-all{background:none;border:0;padding:6px 0 0;font:inherit;font-size:.8rem;text-decoration:underline;color:var(--tm-ink);cursor:pointer}
.tm-sage[data-tm-sage="catalog"] .tm-color-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tm-sage[data-tm-sage="catalog"] .tm-color-chip .tm-facet-n{margin-left:auto;padding-left:4px}
.tm-sage[data-tm-sage="catalog"] .tm-more-filters>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:.86rem;font-weight:800}
.tm-sage[data-tm-sage="catalog"] .tm-more-filters>summary::-webkit-details-marker{display:none}
.tm-sage[data-tm-sage="catalog"] .tm-more-filters>summary::after{content:"+";font-weight:400;font-size:1.1rem}
.tm-sage[data-tm-sage="catalog"] .tm-more-filters[open]>summary::after{content:"−"}
.tm-sage[data-tm-sage="catalog"] .tm-more-body{margin-top:6px}
.tm-sage[data-tm-sage="catalog"] .tm-more-body>.tm-filter-section:first-child{border-top:0;padding-top:8px}
.tm-sage[data-tm-sage="catalog"] .tm-more-body>.tm-filter-section:last-child{padding-bottom:0}
.tm-sage[data-tm-sage="catalog"] .tm-color-filter .tm-color-chip{gap:6px;padding:3px 4px 3px 2px}
.tm-sage[data-tm-sage="catalog"] .tm-color-filter .tm-color-dot{width:16px;height:16px}
.tm-sage[data-tm-sage="catalog"] .tm-color-chip .tm-facet-n{font-size:.68rem;padding-left:2px}
.tm-sage[data-tm-sage="catalog"] .tm-color-name{white-space:normal;overflow:visible}
/* Logo preview (Catalog 0.51.0 / Apparel 1.2.44): the shopper's logo over the product photo and on cart photos. */
.tm-sage .tm-logo-layer{position:absolute;z-index:2;overflow:hidden;pointer-events:none}
.tm-sage .tm-logo-layer img.tm-logo-on{position:absolute;inset:auto;width:30%;height:auto;max-width:none;max-height:none;padding:0;border:0;object-fit:fill;transform:translate(-50%,-50%);pointer-events:auto;cursor:grab;touch-action:none;user-select:none;-webkit-user-drag:none;visibility:visible}
.tm-sage .tm-logo-layer.is-still img.tm-logo-on{pointer-events:none;cursor:default}
.tm-sage .tm-logo-layer img.tm-logo-on:hover,.tm-sage .tm-logo-layer img.tm-logo-on.is-dragging{outline:2px dashed var(--tm-red);outline-offset:2px}
.tm-sage .tm-logo-layer img.tm-logo-on.is-dragging{cursor:grabbing}
.tm-sage .tm-logo-tools{grid-column:1/-1;display:grid;gap:4px;background:var(--tm-surface,#fff);border:1px solid var(--tm-line);padding:10px 14px}
.tm-sage .tm-logo-tools-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;font-size:.9rem}
.tm-sage .tm-logo-size{flex:1 1 160px;flex-direction:row;align-items:center;gap:10px;font-weight:400}
.tm-sage .tm-logo-size input{padding:0;min-height:28px;border:0;background:none;accent-color:var(--tm-red)}
.tm-sage .tm-logo-tools p{margin:0;font-size:.78rem}
.tm-sage .tm-logo-note{margin:0}
.tm-sage[data-tm-sage="quote"] .tm-cart-photo{position:relative;overflow:hidden}
/* 0.53.0: imprint location and colors, save-more hint, in-hands date check, pickup or shipping, the sent request */
.tm-sage[data-tm-sage="product"] .tm-imprint-step{display:grid;gap:8px}
.tm-sage[data-tm-sage="product"] .tm-imprint-choices{display:flex;flex-wrap:wrap;gap:6px}
.tm-sage[data-tm-sage="product"] .tm-imprint-choice{padding:8px 14px;min-height:40px;background:var(--tm-surface,#fff);border:1px solid var(--tm-line);border-radius:999px;color:var(--tm-ink);font:inherit;font-size:.85rem;cursor:pointer}
.tm-sage[data-tm-sage="product"] .tm-imprint-choice:hover{border-color:#999}
.tm-sage[data-tm-sage="product"] .tm-imprint-choice[aria-checked=true]{border-color:var(--tm-red);box-shadow:inset 0 0 0 1px var(--tm-red);font-weight:700}
.tm-sage[data-tm-sage="product"] .tm-ink-step select{max-width:220px}
.tm-sage[data-tm-sage="product"] .tm-ink-note{font-weight:400}
.tm-sage[data-tm-sage="product"] .tm-save-more{margin:-6px 0 0;padding:10px 14px;background:var(--tm-surface,#fff);border-left:3px solid var(--tm-red);font-size:.88rem}
.tm-sage[data-tm-sage="quote"] .tm-date-note{margin:-8px 0 0;padding:10px 14px;background:var(--tm-surface,#fff);border-left:3px solid var(--tm-red);font-size:.88rem;line-height:1.45}
.tm-sage[data-tm-sage="quote"] .tm-delivery{border:0;margin:0;padding:0;min-width:0;display:grid;gap:10px}
.tm-sage[data-tm-sage="quote"] .tm-delivery legend{padding:0;margin-bottom:8px;font-size:.9rem;font-weight:600}
.tm-sage[data-tm-sage="quote"] .tm-delivery .tm-inline-check input{width:20px;height:20px;min-height:20px}
.tm-sage[data-tm-sage="quote"] .tm-delivery label:not(.tm-inline-check){max-width:220px}
.tm-sage[data-tm-sage="confirmation"] .tm-sent{max-width:860px}
.tm-sage .tm-sent-items{list-style:none;margin:22px 0;padding:0;display:grid;gap:10px}
.tm-sage .tm-sent-items li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:14px;align-items:center;background:var(--tm-surface,#fff);padding:10px 14px}
.tm-sage .tm-sent-items img,.tm-sage .tm-sent-items .tm-cart-nophoto{width:56px;height:56px;object-fit:contain;background:#fff}
.tm-sage .tm-sent-items div{display:grid;gap:2px;min-width:0;font-size:.9rem}
.tm-sage .tm-sent-facts{display:grid;grid-template-columns:max-content 1fr;gap:6px 18px;margin:0 0 22px;font-size:.95rem}
.tm-sage .tm-sent-facts dt{font-weight:700}.tm-sage .tm-sent-facts dd{margin:0}
.tm-sage .tm-sent h3{font-family:var(--tm-display);font-size:1.6rem;margin:26px 0 10px}
.tm-sage .tm-next-steps{margin:0 0 22px;padding-left:22px;display:grid;gap:8px;max-width:620px}

/* Site sweep: iPhones zoom the page into any form field under 16px; keep fields at 16px on touch screens. */
@media (pointer:coarse){.tm-sage input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),.tm-sage select,.tm-sage textarea{font-size:max(16px,1em)}}
/* 0.75.0: smallest order and production time on promo cards */
.tm-card-facts{display:flex;flex-wrap:wrap;gap:6px;margin:-8px 0 16px;font-size:.72rem;line-height:1.3}.tm-card-facts span{background:var(--tm-soft,#e9e8e2);padding:3px 8px;white-space:nowrap}.tm-card-facts .is-quick{color:var(--tm-quick,#1b6136);font-weight:600}
@media(prefers-color-scheme:dark){.tm-sage{--tm-quick:#7fd89c}}
/* Shop by shortcuts (0.87.0): one row of buttons above the catalog; on phones a single row you swipe. */
.tm-sage[data-tm-sage="catalog"] .tm-shop-by{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.tm-sage[data-tm-sage="catalog"] .tm-shop-btn{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:6px 14px;border:1px solid var(--tm-line);background:var(--tm-surface,#fff);color:var(--tm-ink);font:inherit;font-size:.88rem;font-weight:700;cursor:pointer;white-space:nowrap}
.tm-sage[data-tm-sage="catalog"] .tm-shop-btn:hover{border-color:var(--tm-ink)}
.tm-sage[data-tm-sage="catalog"] .tm-shop-btn .tm-facet-n{font-weight:500;font-size:.78rem;color:var(--tm-muted,#5b5b54)}
.tm-sage[data-tm-sage="catalog"] .tm-shop-btn[aria-pressed="true"]{background:var(--tm-band,var(--tm-ink));border-color:var(--tm-band,var(--tm-ink));color:#fff;box-shadow:inset 0 -3px 0 var(--tm-red)}
.tm-sage[data-tm-sage="catalog"] .tm-shop-btn[aria-pressed="true"] .tm-facet-n{color:#fff}
@media(max-width:800px){.tm-sage[data-tm-sage="catalog"] .tm-shop-by{flex-wrap:nowrap;overflow-x:auto;margin:0 -16px 12px;padding:0 16px 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tm-sage[data-tm-sage="catalog"] .tm-shop-by::-webkit-scrollbar{display:none}.tm-sage[data-tm-sage="catalog"] .tm-shop-btn{flex:none;min-height:44px}}
/* 0.88.0: a search that finds nothing here shows the other catalog's matches, under a short note. */
.tm-sage .tm-instead-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 16px;border-bottom:2px solid var(--tm-ink);padding-bottom:10px;margin-bottom:16px}
.tm-sage .tm-instead-head p{margin:0;font-weight:600}
.tm-sage .tm-instead-head a{font-weight:700;text-underline-offset:4px}
