:root{
  --navy:#0e2a47;--navy-deep:#0a2038;--navy-line:#1d3f63;
  --ink:#222222;--slate:#666666;--steel:#2e6da4;
  --amber:#ffb400;--amber-deep:#e69f00;--amber-tint:#fff7e2;
  --bg:#ffffff;--card:#ffffff;--line:#cccccc;--line2:#dddddd;--wash:#f2f2f2;
  --green:#1e7a3c;
}
*{margin:0;padding:0;box-sizing:border-box}
/* theme injects block-gap margins on top-level blocks -> white seams between bands; kill hard */
.entry-content>*,.wp-block-post-content>*{margin-top:0!important;margin-bottom:0!important;margin-block-start:0!important;margin-block-end:0!important}
[id]{scroll-margin-top:14px}
html{overflow-x:hidden}
body{font-family:Arial,Helvetica,sans-serif;font-size:13px;line-height:1.45;color:var(--ink);background:var(--bg)}
img,svg{max-width:100%;display:block}
a{color:var(--steel);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1240px;margin:0 auto;padding:0 16px}
h1,h2,h3,h4{font-family:Arial,Helvetica,sans-serif;font-weight:bold;line-height:1.25;color:var(--navy);letter-spacing:normal}
h1{font-size:22px}
h2{font-size:18px}
h3{font-size:15px}
h4{font-size:13px}
p{margin:0}

