: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 ---------- */
.usearch-page{margin:4px 0 16px;max-width:700px}
.searchstatus{font-size:13px;color:var(--slate);margin:2px 0 14px;min-height:18px}
.searchnomatch{border:1px solid var(--line2);background:var(--wash);border-left:3px solid var(--amber);padding:16px 18px;max-width:640px}
.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}
/* 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:40px;height:40px;background:var(--wash);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;flex:none;color:var(--navy)}
.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:#bbb;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:10px;font-weight:bold;letter-spacing:.03em;text-transform:uppercase;color:#e0387e;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}
/* ---- 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 ===================== */
@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}

  /* prevent iOS zoom-on-focus + comfortable fields */
  input,select,textarea{font-size:16px!important}

  /* 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}

  /* 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}}