/* buttons - two-button grammar, square, no shadow, no motion */
.btn{display:inline-block;font-family:Arial,Helvetica,sans-serif;font-size:13px;font-weight:bold;line-height:1.2;padding:8px 16px;border:1px solid transparent;cursor:pointer;text-align:center;white-space:nowrap}
.btn:hover{text-decoration:none}
.btn-amber{background:var(--amber);color:var(--navy);border-color:var(--amber-deep)}
.btn-amber:hover{background:var(--amber-deep)}
.btn-navy{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn-navy:hover{background:var(--navy-deep)}
.btn-ghost{background:#fff;color:var(--navy);border-color:var(--line)}
.btn-ghost:hover{background:var(--wash)}

/* ---------- utility bar (thin, plain) ---------- */
.utility{background:var(--navy-deep);color:#c3d0de;font-size:12px}
.utility .wrap{display:flex;justify-content:space-between;align-items:center;min-height:28px;gap:12px}
.utility span{white-space:nowrap}
.utility strong{color:#fff;font-weight:bold}
.utility a.ulink{color:#c3d0de;white-space:nowrap}
.utility a.ulink:hover{color:#fff;text-decoration:underline}
.utility .dot{display:none}
.utility .ut-short{display:none}

/* ---------- header band (navy, <=88px) ---------- */
.uhead{background:var(--navy);color:#fff}
.uhead .wrap{display:flex;align-items:center;gap:18px;padding:10px 16px}
.logo{display:flex;align-items:center;gap:9px;color:#fff;flex:none}
.logo:hover{text-decoration:none}
.logo-mark{width:38px;height:38px;flex:none}
.logo-word{font-family:Arial,Helvetica,sans-serif;font-weight:bold;font-size:18px;letter-spacing:normal;color:#fff;white-space:nowrap}

/* search */
.usearch{flex:1;min-width:0;position:relative;max-width:700px}
.usearch .field{display:flex;border:2px solid var(--amber);background:#fff}
.usearch input{flex:1;border:none;outline:none;padding:10px 13px;font-family:Arial,Helvetica,sans-serif;font-size:14px;color:var(--ink);background:transparent;min-width:0}
.usearch button{border:none;background:var(--amber);padding:0;cursor:pointer}
.usearch button .go{display:inline-block;background:var(--amber);color:var(--navy);font-weight:bold;font-size:13px;text-transform:uppercase;letter-spacing:.02em;padding:11px 20px;line-height:1}
.usearch button:hover .go{background:var(--amber-deep)}
/* plain-text autosuggest */
.uac{position:absolute;left:0;right:0;top:100%;background:#fff;border:1px solid #333;z-index:80;display:none;max-height:340px;overflow:auto}
.uac.open{display:block}
.uac .ai{display:block;padding:6px 11px;font-size:13px;font-weight:bold;color:#333;cursor:pointer;border:none;background:#fff;width:100%;text-align:left;font-family:Arial,Helvetica,sans-serif}
.uac .ai:nth-child(even){background:#f6f7f8}
.uac .ai:hover,.uac .ai.hl{background:var(--wash);color:var(--navy)}
.uac .ai small{color:var(--slate);font-weight:normal;margin-left:6px}
/* transient search states (match the .ai look; muted + non-clickable) */
.uac .ai.searching{font-weight:normal;font-style:italic;color:var(--slate);cursor:default;background:#fff}
.uac .ai.searching:hover{background:#fff;color:var(--slate)}
.uac .ai.nomatch{font-weight:normal;color:var(--slate);cursor:default;background:#fff;line-height:1.5}
.uac .ai.nomatch:hover{background:#fff;color:var(--slate)}
.uac .nomatch .nm-try{display:block;margin-top:4px;font-size:12px;color:var(--slate)}
.uac .nomatch .nm-try a{color:var(--navy);font-weight:bold;text-decoration:underline}
.uac .nomatch .nm-desc{display:inline-block;margin-top:6px;font-size:12px;color:var(--navy);font-weight:bold;text-decoration:underline}
/* "See all N results" action row: bold, amber-tinted, visually distinct from the product rows; always first */
.uac .ai-all{display:block;padding:9px 11px;font-size:12.5px;font-weight:bold;color:var(--navy);background:var(--amber-tint);border-bottom:1px solid var(--line2);cursor:pointer;font-family:Arial,Helvetica,sans-serif;text-align:left;text-decoration:none}
.uac .ai-all:hover,.uac .ai-all:focus{background:var(--amber);color:var(--navy);text-decoration:none}

/* account / cart / order cluster */
.ucluster{flex:none;display:flex;align-items:center;gap:16px}
.ucluster a{display:flex;align-items:center;gap:7px;color:#fff;font-size:12px}
.ucluster a:hover{text-decoration:none;color:var(--amber)}
.ucluster a small{display:block;font-size:10px;text-transform:uppercase;color:#9fb4c9;letter-spacing:normal}
.ucluster a span{font-weight:bold;line-height:1.15}
.ucluster svg{flex:none}
.ucluster .cartlink{position:relative}
.ucluster .cartcount{background:var(--amber);color:var(--navy);font-weight:bold;font-size:11px;min-width:18px;height:18px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;line-height:1}

/* ---------- nav bar (navy, <=40px) ---------- */
.unav{background:var(--navy);border-top:1px solid var(--navy-line);border-bottom:3px solid var(--amber)}
.unav .wrap{display:flex;align-items:stretch;gap:0;padding:0 16px;flex-wrap:wrap}
.unav a{font-family:Arial,Helvetica,sans-serif;font-weight:bold;font-size:12px;letter-spacing:.02em;text-transform:uppercase;color:#fff;padding:11px 16px;border-right:1px solid var(--navy-line)}
.unav a:first-child{border-left:1px solid var(--navy-line)}
.unav a:hover{color:#fff;background:var(--navy-deep);text-decoration:none}
.unav a.active{box-shadow:inset 0 -3px 0 var(--amber)}

/* ---------- preview notice (temporary; delete with its markup) ---------- */
.previewnote{background:var(--wash);border-bottom:1px solid var(--line2)}
.previewnote .wrap{padding:5px 16px;font-size:11px;color:var(--slate);line-height:1.4}

/* ---------- thin promise line under nav ---------- */
.subpromo{background:var(--wash);border-bottom:1px solid var(--line)}
.subpromo .wrap{padding:6px 16px;font-size:12px;color:#555;line-height:1.4}

/* ---------- compact catalog promo area (<=320px) ---------- */
.promo{background:#fff;border-bottom:1px solid var(--line)}
.promo .wrap{padding:16px}
.promo-grid{display:grid;grid-template-columns:1fr 300px;gap:14px;align-items:stretch}
.promo-main{border:1px solid var(--line);background:#fff;padding:20px 22px;display:flex;flex-direction:column;justify-content:center}
.promo-main h1,.promo-main h2{font-size:22px;color:var(--navy);margin-bottom:8px;max-width:640px}
.sec-head h1{font-size:22px}
.promo-main p{font-size:13px;color:#444;margin-bottom:14px;max-width:600px;line-height:1.5}
.promo-main .btn{align-self:flex-start}
.promo-side{display:grid;grid-template-rows:1fr 1fr;gap:14px}
.promo-card{border:1px solid var(--line);background:#fff;padding:12px 14px;display:block;color:var(--ink)}
.promo-card:hover{border-color:#999;text-decoration:none}
.promo-card b{display:block;font-size:13px;color:var(--navy);margin-bottom:3px}
.promo-card span{display:block;font-size:12px;color:var(--slate);line-height:1.4}

/* ---------- sections ---------- */
section{padding:28px 0}
.sec-head{margin-bottom:14px}
.sec-head h2{color:var(--navy)}
.sec-head p{color:var(--slate);font-size:13px;margin-top:4px;max-width:680px}

/* ---------- category tile grid ---------- */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.tile{border:1px solid var(--line);background:#fff;display:block;color:var(--ink)}
.tile:hover{border-color:#999;text-decoration:none}
.tile .ph{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:#f4f4f4;color:#999;font-size:11px;border-bottom:1px solid #e6e6e6;background-size:cover;background-position:center;text-align:center}
.tile .ph.has-img{color:transparent}
.tile .tname{display:block;font-size:13px;font-weight:bold;color:var(--navy);padding:9px 12px 2px}
.tile .cnt{display:block;font-size:12px;color:var(--slate);padding:0 12px 6px}
.tile .view{display:block;font-size:12px;color:var(--steel);padding:0 12px 11px}
.tile:hover .view{text-decoration:underline}
.tiles-note{margin-top:10px;font-size:12px;color:var(--slate)}

/* ---------- breadcrumb + category page head ---------- */
.ucrumb{background:#fff;border-bottom:1px solid var(--line)}
.ucrumb .wrap{padding:8px 16px;font-size:12px;color:var(--slate)}
.ucrumb a{color:var(--steel)}
.ucrumb b{color:var(--ink);font-weight:bold}
.acctperks{background:var(--wash);border:1px solid var(--line2);padding:14px 16px;margin:12px 0 18px;max-width:720px}
.acctperks b{color:var(--navy);font-size:13px;display:block;margin-bottom:8px;letter-spacing:.01em}
.acctperks ul{list-style:none;margin:0;padding:0}
.acctperks li{font-size:13px;color:var(--ink);padding:3px 0 3px 22px;position:relative;line-height:1.45}
.acctperks li:before{content:'\2713';position:absolute;left:2px;color:var(--green);font-weight:bold}
.acctperks .ap-free{display:block;margin-top:9px;font-size:12px;color:var(--slate)}
/* reset-password form: kill Woo's two-column float so fields stack in one tidy centered column */
.wooarea form.woocommerce-ResetPassword .form-row,
.wooarea form.woocommerce-ResetPassword p{float:none!important;width:100%!important;clear:both;margin-left:0;margin-right:0}
.wooarea form.woocommerce-ResetPassword input[type=password],
.wooarea form.woocommerce-ResetPassword input[type=text]{width:100%}
.wooarea form.woocommerce-ResetPassword button[type=submit]{min-width:170px;margin-top:6px}
.centerhead{text-align:center}
.centerhead h1{border-left:none!important;padding-left:0!important;display:inline-block;border-bottom:3px solid var(--amber);padding-bottom:6px}
.centerhead p{margin-left:auto;margin-right:auto}
.acctperks.centerperks{margin-left:auto;margin-right:auto}
.centerperks b{text-align:center}
.pw-note{border:1px solid var(--line2);border-left:4px solid var(--steel);background:var(--wash);padding:10px 12px;font-size:12.5px;line-height:1.5;margin:10px 0 14px;color:var(--ink)}
.pw-note.warn{border-left-color:#b8860b;background:#fff7e2}
.pw-note.ok{border-left-color:var(--green);background:#eef7f0}
.wooarea .woocommerce-error,.wooarea .woocommerce-message,.wooarea .woocommerce-info{border:1px solid var(--line2);border-left:4px solid #b3261e;background:#fff;padding:12px 14px;font-size:13px;line-height:1.5;margin:0 0 16px;list-style:none;color:var(--ink)}
.wooarea .woocommerce-message{border-left-color:var(--green)}
.wooarea .woocommerce-info{border-left-color:var(--steel)}
.catpage-head{padding:18px 0 4px}
.catpage-head h1{font-size:22px;color:var(--navy)}
.catpage-head p{color:var(--slate);font-size:13px;margin-top:5px;max-width:720px;line-height:1.5}
.catpage-head p.catship{color:var(--navy);background:var(--wash);border-left:3px solid var(--amber);padding:7px 11px;border-radius:0 5px 5px 0;font-size:12.5px;display:inline-block;margin-top:9px}
.catpage-head p.catreassure{font-size:12.5px;color:var(--green);font-weight:bold;margin-top:4px}
/* ---------- /search/ results page ---------- */
/* the search head + box + status center as one column; the results grid below stays full-width */
.search-head{text-align:center}
.search-head h1{border-left:none;padding-left:0;display:inline-block;border-bottom:4px solid var(--amber);padding-bottom:6px}
.search-head p{margin-left:auto;margin-right:auto}
.usearch-page{margin:4px auto 16px;max-width:700px}
.searchstatus{font-size:13px;color:var(--slate);margin:2px 0 14px;min-height:18px;text-align:center}
.searchnomatch{border:1px solid var(--line2);background:var(--wash);border-left:3px solid var(--amber);padding:16px 18px;max-width:640px;margin:0 auto}
.searchnomatch .snm-lead{font-size:14px;color:var(--ink);margin:0 0 8px}
.searchnomatch .snm-try{font-size:13px;color:var(--slate);margin:0 0 8px}
.searchnomatch .snm-try a{color:var(--navy);font-weight:bold;text-decoration:underline}
.searchnomatch .snm-desc{font-size:13px;margin:0}
.searchnomatch .snm-desc a{color:var(--navy);font-weight:bold;text-decoration:underline}
/* server-rendered product fallback (replaced by interactive cards once shared.js runs; visible to crawlers and no-JS) */
.catmount-ssr{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:14px;margin-top:4px}
.catmount-ssr .ssr-prod{display:flex;flex-direction:column;border:1px solid var(--line2);border-radius:8px;padding:12px 12px 14px;text-decoration:none;color:var(--navy);background:#fff}
.catmount-ssr .ssr-prod:hover{border-color:var(--steel)}
.catmount-ssr .ssr-prod img{width:100%;height:150px;object-fit:contain;background:#fff}
.catmount-ssr .ssr-name{font-weight:bold;font-size:13px;line-height:1.35;margin-top:10px}
.catmount-ssr .ssr-sku{font-size:11px;color:var(--slate);margin-top:3px}
.catmount-ssr .ssr-price{font-weight:bold;font-size:14px;color:var(--navy);margin-top:6px}
.catmount-ssr .ssr-price small{font-weight:normal;font-size:11px;color:var(--slate)}
/* ---------- interactive category CARDS (.catmount-ssr.live) — owner-chosen buyable card look, replaces the old buy TABLE ---------- */
.catmount-ssr.live .ssr-prod{cursor:default}
/* base grid pins .ssr-prod img to width:100%;height:150px; live cards wrap the photo in .pc-img and size it to the box, so release those (this selector beats .pc-img img on specificity) */
.catmount-ssr.live .ssr-prod img{height:100%;width:auto;max-width:100%;object-fit:contain}
.pc-img{height:210px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}
.pc-img img{max-height:210px;max-width:100%;object-fit:contain;cursor:zoom-in}
.pc-name{font-weight:bold;font-size:13.5px;color:var(--navy);line-height:1.3;display:block}
.pc-sku{font-size:11px;color:var(--slate);display:block;margin:2px 0 6px}
.pc-desc{font-size:12px;color:var(--ink);line-height:1.45;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 8px}
.pc-desc p{margin:0 0 4px}
.pc-desc.open{display:block;-webkit-line-clamp:unset;overflow:visible;max-height:none}
.pc-more{background:none;border:none;color:var(--steel);font-weight:bold;font-size:12px;padding:4px 0 0;cursor:pointer;text-align:left;align-self:flex-start}
.pc-more:hover{text-decoration:underline}
.pc-size{width:100%;min-height:40px;border:1px solid var(--line);font:12.5px Arial;color:var(--ink);background:#fff;margin:0 0 6px;padding:6px}
.pc-pack{font-size:12px;color:var(--slate);display:block;margin:0 0 6px}
.pc-price{font-weight:bold;font-size:15px;color:var(--navy);display:block}
.pc-price small{color:var(--slate);font-weight:normal}
.pc-per{display:block;font-size:11px;color:var(--slate);margin-top:1px}
.pc-descper{font-size:12px;color:var(--navy);font-weight:bold;margin:0 0 8px}
.pc-stock{color:var(--green);font-size:12px;display:block;margin:2px 0 0}
/* soon = never stocked yet ("Coming soon") · oos = tracked and the count hit 0 ("Temporarily out of
   stock") · bo = on backorder. All three read as the same not-on-the-shelf amber as .soon always has. */
.pc-stock.soon,.pc-stock.oos,.pc-stock.bo{color:var(--amber-deep)}
.pc-buy{display:flex;gap:8px;margin-top:8px}
.pc-buy input{width:64px;min-height:44px;text-align:center;border:1px solid var(--line);font-size:15px}
.pc-buy .uadd{flex:1;min-height:44px}
@media(max-width:640px){.pc-img{height:150px}.pc-img img{max-height:150px}.pc-desc{-webkit-line-clamp:3}}
/* card name -> item-page link (category cards + search): inherit color, underline-free until hover */
.pc-name a{color:inherit;text-decoration:none}
.pc-name a:hover{color:var(--steel)}
/* ---------- single-product (item) page: wider single card at /<lowercase-sku>/ ---------- */
.itempage{max-width:900px;margin:14px auto 40px}
.item-pc{display:flex;flex-direction:column;border:1px solid var(--line2);border-radius:8px;background:#fff;padding:20px 22px;cursor:default}
.item-pc .pc-img{height:340px;margin-bottom:12px}
.item-pc .pc-img img{max-height:340px}
.item-pc .pc-name{font-size:19px;line-height:1.28}
.item-pc .pc-sku{font-size:12px;margin:5px 0 11px}
.item-pc .pc-desc{font-size:13px;margin-bottom:12px}
.item-pc .pc-size{max-width:340px}
.item-pc .pc-price{font-size:19px;margin-top:2px}
.item-pc .pc-buy{max-width:340px}
.itemfoot{margin-top:16px}
.itemfoot .itemback{display:inline-block;font-size:12.5px;font-weight:bold;color:var(--steel);margin-bottom:10px}
.itemfoot .catship{color:var(--navy);background:var(--wash);border-left:3px solid var(--amber);padding:7px 11px;border-radius:0 5px 5px 0;font-size:12.5px;display:inline-block;margin-top:4px}
.itemfoot .catreassure{font-size:12.5px;color:var(--green);font-weight:bold;margin-top:8px}
@media(max-width:640px){.item-pc{padding:16px 15px}.item-pc .pc-img{height:230px}.item-pc .pc-img img{max-height:230px}}
/* ---------- procurement spec block (item pages) ----------
   Scoped to .specs[data-specs] so it NEVER restyles the plain <p class="specs"> spec sentence
   used inside some product short_descriptions. Colors come from the house variables (theme-aware). */
.specs[data-specs]{margin:22px 0 2px;border:1px solid var(--line2);border-radius:8px;overflow:hidden;background:#fff}
.specs[data-specs] table{width:100%;border-collapse:collapse;font-size:12.5px;line-height:1.45}
.specs[data-specs] caption{caption-side:top;text-align:left;font-size:13px;font-weight:bold;color:var(--navy);background:var(--wash);border-bottom:1px solid var(--line2);border-left:3px solid var(--amber);padding:8px 12px}
.specs[data-specs] th,.specs[data-specs] td{text-align:left;vertical-align:top;padding:8px 12px;border-bottom:1px solid var(--line2)}
.specs[data-specs] tr:last-child th,.specs[data-specs] tr:last-child td{border-bottom:none}
.specs[data-specs] th{width:40%;color:var(--slate);font-weight:bold;background:#fafafa}
.specs[data-specs] td{color:var(--ink)}
.specs[data-specs] td a{color:var(--steel);text-decoration:underline;word-break:break-word}
.specs[data-specs] td a:hover{color:var(--navy)}
@media(max-width:640px){.specs[data-specs] th{width:44%}.specs[data-specs] th,.specs[data-specs] td{padding:8px 10px;font-size:12px}}
/* tap-to-enlarge product-photo lightbox */
#pczoom{position:fixed;inset:0;background:rgba(10,20,35,.88);display:none;align-items:center;justify-content:center;z-index:100002;padding:18px}
#pczoom.open{display:flex}
#pczoom img{max-width:92vw;max-height:86vh;object-fit:contain;background:#fff;border-radius:8px;padding:14px;box-sizing:border-box}
#pczoom button{position:absolute;top:10px;right:10px;width:46px;height:46px;border:none;border-radius:50%;background:#fff;color:#0e2a47;font-size:26px;font-weight:bold;cursor:pointer;line-height:1}
/* homepage full catalog: jump-nav + dense department grids (Uline-style) */
.dept-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;margin:2px 0 34px}
.dept-tile{display:flex;flex-direction:column;align-items:center;text-align:center;background:#fff;border:1px solid var(--line2);border-radius:10px;padding:15px 14px 16px;text-decoration:none;color:var(--navy)}
.dept-tile:hover{border-color:var(--steel);box-shadow:0 3px 13px rgba(14,42,71,.12)}
/* Uline-style: category name on top (uppercase), the array of products below, item count last */
.dept-tile .dt-name{order:1;font-weight:bold;font-size:14.5px;line-height:1.25;text-transform:uppercase;letter-spacing:.02em;margin:0 0 12px;color:var(--navy)}
.dept-tile .dt-img{order:2;min-height:132px;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:8px;margin:0;padding:0 2px}
.dept-tile .dt-img img{max-height:132px;object-fit:contain;object-position:center bottom}
.dept-tile .dt-img[data-n="1"] img{max-width:60%}
.dept-tile .dt-img[data-n="2"] img{max-width:47%}
.dept-tile .dt-img[data-n="3"] img{max-width:34%}
.dept-tile .dt-img[data-n="4"] img{max-width:26%}
.dept-tile .dt-cnt{order:3;font-size:11.5px;color:var(--slate);margin-top:11px}
@media(max-width:600px){.dept-tiles{grid-template-columns:1fr 1fr;gap:11px}.dept-tile{padding:14px 11px 13px}.dept-tile .dt-name{font-size:13px;margin-bottom:8px;line-height:1.2}.dept-tile .dt-img{min-height:86px;gap:5px}.dept-tile .dt-img img{max-height:86px}.dept-tile .dt-cnt{margin-top:9px}}
.homecat{margin:0 0 30px;scroll-margin-top:84px}
.homecat-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-bottom:2px solid var(--navy);padding-bottom:6px;margin-bottom:13px}
.homecat-head h2{font-size:17px;color:var(--navy);margin:0}
.homecat-all{font-size:12px;color:var(--steel);text-decoration:none;white-space:nowrap;font-weight:bold;flex:none}
.homecat-all:hover{text-decoration:underline}
.homecat .catmount-ssr{grid-template-columns:repeat(auto-fill,minmax(156px,1fr));gap:10px}
.homecat .catmount-ssr .ssr-prod{padding:9px 9px 11px}
.homecat .catmount-ssr .ssr-prod img{height:112px}
.homecat .catmount-ssr .ssr-name{font-size:12px;margin-top:7px;line-height:1.3}
.homecat .catmount-ssr .ssr-sku{font-size:10.5px;margin-top:2px}
.homecat .catmount-ssr .ssr-price{font-size:13px;margin-top:5px}
@media(max-width:600px){.homecat .catmount-ssr{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}}

/* ---------- the buy TABLE ---------- */
.utable{border:1px solid var(--line2);background:#fff;margin-bottom:14px}
.utable .thead{display:grid;grid-template-columns:150px 1fr 130px 96px 78px 120px;gap:0;background:var(--wash);border-bottom:1px solid var(--line2)}
.utable .thead span{padding:7px 10px;border-right:1px solid var(--line2);font-size:11px;font-weight:bold;letter-spacing:.02em;text-transform:uppercase;color:#555}
.utable .thead span:last-child{border-right:none}
.utable .thead .stk{color:var(--green)}
.grp-head{display:flex;align-items:center;gap:12px;background:var(--wash);color:var(--navy);padding:7px 10px;border-top:1px solid var(--line2);border-bottom:1px solid var(--line2)}
.grp-head .grp-thumb-link{flex:none;display:block;line-height:0}
.grp-head .grp-thumb{width:58px;height:58px;object-fit:contain;background:#fff;border:1px solid var(--line2);flex:none;padding:2px;display:block}
.grp-head .grp-thumb-link:hover .grp-thumb{border-color:var(--steel)}
.grp-head h3{font-size:14px;color:var(--navy);flex:1;line-height:1.2}
.grp-head .sku{font-size:11px;font-weight:bold;letter-spacing:.02em;text-transform:uppercase;color:var(--slate)}
.grp-desc{padding:6px 12px 8px;font-size:12px;color:var(--slate);line-height:1.45;border-bottom:1px solid var(--line2);background:#fff}
.grp-desc p{margin:0}
.grp-desc p+p{margin-top:4px}
.urow{display:grid;grid-template-columns:150px 1fr 130px 96px 78px 120px;gap:0;align-items:stretch;border-bottom:1px solid var(--line2)}
.urow:last-child{border-bottom:none}
.urow:nth-child(even){background:#fafafa}
.urow>div{padding:7px 10px;border-right:1px solid var(--line2);display:flex;align-items:center}
.urow>div:last-child{border-right:none}
.urow .model{font-weight:bold;font-size:13px;color:var(--steel)}
.urow .desc{font-size:13px;color:var(--ink);display:block}
.urow .desc small{display:block;font-size:12px;color:var(--slate)}
.urow .price{font-size:13px;font-weight:bold;color:#000}
.urow .price .dash{color:var(--slate);font-weight:normal}
.urow .stk{color:var(--green);font-size:11px}
.urow .qtyc input{width:48px;padding:5px 6px;border:1px solid var(--line);background:#fff;font-family:Arial,Helvetica,sans-serif;font-size:12px;color:var(--ink);outline:none;text-align:center}
.urow .qtyc input:focus{border-color:var(--steel)}
.urow .addc{padding:5px 10px}
/* ADD = white fill + 2px amber outline + navy text; amber fill on hover */
.uadd{display:inline-block;font-family:Arial,Helvetica,sans-serif;font-weight:bold;font-size:11px;letter-spacing:.02em;text-transform:uppercase;background:#fff;color:var(--navy);border:2px solid var(--amber);padding:6px 14px;cursor:pointer;text-align:center;line-height:1.1}
.uadd:hover{background:var(--amber);text-decoration:none}
.uadd.req{border-color:var(--amber-deep);color:var(--amber-deep)}
.uadd.added{background:var(--green);color:#fff;border-color:var(--green)}
.uadd.soon{background:var(--wash);color:var(--slate);border-color:var(--line);cursor:default}
.stk .soon-txt{color:var(--amber-deep);font-size:11px;font-weight:bold}
.catalog-loading{padding:26px 14px;text-align:center;color:var(--slate)}
.catalog-note{color:var(--slate);font-size:12px;margin-top:8px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.catalog-note a{color:var(--steel)}

/* ---------- Quick Order pad ---------- */
.uquick{background:#fff;border:1px solid var(--line)}
.uquick .qhd{background:var(--wash);border-bottom:1px solid var(--line);padding:10px 14px}
.uquick .qhd h3{font-size:15px;color:var(--navy)}
.uquick .qhd p{color:var(--slate);font-size:12px;margin-top:2px}
.uquick .qcolhead,.qrow{display:grid;grid-template-columns:180px 84px 1fr 110px;gap:12px;align-items:center;padding:7px 14px}
.uquick .qcolhead{background:var(--wash);border-bottom:1px solid var(--line);font-size:11px;font-weight:bold;letter-spacing:.02em;text-transform:uppercase;color:#555}
.qrow{border-bottom:1px solid var(--line2)}
.qrow input{padding:6px 9px;border:1px solid var(--line);background:#fff;font-family:Arial,Helvetica,sans-serif;font-size:13px;color:var(--ink);outline:none;width:100%}
.qrow input:focus{border-color:var(--steel)}
.qrow .qdesc{font-size:12px;color:var(--slate)}
.qrow .qdesc.ok{color:var(--ink)}
.qrow .qadd{font-family:Arial,Helvetica,sans-serif;font-weight:bold;font-size:11px;letter-spacing:.02em;text-transform:uppercase;background:#fff;color:var(--navy);border:2px solid var(--amber);padding:5px 12px;cursor:pointer}
.qrow .qadd:hover{background:var(--amber)}
.uquick .qfoot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 14px;flex-wrap:wrap}
.uquick .qfoot small{color:var(--slate);font-size:12px}

/* ---------- mini-cart flyout (borders only, no shadow) ---------- */
.uflyout{position:fixed;bottom:18px;right:18px;width:min(380px,92vw);background:#fff;border:1px solid var(--line2);border-radius:9px;overflow:hidden;box-shadow:0 8px 30px rgba(14,42,71,.24);z-index:100000;display:none}
.uflyout.open{display:block;animation:flyin .22s ease}
@keyframes flyin{from{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(max-width:600px){.uflyout{left:12px;right:12px;bottom:12px;width:auto}}
/* WooCommerce store notices ("Cart updated", coupon, errors): float as a bottom-right toast instead of a top banner */
.wc-block-store-notices{position:fixed;bottom:18px;right:18px;left:auto;top:auto;width:min(380px,92vw);margin:0;padding:0;z-index:100000}
.wc-block-store-notices:empty{display:none}
.wc-block-store-notices .woocommerce-message,.wc-block-store-notices .woocommerce-info,.wc-block-store-notices .woocommerce-error{margin:0;max-width:none;animation:flyin .22s ease}
.wc-block-store-notices.rely-fade{opacity:0;transition:opacity .45s ease;pointer-events:none}
/* the added-to-cart flyout, the WooCommerce toast and the Ask Rely AI button all live in the bottom-right
   corner. While the flyout is up the toast sits above it (its real height, measured by shared.js) and the
   chat button steps out of the way instead of being buried under both. */
body.rely-fly .wc-block-store-notices{bottom:calc(30px + var(--rely-fly-h,150px))}
body.rely-fly #rai-btn,body.rely-fly #rai-nudge{display:none}
@media(max-width:600px){body.rely-fly .wc-block-store-notices{bottom:calc(22px + var(--rely-fly-h,150px))}}
/* woo notices: kill the theme/core ::before glyph that overprints our branded banners */
.wooarea .woocommerce-message::before,.wooarea .woocommerce-info::before,.wooarea .woocommerce-error::before{display:none!important;content:none!important}
@media(max-width:600px){.wc-block-store-notices{left:12px;right:12px;bottom:12px;width:auto}}
.uflyout .fh{background:var(--navy);color:#fff;font-weight:bold;font-size:13px;text-transform:uppercase;padding:9px 12px;display:flex;justify-content:space-between;align-items:center}
.uflyout .fh button{background:none;border:none;color:#fff;font-size:18px;cursor:pointer;line-height:1}
.uflyout .fb{padding:12px;display:flex;gap:12px;align-items:flex-start}
.uflyout .fb .ic{width:64px;height:64px;background:#fff;border:1px solid var(--line);border-radius:6px;display:flex;align-items:center;justify-content:center;flex:none;color:var(--navy);overflow:hidden}
.uflyout .fb .ic img{width:100%;height:100%;object-fit:contain;display:block}
.uflyout .fb .ic.has-img{background:#fff}
.uflyout .fb .meta b{font-size:13px;color:var(--ink);display:block}
.uflyout .fb .meta span{font-size:12px;color:var(--slate);display:block;margin-top:2px}
.uflyout .ff{padding:0 12px 12px}
.uflyout .ff a{display:block;text-align:center;background:var(--navy);color:#fff;font-weight:bold;font-size:13px;text-transform:uppercase;padding:9px}
.uflyout .ff a:hover{background:var(--navy-deep);text-decoration:none}

/* ---------- ordering + payment ---------- */
.howpay{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.steps{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.step{background:#fff;border:1px solid var(--line);padding:14px 16px}
.step .num{font-weight:bold;font-size:20px;color:#707070;line-height:1}
.step h3{font-size:14px;color:var(--navy);margin:5px 0 4px}
.step p{color:var(--slate);font-size:12.5px;line-height:1.5}
.paycard{background:var(--wash);border:1px solid var(--line);padding:18px 20px}
.paycard h3{font-size:15px;color:var(--navy);margin-bottom:3px}
.paycard .sub{color:var(--slate);font-size:12px;margin-bottom:12px}
.paylist{display:flex;flex-direction:column;gap:9px}
.paylist div{font-size:13px;color:var(--ink);line-height:1.5;padding-left:14px;position:relative}
.paylist div::before{content:"\2022";position:absolute;left:0;color:var(--amber-deep);font-weight:bold}
.paylist b{color:var(--navy);font-weight:bold}
.paycard .fine{margin-top:12px;padding-top:10px;border-top:1px solid var(--line);color:var(--slate);font-size:12px;line-height:1.5}

/* ---------- forms ---------- */
.formcard{background:#fff;border:1px solid var(--line);padding:22px;display:grid;grid-template-columns:1fr 1.1fr;gap:26px}
.formcard h2{font-size:18px;color:var(--navy);margin:0 0 8px}
.formcard .blurb{color:var(--slate);font-size:13px;line-height:1.5}
.side-list{margin-top:14px;display:flex;flex-direction:column;gap:7px}
.side-list div{color:var(--ink);font-size:13px;line-height:1.5;padding-left:14px;position:relative}
.side-list div::before{content:"\2022";position:absolute;left:0;color:var(--amber-deep);font-weight:bold}
.mini-steps{margin-top:16px;border:1px solid var(--line);background:var(--wash);padding:12px 14px}
.mini-steps b{font-size:12px;letter-spacing:.02em;text-transform:uppercase;color:var(--navy);display:block;margin-bottom:6px}
.mini-steps div{color:var(--slate);font-size:12.5px;padding:2px 0}
.mini-steps i{font-style:normal;font-weight:bold;color:var(--navy);margin-right:6px}
form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
label{display:block;margin-bottom:11px}
label b,fieldset b{font-size:12px;letter-spacing:.02em;text-transform:uppercase;color:var(--navy);display:block;margin-bottom:4px}
label small{display:block;font-size:12px;color:var(--slate);margin-bottom:4px}
input,select,textarea{width:100%;padding:8px 10px;border:1px solid var(--line);background:#fff;font-family:Arial,Helvetica,sans-serif;font-size:13px;color:var(--ink);outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--steel)}
textarea{resize:vertical;min-height:84px}
form .btn{width:100%;margin-top:4px}
.form-fine{font-size:12px;color:var(--slate);margin-top:8px;text-align:center}

/* ---------- pink label house line ---------- */
.plp-row{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.plp-card{border:1px solid var(--line);background:#fff;display:block;color:var(--ink);padding:12px 12px 14px;text-align:center;position:relative}
.plp-card:hover{border-color:#e0387e;text-decoration:none}
.plp-card img{width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;margin-bottom:8px}
.plp-card b{display:block;font-size:13px;color:var(--navy);line-height:1.3}
.plp-card span{display:block;font-size:12px;color:var(--slate);margin-top:3px}
.plp-card em{display:inline-block;font-style:normal;font-size:11px;font-weight:bold;letter-spacing:.03em;text-transform:uppercase;color:#c62e6f;border:1px solid #f2a9c8;background:#fdf2f7;padding:2px 8px;margin-top:8px}
#pinklabel .sec-head h2{border-left-color:#e0387e}

/* ---------- recommendation band ---------- */
.rec-band{display:grid;grid-template-columns:1.1fr 1fr;gap:26px;background:var(--navy);color:#fff;padding:26px 28px;border-left:5px solid var(--amber)}
.rec-band h2{color:#fff;font-size:20px;margin-bottom:8px}
.rec-band p{color:#c9d6e4;font-size:13.5px;line-height:1.55;max-width:52ch}
.rec-band .side-list{margin-top:14px}
.rec-band .side-list div{color:#c9d6e4}
.rec-form{background:#fff;padding:18px 20px;color:var(--ink)}
.rec-form .wpcf7 p{margin:0 0 11px}
.rec-form .wpcf7 label{display:block;font-size:12px;font-weight:bold;color:var(--navy);margin-bottom:10px}
.rec-form .wpcf7 input[type=text],.rec-form .wpcf7 input[type=email],.rec-form .wpcf7 textarea{margin-top:4px;font-weight:normal;min-height:44px}
.rec-form .wpcf7 textarea{min-height:90px}
.rec-form .wpcf7-submit{display:inline-block;font-family:Arial,Helvetica,sans-serif;font-size:13px;font-weight:bold;line-height:1.2;padding:11px 18px;border:1px solid var(--amber-deep);cursor:pointer;text-align:center;background:var(--amber);color:var(--navy);width:100%}
.rec-form .wpcf7-submit:hover{background:var(--amber-deep)}
.rec-form .wpcf7-response-output{border:1px solid var(--line)!important;margin:10px 0 0!important;padding:9px 11px!important;font-size:12.5px;color:var(--ink)}
.rec-form .wpcf7-form.sent .wpcf7-response-output{border-color:var(--green)!important;color:var(--green)}
.rec-form .wpcf7-not-valid-tip{font-size:11.5px;color:#b3402a}
.rec-form .wpcf7-spinner{display:none}
/* ---------- refund request form (on /refund-policy/) : light-page twin of .rec-form ---------- */
.refund-form{max-width:560px;margin:6px 0 2px}
.refund-form .wpcf7 p{margin:0 0 12px}
.refund-form .wpcf7 label{display:block;font-size:12px;font-weight:bold;color:var(--navy);margin-bottom:12px}
.refund-form .wpcf7 input[type=text],.refund-form .wpcf7 input[type=email],.refund-form .wpcf7 textarea{display:block;width:100%;margin-top:5px;font:13px Arial,Helvetica,sans-serif;font-weight:normal;color:var(--ink);border:1px solid var(--line);padding:11px 12px;border-radius:0;min-height:44px}
.refund-form .wpcf7 input[type=text]:focus,.refund-form .wpcf7 input[type=email]:focus,.refund-form .wpcf7 textarea:focus{outline:none;border-color:var(--steel);box-shadow:0 0 0 3px rgba(46,109,164,.30)}
.refund-form .wpcf7 textarea{min-height:110px;resize:vertical}
.refund-form .wpcf7-submit{display:inline-block;width:100%;font-family:Arial,Helvetica,sans-serif;font-size:15px;font-weight:bold;line-height:1.2;padding:13px 18px;border:2px solid var(--navy);cursor:pointer;text-align:center;background:var(--navy);color:#fff;min-height:48px;border-radius:0}
.refund-form .wpcf7-submit:hover{background:var(--navy-deep)}
.refund-form .wpcf7-response-output{border:1px solid var(--line)!important;margin:10px 0 0!important;padding:9px 11px!important;font-size:12.5px;color:var(--ink)}
.refund-form .wpcf7-form.sent .wpcf7-response-output{border-color:var(--green)!important;color:var(--green)}
.refund-form .wpcf7-not-valid-tip{font-size:11.5px;color:#b3402a}
.refund-form .wpcf7-spinner{display:none}
.refund-rule{border:none;border-top:1px solid var(--line2);margin:26px 0 2px}
/* quiet "request a refund" link under a single order on the My Account view-order page */
.rely-refund-link{margin:14px 0 0;font-size:12.5px;color:var(--slate)}
.rely-refund-link a{color:var(--steel);font-weight:bold}

/* ---------- who we serve ---------- */
.serve{display:flex;flex-wrap:wrap;gap:8px}
.serve span{font-size:13px;background:#fff;border:1px solid var(--line);color:var(--ink);padding:7px 12px;display:inline-block}

/* ---------- about ---------- */
.about{color:var(--ink);font-size:13px;line-height:1.6;max-width:820px;margin-top:6px}

/* ---------- faq ---------- */
.faq-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}
details{background:#fff;border:1px solid var(--line)}
details summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;font-size:14px;font-weight:bold;color:var(--navy)}
details summary::-webkit-details-marker{display:none}
details summary::after{content:"+";font-size:18px;color:var(--amber-deep);flex:none;line-height:1}
details[open] summary::after{content:"\2013"}
details p{padding:0 14px 13px;color:var(--slate);font-size:13px;line-height:1.6}

/* ---------- footer (navy, thin, plain, 12px) ---------- */
footer{background:var(--navy-deep);color:#9fb4c9;padding:26px 0 18px;font-size:12px}
.ft{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:26px;margin-bottom:18px}
.ft .logo-word{color:#fff;font-size:16px}
.ft .fabout{font-size:12px;max-width:300px;margin-top:8px;line-height:1.5;color:#9fb4c9}
.ft h4{font-size:12px;letter-spacing:.02em;text-transform:uppercase;color:#fff;margin-bottom:8px}
.ft a{display:block;color:#b9c9db;font-size:12px;padding:2px 0}
.ft a:hover{color:var(--amber)}
.cities{border-top:1px solid var(--navy-line);padding:12px 0 10px;font-size:12px;color:#8ea3ba;line-height:1.5}
.cities b{color:#b9c9db;font-weight:bold}
.legal{border-top:1px solid var(--navy-line);padding-top:12px;font-size:12px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;color:#8ea3ba}

/* ---------- responsive ---------- */
@media(max-width:1080px){
  .utable .thead,.urow{grid-template-columns:120px 1fr 110px 84px 66px 104px}
  .uhead .wrap{flex-wrap:wrap}
  .usearch{order:5;flex-basis:100%;max-width:none}
  .promo-grid{grid-template-columns:1fr 260px}
}
@media(max-width:900px){
  .promo-grid{grid-template-columns:1fr}
  .tiles{grid-template-columns:repeat(2,1fr)}
  .howpay{grid-template-columns:1fr}
  .formcard{grid-template-columns:1fr}
  .faq-list{grid-template-columns:1fr}
  .ft{grid-template-columns:1fr 1fr;gap:18px}
  .uquick .qcolhead,.qrow{grid-template-columns:150px 70px 1fr 96px}
}
@media(max-width:640px){
  .ucluster a small{display:none}
  .utable .thead{display:none}
  .urow{grid-template-columns:1fr auto;column-gap:10px;row-gap:5px;padding:12px 2px;align-items:center}
  .urow>div{border-right:none;padding:2px 8px}
  .urow .model{order:1;grid-column:1;font-weight:bold}
  .urow .price{order:2;grid-column:2;justify-content:flex-end;text-align:right;font-weight:bold}
  .urow .dcell{order:3;grid-column:1/3}
  .urow .stk{order:4;grid-column:1;font-size:13px}
  .urow .qtyc{order:5;grid-column:2;justify-content:flex-end}
  .urow .addc{order:6;grid-column:1/3;margin-top:2px}
  .urow .addc .uadd{width:100%;min-height:46px}
  .grp-desc{font-size:14px;line-height:1.5;padding:10px 14px}
  .grp-head{padding:10px 12px}
  .grp-head h3{font-size:15px}
  .urow .desc{font-size:14px}
  .urow .model{font-size:13.5px}
  .steps{grid-template-columns:1fr}
  .howpay{grid-template-columns:1fr}
  form .row{grid-template-columns:1fr}
  .tiles{grid-template-columns:1fr 1fr}
  .ft{grid-template-columns:1fr 1fr}
  .ft a{padding:8px 0}
  .uquick .qcolhead{display:none}
  .qrow{grid-template-columns:1fr 1fr;row-gap:8px;padding:10px 14px}
  .qrow .qdesc{grid-column:1/3}
  .qrow .qadd{grid-column:1/3;width:100%;min-height:44px}
  .catmount-ssr{grid-template-columns:1fr 1fr;gap:10px}
  .unav a{min-height:44px;display:flex;align-items:center}
  .pc-more{padding:9px 0 6px;min-height:32px}
  .pc-size{min-height:44px}
  .ucrumb a{padding:6px 2px;display:inline-block}
}

/* ---- category tile photos (generated catalog shots) ---- */
.tile .ph[data-img="all-purpose-cleaners"]{background-image:url('/wp-content/uploads/2026/07/tilev3-apc.jpg');font-size:0}
.tile .ph[data-img="degreasers"]{background-image:url('/wp-content/uploads/2026/07/tilev3d-degreasers.jpg');font-size:0}
.tile .ph[data-img="floor-care"]{background-image:url('/wp-content/uploads/2026/07/tilev3-floor.jpg');font-size:0}
.tile .ph[data-img="restroom-care"]{background-image:url('/wp-content/uploads/2026/07/tilev3c-restroom.jpg');font-size:0}
.tile .ph[data-img="glass-surface"]{background-image:url('/wp-content/uploads/2026/07/tilev3-glass.jpg');font-size:0}
.tile .ph[data-img="hand-soap-body"]{background-image:url('/wp-content/uploads/2026/07/tilev3c-soap.jpg');font-size:0}
.promo-main{flex-direction:row;align-items:center;gap:20px}
.promo-main .pm-txt{flex:1;min-width:0}
.promo-main .pm-img{width:330px;max-width:38%;aspect-ratio:16/9;object-fit:cover;border:1px solid #e5e5e5}
@media(max-width:760px){.promo-main{flex-direction:column;align-items:stretch}.promo-main .pm-img{display:block;width:100%;max-width:none;margin-top:14px}}
.tile .ph[data-img="custom"]{background-image:url('/wp-content/uploads/2026/07/cat-custom.png');font-size:0}
.tile .ph[data-img="can-liners"]{background-image:url('/wp-content/uploads/2026/07/tilev3-liners.jpg');font-size:0}
.tile .ph[data-img="paper-products"]{background-image:url('/wp-content/uploads/2026/07/tilev3-paper.jpg');font-size:0}
.tile .ph[data-img="gloves"]{background-image:url('/wp-content/uploads/2026/07/tilev3-gloves.jpg');font-size:0}
.tile .ph[data-img="cloths"]{background-image:url('/wp-content/uploads/2026/07/tilev3e-cloths.jpg');font-size:0}
.tile .ph[data-img="disinfectants"]{background-image:url('/wp-content/uploads/2026/07/tilev3b-disinfectants.jpg');font-size:0}
.tile .ph[data-img="restroom-consumables"]{background-image:url('/wp-content/uploads/2026/07/tilev3-consumables.jpg');font-size:0}
.tile .ph[data-img="laundry"]{background-image:url('/wp-content/uploads/2026/08/tilev3-laundry.jpg');font-size:0}
/* ---- character pass: brand accents, catalog-real ---- */
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
a.skip-link[href^="#wp"]{display:none!important}
.logo-word{position:relative}
.logo-tag{display:block;font-size:10px;font-weight:normal;color:var(--amber-deep);letter-spacing:.04em;margin-top:1px}
.usearch .field button{background:var(--amber)!important;border:1px solid var(--amber-deep)!important}
.usearch .field button .go{color:var(--navy)!important;font-weight:bold}
.promo-card{border-left:4px solid var(--amber)}
.tile:hover{border-color:var(--amber-deep)}
.tile b{color:var(--navy)}
.sec-head h2{border-left:5px solid var(--amber);padding-left:10px}
.catpage-head h1{border-left:5px solid var(--amber);padding-left:10px}
.cartcount{background:var(--amber);color:var(--navy)!important;font-weight:bold}
footer{border-top:4px solid var(--amber)}
.acct-cta{display:flex;flex-direction:column;justify-content:center;gap:12px;border:1px solid var(--line);padding:24px;background:#fafafa}.acct-cta .btn{text-align:center}.acct-signin{font-size:13px;text-align:center}
/* ---- my-account sign in / register: clean, centered two-card layout ---- */
.wooarea #customer_login{max-width:840px;margin:20px auto 8px;display:flex;gap:22px;flex-wrap:wrap;align-items:stretch;justify-content:center}
.wooarea #customer_login>div{flex:1 1 340px;max-width:400px;border:1px solid var(--line2);border-radius:8px;background:#fff;padding:24px 26px;margin:0;box-shadow:0 1px 3px rgba(14,42,71,.06)}
.wooarea #customer_login h2{text-align:center;font-size:18px;margin:0 0 16px;padding:0 0 12px;color:var(--navy);border-bottom:2px solid var(--amber)}
.wooarea #customer_login .form-row{margin:0 0 13px}
.wooarea #customer_login label{font-size:12px;margin:0 0 4px}
.wooarea #customer_login input[type=text],.wooarea #customer_login input[type=email],.wooarea #customer_login input[type=password],.wooarea #customer_login select{max-width:none;width:100%}
.wooarea #customer_login .woocommerce-form-login__rememberme{display:flex;align-items:center;gap:7px;margin:2px 0;font-weight:normal;font-size:12px}
.wooarea #customer_login .woocommerce-form-login__rememberme input{width:auto;margin:0}
.wooarea #customer_login .button,.wooarea #customer_login button[type=submit]{width:100%;margin-top:8px;padding:11px 16px;font-size:13px;border-radius:4px;background:var(--navy)!important;border:2px solid var(--navy)!important;color:#fff!important}
.wooarea #customer_login .button:hover,.wooarea #customer_login button[type=submit]:hover{background:#091d33!important}
.wooarea #customer_login .woocommerce-privacy-policy-text{margin-top:4px}
.wooarea .woocommerce-LostPassword{text-align:center;font-size:12px;margin:12px 0 0}
.woocommerce-password-strength,.woocommerce-password-hint{display:none!important}
.wooarea .pwrule{font-size:11.5px;color:var(--slate);margin:6px 0 0;line-height:1.4}
.wooarea .pwerr{font-size:12px;color:#b3402a;border:1px solid #e5b8ae;border-left:4px solid #b3402a;background:#fdf6f4;padding:8px 10px;margin:8px 0 0}

/* ===================== CART: CHECKOUT-BUTTON STACK ORDER ===================== */
/* One tidy vertical stack: Proceed to checkout, then the WooPayments express buttons
   (Apple Pay / Google Pay, mounted async into .wcpay-express-checkout-wrapper), then
   Continue shopping LAST. Flex `order` fixes the sequence regardless of when WooPayments
   mounts; `gap` is the single spacer, so per-child margins are zeroed to avoid doubling.
   Scoped under .woocommerce-cart .wooarea for specificity over the cart page's inline
   <style> block and WooCommerce core CSS. Discovered express container (item w/ item in cart):
   .wc-proceed-to-checkout > div.wcpay-express-checkout-wrapper > #wcpay-express-checkout-element. */
.woocommerce-cart .wooarea .wc-proceed-to-checkout{display:flex;flex-direction:column;gap:10px}
.woocommerce-cart .wooarea .wc-proceed-to-checkout a.checkout-button{order:1;margin:0}
.woocommerce-cart .wooarea .wc-proceed-to-checkout .wcpay-express-checkout-wrapper,
.woocommerce-cart .wooarea .wc-proceed-to-checkout #wcpay-express-checkout-element,
.woocommerce-cart .wooarea .wc-proceed-to-checkout .wcpay-payment-request-wrapper,
.woocommerce-cart .wooarea .wc-proceed-to-checkout #wcpay-payment-request-wrapper,
.woocommerce-cart .wooarea .wc-proceed-to-checkout>div[id*=express]{order:2;margin-top:0}
.woocommerce-cart .wooarea .wc-proceed-to-checkout>*:not(.checkout-button):not(.cart-continue-shopping){order:2;margin-top:0}
.woocommerce-cart .wooarea .wc-proceed-to-checkout .cart-continue-shopping{order:3;align-self:center;margin:0}

/* ===================== CART: SHIPPING "CHANGE ADDRESS" CALCULATOR ===================== */
.woocommerce-cart .woocommerce-shipping-calculator{margin-top:8px}
.woocommerce-cart .shipping-calculator-button{display:inline-flex;align-items:center;min-height:44px;color:var(--steel);font-weight:bold;font-size:13px;text-decoration:none}
.woocommerce-cart .shipping-calculator-button:hover{color:var(--navy);text-decoration:underline}
.woocommerce-cart .shipping-calculator-form{margin-top:6px}
.woocommerce-cart .shipping-calculator-form .calc-note{font-size:12.5px;line-height:1.45;color:var(--slate);margin:6px 0 0}
.woocommerce-cart .shipping-calculator-form .form-row{margin:0 0 9px}
.woocommerce-cart .shipping-calculator-form label{display:block;margin:0 0 3px;font-size:12px;font-weight:bold;color:var(--ink)}
.woocommerce-cart .shipping-calculator-form select,.woocommerce-cart .shipping-calculator-form input.input-text{width:100%;min-height:44px}
.woocommerce-cart .shipping-calculator-form .select2-container{width:100%!important}
.woocommerce-cart .woocommerce-shipping-calculator .shipping-calculator-form button[name=calc_shipping]{display:block;width:100%;min-height:44px;margin:2px 0 0;padding:12px 18px;background:var(--navy)!important;border:2px solid var(--navy)!important;color:#fff!important;font-weight:bold;font-size:14px;border-radius:6px;text-transform:none;cursor:pointer}
.woocommerce-cart .woocommerce-shipping-calculator .shipping-calculator-form button[name=calc_shipping]:hover{background:var(--navy-deep)!important}

/* ---- accessibility: visible keyboard focus (mouse users stay clean via :focus-visible) + honor reduced-motion ---- */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--amber-deep);outline-offset:2px;border-radius:2px}
.skip-link{position:absolute;left:-9999px;top:0;z-index:100001;background:var(--navy);color:#fff;padding:10px 16px;font-weight:bold;font-size:14px;border-radius:0 0 6px 0}
.skip-link:focus{left:0}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

/* ===================== MOBILE OPTIMIZATION PASS ===================== */
/* iOS zooms the page whenever a focused field is under 16px. This used to be guarded only below 640px, which
   left tablets and landscape phones (and the 641-900px band the Rely AI widget already treats as a phone)
   zooming on every tap into a field. Same rule as the widget: narrow OR touch-first. */
@media(max-width:900px),(pointer:coarse){
  input,select,textarea{font-size:16px!important}
}
/* a visible tap-to-enlarge affordance on product photos: cursor:zoom-in says nothing to a finger */
@media(pointer:coarse){
  .pc-img{position:relative}
  .pc-img::after{content:"\2922";position:absolute;right:6px;bottom:6px;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.94);border:1px solid var(--line2);color:var(--navy);font:15px/24px Arial,Helvetica,sans-serif;text-align:center;box-shadow:0 1px 4px rgba(14,42,71,.18);pointer-events:none}
  .catmount-ssr.live .ssr-prod .pc-img::after{right:4px;bottom:4px}
}
@media(max-width:640px){
  /* readability: larger base type */
  body{font-size:15px;line-height:1.55}
  h1{font-size:24px}
  h2{font-size:20px}
  h3{font-size:16px}
  p{font-size:15px}
  .sec-head p,.promo-main p,.promo-card span{font-size:14px}
  .subpromo .wrap,.previewnote .wrap{font-size:12.5px;line-height:1.45}

  /* (the iOS zoom guard now lives in its own (max-width:900px),(pointer:coarse) block above) */

  /* comfortable tap targets: buttons */
  .btn{padding:13px 20px;font-size:15px;min-height:46px;display:inline-flex;align-items:center;justify-content:center}
  .promo-main .btn,.acct-cta .btn{display:flex;width:100%}
  /* add-to-cart + qty: real tap targets (home quick-order + category rows) */
  .qadd,.uadd{min-height:44px;padding:11px 14px;font-size:14px;width:100%}
  .qrow .qty,.qrow input[type=number],.urow input[type=number],.urow .qtyc input,.qtyc input{min-height:44px}

  /* utility strip: one compact line on mobile (long spans hidden) */
  .utility{font-size:12px}
  .utility .wrap{flex-wrap:wrap;justify-content:center;text-align:center;column-gap:12px;row-gap:1px;min-height:0;padding-top:5px;padding-bottom:5px}
  .utility span,.utility a.ulink{white-space:normal}
  .utility a.ulink{padding:9px 5px;min-height:44px;display:inline-flex;align-items:center}
  .utility .ut-long{display:none}
  .utility .ut-short{display:inline}
  /* one utility line, not two: the Sign in / Register link wrapped onto a second row of its own, pushing the
     products a whole row further down the first screen. The header's own Sign in icon is two taps away. */
  .utility a.ulink[href="/my-account/"]{display:none}

  /* header: one balanced row - logo left, compact icon-over-label cluster right */
  .uhead .wrap{gap:8px;padding:10px 14px;justify-content:space-between;align-items:center}
  .logo{flex:0 1 auto;min-width:0}
  .logo-mark{height:36px!important}
  .logo-word{font-size:16.5px}
  .logo-tag{display:none}
  .ucluster{margin-left:auto;flex:0 0 auto;gap:4px}
  .ucluster a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:44px;min-width:50px;padding:2px 3px;position:relative}
  .ucluster a small{display:none}
  .ucluster a span{font-size:11px;line-height:1.1}
  .ucluster a.cartlink .cartcount{position:absolute;top:0;right:4px;font-size:10px;line-height:15px;min-width:15px;padding:0 4px;border-radius:8px;text-align:center}

  /* search: full width, taller */
  .usearch{max-width:none}
  .usearch input{padding:12px}
  .usearch button .go{padding:14px 18px;font-size:13px}

  /* category nav: one tidy horizontally-scrollable row (no giant wrap) */
  .unav .wrap{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0 8px}
  .unav .wrap::-webkit-scrollbar{display:none}
  .unav a{flex:none;font-size:13px;padding:14px;white-space:nowrap}

  /* tiles: 2-up, readable labels */
  .tiles{grid-template-columns:1fr 1fr;gap:10px}
  .tile .tname{font-size:14px;padding:10px 12px 3px}

  /* spacing */
  section{padding:22px 0}
  .wrap{padding:0 14px}

  .grp-head .grp-thumb{width:48px;height:48px}

  /* pink label + recommendation sections */
  .plp-row{grid-template-columns:repeat(2,1fr);gap:10px}
  .plp-row .plp-card:last-child{grid-column:1/3;max-width:60%;margin:0 auto}
  .rec-band{grid-template-columns:1fr;padding:20px 16px;gap:18px}
  .rec-form{padding:16px 14px}
  .rec-form .wpcf7-submit{min-height:48px;font-size:15px}

  /* woo pages: full-width fields + taller controls */
  .wooarea input[type=text],.wooarea input[type=email],.wooarea input[type=tel],.wooarea input[type=password],.wooarea select,.wooarea textarea{max-width:none;padding:12px;min-height:46px}
  .wooarea .button,.wooarea button[type=submit],.wooarea input[type=submit],.wooarea #place_order,.wooarea .checkout-button{min-height:46px;padding:12px 18px;font-size:14px}
  .wooarea table th,.wooarea table td{padding:10px 8px}
  .wooarea #customer_login>div{flex-basis:100%;padding:18px 16px}
}
@media(max-width:400px){
  .logo-tag{display:none}
  .ucluster{gap:10px}
  .ucluster a small{display:none}
  .tiles{gap:8px}
}
@media(max-width:350px){.logo-word{display:none}}

/* ===================== ADDRESS BOOK + DELIVERY-ADDRESS PICKERS ===================== */
/* shared field markup (cart different-address form, checkout add/edit, account book) */
.rely-af{display:block;margin:0 0 10px}
.rely-af>span{display:block;font-size:12px;font-weight:bold;color:var(--navy);margin:0 0 4px}
.rely-af>span i{font-weight:normal;font-style:normal;color:var(--slate)}
.rely-af>span .rq{color:var(--slate);font-weight:normal}
.rely-af input,.rely-af select{width:100%;min-height:44px;border:1px solid var(--line);padding:9px 11px;font:14px Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;border-radius:0}
.rely-af input:focus,.rely-af select:focus{outline:none;border-color:var(--steel);box-shadow:0 0 0 3px rgba(46,109,164,.25)}
.rely-af-2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.rely-af-3{display:grid;grid-template-columns:1.4fr .9fr .9fr;gap:0 12px}
.rely-af-check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink);margin:4px 0 10px;font-weight:normal}
.rely-af-check input{width:auto;min-height:0;margin:0}
.rely-af-bar{margin-top:6px}
.rely-af-apply,.rely-co-save,.rely-ab-save{display:inline-block;min-height:44px;background:var(--navy);border:2px solid var(--navy);color:#fff;font:bold 14px Arial,Helvetica,sans-serif;padding:11px 20px;cursor:pointer;border-radius:6px}
.rely-af-apply:hover,.rely-co-save:hover,.rely-ab-save:hover{background:var(--navy-deep)}
.rely-af-err{color:#b3402a;font-size:12.5px;font-weight:bold;margin:8px 0 0}
.rely-af-hint{font-size:12px;color:var(--slate);line-height:1.45;margin:8px 0 0}
.rely-af-hint2{font-size:12px;margin:6px 0 0}
@media(max-width:600px){.rely-af-2,.rely-af-3{grid-template-columns:1fr;gap:0}}

/* CART: dropdown picker / guest form (inside the narrow totals box) */
.rely-ship-ui{margin:2px 0 6px}
.rely-native-hidden{display:none!important}
.rely-ship-lbl{display:block;font-size:12px;font-weight:bold;color:var(--navy);margin:0 0 5px}
.rely-ship-select{width:100%;min-height:44px;border:1px solid var(--line);background:#fff;padding:9px 11px;font:13.5px Arial,Helvetica,sans-serif;color:var(--ink);border-radius:0}
.rely-ship-select:focus{outline:none;border-color:var(--steel);box-shadow:0 0 0 3px rgba(46,109,164,.25)}
.rely-ship-current{font-size:12.5px;line-height:1.45;color:var(--slate);margin:7px 0 0}
.rely-ship-current.applied,.rely-ship-current.applied b{color:var(--navy)}
.rely-ship-current.busy{color:var(--steel);font-style:italic}
.rely-ship-diff,.rely-ship-diff2{margin-top:10px;border-top:1px solid var(--line2);padding-top:12px}
.rely-ship-guest{margin:2px 0 4px}

/* CHECKOUT: Uline-style saved-address card selector */
.rely-co-cards{border:1px solid var(--line2);border-radius:8px;background:#fafbfc;padding:16px 18px;margin:0 0 4px}
.rely-co-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:0 0 12px}
.rely-co-head h3{margin:0;font-size:16px;color:var(--navy)}
.rely-co-sub{font-size:12.5px;color:var(--slate)}
.rely-co-search{width:100%;min-height:44px;border:1px solid var(--line);padding:9px 12px;font:14px Arial,Helvetica,sans-serif;margin:0 0 12px;border-radius:6px}
.rely-co-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.rely-co-card{border:1px solid var(--line2);border-radius:8px;background:#fff;padding:13px 14px;display:flex;flex-direction:column}
.rely-co-card.is-default{border-color:var(--amber);box-shadow:inset 0 0 0 1px var(--amber)}
.rely-co-card.chosen{border-color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy)}
.rely-co-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 6px}
.rely-co-card-top b{font-size:14px;color:var(--navy);line-height:1.25}
.rely-co-star{font-size:11px;font-weight:bold;color:var(--amber-deep);white-space:nowrap}
.rely-co-card-addr{display:flex;flex-direction:column;gap:1px;font-size:12.5px;color:var(--ink);line-height:1.45}
.rely-co-card-addr .rely-co-attn{color:var(--navy);font-weight:bold}
.rely-co-card-addr .rely-co-ph{color:var(--slate)}
.rely-co-card-act{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:11px}
.rely-co-deliver{flex:1;min-height:44px;min-width:120px;background:var(--navy);border:2px solid var(--navy);color:#fff;font:bold 13px Arial,Helvetica,sans-serif;padding:10px 14px;border-radius:6px;cursor:pointer}
.rely-co-deliver:hover{background:var(--navy-deep)}
.rely-co-link{background:none;border:none;color:var(--steel);font:bold 12.5px Arial,Helvetica,sans-serif;cursor:pointer;padding:6px 2px;min-height:40px}
.rely-co-link:hover{text-decoration:underline;color:var(--navy)}
.rely-co-addbtn{display:inline-block;margin-top:12px;background:#fff;border:2px solid var(--amber);color:var(--navy);font:bold 13px Arial,Helvetica,sans-serif;min-height:44px;padding:10px 16px;border-radius:6px;cursor:pointer}
.rely-co-addbtn:hover{background:var(--amber)}
.rely-co-none{font-size:13px;color:var(--slate);padding:6px 2px}
.rely-co-chosen{max-width:440px}
.rely-co-chosen .rely-co-card{border-color:var(--navy)}
.rely-co-change{margin-top:10px;background:none;border:none;color:var(--steel);font:bold 13px Arial,Helvetica,sans-serif;cursor:pointer;min-height:44px;padding:6px 2px}
.rely-co-change:hover{text-decoration:underline;color:var(--navy)}
.rely-co-formwrap{margin-top:14px;border-top:1px solid var(--line2);padding-top:14px}
.rely-co-form h4{margin:0 0 10px;font-size:14px;color:var(--navy)}
.rely-notes-toggle{background:none;border:none;color:var(--steel);font:bold 13px Arial,Helvetica,sans-serif;cursor:pointer;min-height:44px;padding:6px 0;text-align:left}
.rely-notes-toggle:hover{text-decoration:underline;color:var(--navy)}
@media(max-width:600px){.rely-co-grid{grid-template-columns:1fr}.rely-co-cards{padding:14px 13px}}

/* MY ACCOUNT: address book cards */
.rely-ab-intro{font-size:13px;color:var(--slate);line-height:1.55;margin:0 0 14px}
.rely-ab-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin:0 0 16px}
.rely-ab-card{border:1px solid var(--line2);border-radius:8px;background:#fff;padding:14px 15px;display:flex;flex-direction:column}
.rely-ab-card.is-default{border-color:var(--amber);box-shadow:inset 0 0 0 1px var(--amber)}
.rely-ab-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 7px}
.rely-ab-nick{font-size:14px;color:var(--navy)}
.rely-ab-badge{font-size:10.5px;font-weight:bold;text-transform:uppercase;letter-spacing:.03em;color:var(--navy);background:var(--amber);padding:2px 7px;border-radius:3px;white-space:nowrap}
.rely-ab-addr{display:flex;flex-direction:column;gap:1px;font-size:12.5px;color:var(--ink);line-height:1.45}
.rely-ab-addr .rely-ab-attn{color:var(--navy);font-weight:bold}
.rely-ab-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:11px;border-top:1px solid var(--line2);padding-top:9px}
.rely-ab-link{background:none;border:none;color:var(--steel);font:bold 12.5px Arial,Helvetica,sans-serif;cursor:pointer;padding:5px 2px;min-height:40px}
.rely-ab-link:hover{text-decoration:underline;color:var(--navy)}
.rely-ab-del:hover{color:#b3402a}
.rely-ab-add{display:inline-block;background:#fff;border:2px solid var(--amber);color:var(--navy);font:bold 13px Arial,Helvetica,sans-serif;min-height:44px;padding:11px 18px;border-radius:6px;cursor:pointer}
.rely-ab-add:hover{background:var(--amber)}
.rely-ab-empty{font-size:13px;color:var(--slate);line-height:1.55;grid-column:1/-1;background:var(--wash);border:1px solid var(--line2);border-radius:8px;padding:16px 18px}
.rely-ab-formwrap{margin-top:16px;border-top:1px solid var(--line2);padding-top:16px}
.rely-ab-form{max-width:520px}
.rely-ab-form h3{margin:0 0 12px;font-size:16px;color:var(--navy)}
@media(max-width:600px){.rely-ab-list{grid-template-columns:1fr}}
/* RELY_SMOOTH_CART_V1 (2026-09-14): instant tap feedback on Add, and a cart page that updates in place */
.uadd:disabled,.uadd.busy{opacity:.65;cursor:default}
.uadd:active{background:var(--amber)}
.uadd.busy{background:var(--wash)}
body.rely-cart-auto button[name=update_cart],body.rely-cart-auto input[name=update_cart]{display:none!important}
body.rely-cart-busy form.woocommerce-cart-form,body.rely-cart-busy .cart_totals{opacity:.6;transition:opacity .15s}
tr.cart_item.rely-removing,.cart_item.rely-removing{opacity:.3;pointer-events:none;transition:opacity .15s}
/* RELY_SEARCH_BAKED_V1 (2026-09-23): search page. The category h1 rule (.catpage-head h1: amber left bar) was
   winning over .search-head h1 by source order, so the centered title carried BOTH a left bar and an underline.
   Cards are baked hidden and shown by the filter; [hidden] must beat the grid's display:flex. */
.catpage-head.search-head{text-align:center;padding:16px 0 2px}
.catpage-head.search-head h1{border-left:none;padding-left:0;display:inline-block;border-bottom:4px solid var(--amber);padding-bottom:6px;margin:0;font-size:21px;line-height:1.25;max-width:100%;overflow-wrap:anywhere}
.catpage-head.search-head p.searchstatus{margin:10px auto 0;max-width:640px;font-size:13px;color:var(--slate);line-height:1.5;text-align:center;min-height:0}
.search-body{padding-top:14px}
#searchgrid[hidden]{display:none}
.catmount-ssr .pc[hidden]{display:none}
#searchnone:empty{display:none}
#searchnone .searchnomatch{margin-top:6px}
@media(max-width:640px){
  .catpage-head.search-head{padding:12px 0 0}
  .catpage-head.search-head h1{font-size:18px;border-bottom-width:3px;padding-bottom:5px}
  .catpage-head.search-head p.searchstatus{font-size:12.5px;margin-top:8px}
  .search-body{padding-top:10px}
}