/*!
 * components.css — SITE-WIDE component styles, extracted 2026-07-17.
 * WHY: these were inline <style> blocks emitted in the FOOTER of every page (cookie bar, quote cart
 * drawer, Quick View modal, chat widget, footer, floating filter tab, category FAQ) - re-sent on every
 * page view and uncacheable. Now one cached file. The component HTML markup and JS stay where they were
 * (in functions.php / footer.php closures) - only the CSS moved.
 * Enqueued site-wide in functions.php as a dependency of usbmk-site so it keeps its position AFTER
 * site.css in the cascade. Block order below matches the original footer emit order.
 * All original comments preserved. Revert: paste each block back into its source file, drop the enqueue.
 */

/* ===== usbm-catfaq-css (was in functions.php) ===== */
.cat-faqs{--cta:#ff5aaf;--ink:#202f5e;--ink-soft:#51627a;--ink-faint:#8493a6;--line:#e2e8ef;--line-2:#d2dbe4;--panel:#f2f6f9;--ease:cubic-bezier(.22,1,.36,1);padding:clamp(22px,3vw,42px) 0 clamp(44px,6vw,84px)}
/* USBM_FAQ_FULLBLEED (revised 2026-09-05): the band is full width on its own wherever it
   is a direct child of <main>, so the old width:100vw + negative margins are gone - they
   overshot by the scrollbar width (7.5px each side) and relied on html{overflow-x:clip}.
   The three pages that nest it inside .container still need the break-out. */
.container > .cat-faqs{width:auto;max-width:none;margin-left:calc(-1 * var(--gutter,48px));margin-right:calc(-1 * var(--gutter,48px))}/*USBM_FAQ_BLEED_FIX*/
.cat-faqs .cf-kicker{font-size:12.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--cta);margin:0 0 8px;text-align:center}
/*USBM_KICKER_DASHES - match the home eyebrow style on every FAQ kicker*/
.cat-faqs .cf-kicker{display:flex;align-items:center;justify-content:center;gap:14px;font-size:14px;letter-spacing:.26em}
.cat-faqs .cf-kicker::before,.cat-faqs .cf-kicker::after{content:"";width:26px;height:2px;background:var(--cta);opacity:.5;border-radius:2px;flex:0 0 auto}
.cat-faqs .cf-title{font-size:clamp(28px,3.4vw,42px);/*USBM_H2_42*/font-weight:800;letter-spacing:-.03em;line-height:1.05;color:var(--ink);text-align:center;margin:0 0 30px}
.cat-faqs .cf-list{max-width:840px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.cat-faqs .cf-list--2col{flex-direction:row;align-items:flex-start;max-width:none;gap:28px}
.cat-faqs .cf-list--2col .cf-col{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:12px}
@media(max-width:760px){.cat-faqs .cf-list--2col{flex-direction:column;max-width:840px}}
.cat-faqs .cf-item{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden;transition:border-color .22s var(--ease),box-shadow .22s var(--ease)}
.cat-faqs .cf-item:hover{border-color:var(--line-2);box-shadow:0 12px 30px -22px rgba(20,26,48,.4)}
.cat-faqs .cf-item.open{border-color:color-mix(in srgb,var(--cta) 45%,transparent);box-shadow:0 18px 44px -26px rgba(255,90,175,.4)}
.cat-faqs .cf-q{width:100%;display:flex;align-items:center;gap:16px;text-align:left;background:none;border:0;cursor:pointer;padding:20px 22px;font-family:inherit}
.cat-faqs .cf-qt{flex:1;font-size:16.5px;font-weight:700;letter-spacing:-.01em;color:var(--ink);line-height:1.35}
.cat-faqs .cf-ic{width:30px;height:30px;border-radius:50%;background:var(--panel);display:grid;place-items:center;flex-shrink:0;position:relative;transition:background .2s var(--ease)}
.cat-faqs .cf-item.open .cf-ic{background:var(--cta)}
.cat-faqs .cf-ic::before,.cat-faqs .cf-ic::after{content:"";position:absolute;background:var(--ink-soft);border-radius:2px;transition:transform .3s var(--ease),background .2s}
.cat-faqs .cf-ic::before{width:12px;height:2px}
.cat-faqs .cf-ic::after{width:2px;height:12px}
.cat-faqs .cf-item.open .cf-ic::before,.cat-faqs .cf-item.open .cf-ic::after{background:#fff}
.cat-faqs .cf-item.open .cf-ic::after{transform:scaleY(0)}
.cat-faqs .cf-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .34s var(--ease)}
.cat-faqs .cf-item.open .cf-a{grid-template-rows:1fr}
.cat-faqs .cf-a-in{overflow:hidden}
.cat-faqs .cf-a-pad{padding:0 22px 20px}
.cat-faqs .cf-a-pad p{font-size:15px;line-height:1.65;color:var(--ink-soft);margin:0 0 12px}
.cat-faqs .cf-a-pad p:last-child{margin-bottom:0}
.cat-faqs .cf-a-pad a{color:var(--cta);font-weight:700}
.cat-faqs .cf-foot{max-width:840px;margin:24px auto 0;text-align:center;font-size:14.5px;color:var(--ink-soft)}
.cat-faqs .cf-foot a{color:var(--cta);font-weight:700;text-decoration:none}
.cat-faqs .cf-foot a:hover{text-decoration:underline}

/* ===== usbmchat-css (was in functions.php) ===== */
.usbmchat-omodal .usbmchat-ocard{transform:scale(1.1);transform-origin:center center}@media(max-width:1000px),(max-height:640px){.usbmchat-omodal .usbmchat-ocard{transform:none}}#usbmchat-panel{overflow:visible}#usbmchat-panel .usbmchat-head{border-radius:20px 20px 0 0}#usbmchat-panel .usbmchat-foot{border-radius:0 0 20px 20px}.usbmchat-ava::after{content:"View Olivia's profile";position:absolute;bottom:calc(100% + 9px);left:0;background:#fff;color:#202F5E;font-size:13px;font-weight:600;padding:8px 13px;border-radius:12px;white-space:nowrap;box-shadow:0 24px 50px -24px rgba(21,36,59,.5);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(3px);transition:opacity .16s ease,transform .16s ease,visibility .16s;z-index:7}.usbmchat-ava:hover::after,.usbmchat-ava:focus-visible::after{opacity:1;visibility:visible;transform:translateY(0)}.usbmchat-obtn{transition:background .15s ease,border-color .15s ease,color .15s ease}.usbmchat-obtn-p:hover{background:#ec4aa0}.usbmchat-obtn-s:hover{border-color:#202F5E;background:#f6f7fa}.usbmchat-oclose{transition:background .15s ease,color .15s ease}.usbmchat-oclose:hover{background:#f6f7fa;color:#FF5AAF}.usbmchat-ava{cursor:pointer}.usbmchat-ava:hover{box-shadow:0 0 0 2px rgba(255,255,255,.55)}.usbmchat-omodal{position:fixed;inset:0;z-index:2147483646;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(18,25,50,.72)}.usbmchat-omodal.open{display:flex}.usbmchat-ocard{position:relative;width:100%;max-width:860px;background:#fff;border-radius:18px;overflow:hidden;display:grid;grid-template-columns:2fr 3fr;box-shadow:0 24px 60px rgba(18,25,50,.35);font-family:inherit;max-height:92vh}.usbmchat-oclose{position:absolute;top:12px;right:12px;z-index:4;width:34px;height:34px;border:none;border-radius:50%;background:rgba(255,255,255,.9);color:#202F5E;font-size:20px;line-height:1;cursor:pointer}.usbmchat-ophoto{position:relative;background:#eef1fb;min-height:460px}.usbmchat-ophoto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 22%}.usbmchat-oon{position:absolute;left:14px;top:14px;display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.92);padding:6px 13px;border-radius:20px;font-size:14px;font-weight:500;color:#0f7a4d}.usbmchat-oon i{width:9px;height:9px;border-radius:50%;background:#12B76A;display:inline-block}.usbmchat-oname{position:absolute;left:0;right:0;bottom:0;padding:42px 18px 16px;background:linear-gradient(to top,rgba(18,25,50,.82),transparent);color:#fff}.usbmchat-oname b{display:block;font-size:26px;font-weight:600;line-height:1.1}.usbmchat-oname span{font-size:15px;opacity:.9}.usbmchat-obody{padding:28px 32px;overflow:auto}.usbmchat-oeyebrow{font-size:13px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#FF5AAF;margin-bottom:9px}.usbmchat-obio{margin:0 0 18px;font-size:16px;line-height:1.55;color:#3a4260}.usbmchat-ohd{font-size:17px;font-weight:700;color:#202F5E;margin-bottom:11px}.usbmchat-olist{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:11px}.usbmchat-olist li{position:relative;padding-left:28px;font-size:16px;color:#3a4260;line-height:1.45}.usbmchat-olist li::before{content:"\2713";position:absolute;left:0;top:0;color:#FF5AAF;font-weight:700}.usbmchat-onote{background:#f4f6fc;border-radius:10px;padding:12px 15px;margin-bottom:20px;font-size:15px;color:#5b6480}.usbmchat-oacts{display:flex;gap:12px}.usbmchat-obtn{flex:1;text-align:center;font-size:15px;font-weight:600;padding:14px 18px;border-radius:10px;cursor:pointer;text-decoration:none;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center}.usbmchat-obtn-p{background:#FF5AAF;color:#fff}.usbmchat-obtn-s{background:#fff;color:#202F5E;border-color:#d4d9e8}@media(max-width:600px){.usbmchat-ocard{grid-template-columns:1fr;max-width:400px}.usbmchat-ophoto{min-height:220px}}.usbmchat .usbmchat-by{display:flex!important;flex-direction:column;align-items:center;gap:4px}.usbmchat-status{display:flex;align-items:center;gap:6px;font-size:11px;color:#6b7590}.usbmchat-live{width:7px;height:7px;border-radius:50%;background:#12B76A;animation:usbmLive 2s infinite}@keyframes usbmLive{0%{box-shadow:0 0 0 0 rgba(18,183,106,.30)}70%{box-shadow:0 0 0 5px rgba(18,183,106,0)}100%{box-shadow:0 0 0 0 rgba(18,183,106,0)}}.usbmchat-brand{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;color:#9AA3C0;text-decoration:none}.usbmchat-brand svg{color:#FF5AAF;flex:0 0 auto}.usbmchat-tip{position:absolute;right:100%;top:50%;transform:translateY(-50%) translateX(6px);margin-right:14px;white-space:nowrap;background:#fff;color:#202F5E;padding:8px 13px;border-radius:12px;box-shadow:0 8px 24px rgba(32,47,94,.20);display:flex;flex-direction:column;line-height:1.25;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s;z-index:6}.usbmchat-tip b{font-size:13px;font-weight:600}.usbmchat-tip-on{font-size:11px;font-style:normal;color:#12B76A;display:flex;align-items:center;gap:5px;margin-top:1px}.usbmchat-tip-on::before{content:"";width:7px;height:7px;border-radius:50%;background:#12B76A}.usbmchat-tip::after{content:"";position:absolute;left:100%;top:50%;transform:translateY(-50%);border:6px solid transparent;border-left-color:#fff}.usbmchat-launch:hover .usbmchat-tip,.usbmchat-launch:focus-visible .usbmchat-tip{opacity:1;visibility:visible;transform:translateY(-50%) translateX(0)}.usbmchat-ava svg,.usbmchat-launch svg{display:none!important}.usbmchat-photo{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.usbmchat-ava{overflow:visible;position:relative}.usbmchat-launch{position:relative;overflow:visible}.usbmchat-launch .usbmchat-photo{position:absolute;inset:0}.usbmchat-launch .usbmchat-dot{z-index:3}
.usbmchat *{box-sizing:border-box}
.usbmchat-launch{position:fixed;right:24px;bottom:calc(24px + var(--usbm-cc-h,0px));width:74px;height:74px;border:2px solid #fff;/*USBM_LAUNCH_RING*/border-radius:50%;
  background:linear-gradient(135deg,#26356b 0%,#202F5E 100%);box-shadow:0 10px 28px rgba(32,47,94,.42);
  cursor:pointer;z-index:2147483000;display:flex;align-items:center;justify-content:center;transition:transform .18s ease,box-shadow .18s ease}
.usbmchat-launch:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 14px 34px rgba(32,47,94,.5)}
.usbmchat-launch svg{width:30px;height:30px}
.usbmchat-launch .usbmchat-dot{position:absolute;top:4px;right:6px;width:16px;height:16px;border-radius:50%;
  background:#5BE38B;border:3px solid #fff;animation:usbmchat-pulse 2.2s infinite}
@keyframes usbmchat-pulse{0%{box-shadow:0 0 0 0 rgba(91,227,139,.55)}70%{box-shadow:0 0 0 9px rgba(91,227,139,0)}100%{box-shadow:0 0 0 0 rgba(91,227,139,0)}}
.usbmchat-launch.usbmchat-open{transform:scale(.9);opacity:0}

.usbmchat-panel{position:fixed;right:24px;bottom:24px;width:376px;max-width:calc(100vw - 32px);height:560px;max-height:calc(100vh - 48px);
  background:#fff;border-radius:20px;box-shadow:0 24px 60px rgba(20,28,56,.32);z-index:2147483630;
  display:flex;flex-direction:column;overflow:hidden;opacity:0;transform:translateY(16px) scale(.98);
  pointer-events:none;transition:opacity .22s ease,transform .22s ease;
  font-family:'Hanken Grotesk',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}
.usbmchat-panel.usbmchat-open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}

.usbmchat-head{background:linear-gradient(135deg,#26356b 0%,#202F5E 100%);color:#fff;padding:16px 18px;display:flex;align-items:center;gap:12px}
.usbmchat-ava{width:60px;height:60px;border-radius:50%;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.usbmchat-ava svg{width:24px;height:24px}
.usbmchat-meta{flex:1;min-width:0}
.usbmchat-meta b{display:block;font-size:15.5px;font-weight:800;letter-spacing:.2px}
.usbmchat-meta span{display:flex;align-items:center;gap:6px;font-size:12px;opacity:.85;margin-top:1px}
.usbmchat-meta span i{width:10px;height:10px;border-radius:50%;background:#5BE38B;display:inline-block;flex:0 0 10px;transform-origin:center;animation:usbmChatDotBeat 1.8s ease-out infinite}
@keyframes usbmChatDotBeat{0%{transform:scale(1);box-shadow:0 0 0 0 rgba(91,227,139,.55)}70%{transform:scale(1.22);box-shadow:0 0 0 7px rgba(91,227,139,0)}100%{transform:scale(1);box-shadow:0 0 0 0 rgba(91,227,139,0)}}
@media(prefers-reduced-motion:reduce){.usbmchat-meta span i{animation:none}}
.usbmchat-x{background:none;border:none;color:#fff;opacity:.8;cursor:pointer;padding:6px;border-radius:8px;line-height:0;transition:opacity .15s,background .15s}
.usbmchat-x:hover{opacity:1;background:rgba(255,255,255,.12)}
.usbmchat-x svg{width:18px;height:18px}

.usbmchat-body{flex:1;overflow-y:auto;padding:18px 16px;background:#F5F7FB;display:flex;flex-direction:column;gap:12px}
.usbmchat-row{display:flex;gap:9px;align-items:flex-end;max-width:90%}
.usbmchat-row.usbmchat-me{align-self:flex-end;flex-direction:row-reverse}
.usbmchat-bub{padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.5;word-wrap:break-word;white-space:pre-wrap}
.usbmchat-row.usbmchat-bot .usbmchat-bub{background:#fff;color:#1d2540;border:1px solid #e6e9f2;border-bottom-left-radius:5px;box-shadow:0 1px 2px rgba(20,28,56,.05)}
.usbmchat-row.usbmchat-me .usbmchat-bub{background:linear-gradient(135deg,#FF5AAF 0%,#f24aa3 100%);color:#fff;border-bottom-right-radius:5px}
.usbmchat-bub a{color:inherit;font-weight:700;text-decoration:underline}
.usbmchat-row.usbmchat-bot .usbmchat-bub a{color:#d8328c}
.usbmchat-mava{width:28px;height:28px;border-radius:50%;flex:0 0 auto;background:#202F5E;display:flex;align-items:center;justify-content:center}
.usbmchat-mava svg{width:16px;height:16px}

.usbmchat-typing{display:flex;gap:4px;padding:13px 15px;background:#fff;border:1px solid #e6e9f2;border-radius:16px;border-bottom-left-radius:5px;width:fit-content}
.usbmchat-typing i{width:7px;height:7px;border-radius:50%;background:#9aa3c0;display:inline-block;animation:usbmchat-bounce 1.3s infinite}
.usbmchat-typing i:nth-child(2){animation-delay:.18s}.usbmchat-typing i:nth-child(3){animation-delay:.36s}
@keyframes usbmchat-bounce{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-5px);opacity:1}}

.usbmchat-sugg{display:flex;flex-wrap:wrap;gap:7px;padding:0 16px 4px}
.usbmchat-sugg button{background:#fff;border:1px solid #d6dcec;color:#2a3766;font-size:12.5px;font-weight:600;
  padding:7px 12px;border-radius:20px;cursor:pointer;font-family:inherit;transition:.15s}
.usbmchat-sugg button:hover{border-color:#FF5AAF;color:#d8328c}

.usbmchat-foot{padding:11px 12px;border-top:1px solid #ecf0f7;background:#fff}
.usbmchat-input{display:flex;align-items:center;gap:8px;background:#f2f4fa;border:1px solid #e3e8f3;border-radius:14px;padding:6px 6px 6px 14px;transition:border-color .15s}
.usbmchat-input:focus-within{border-color:#FF5AAF}
.usbmchat-input textarea{flex:1;border:none;background:none;resize:none;font-family:inherit;font-size:14px;color:#1d2540;
  max-height:96px;line-height:1.45;padding:6px 0;outline:none}
.usbmchat-send{width:38px;height:38px;flex:0 0 auto;border:none;border-radius:11px;background:#202F5E;color:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:.15s}
.usbmchat-send:hover{background:#FF5AAF}
.usbmchat-send:disabled{opacity:.4;cursor:default;background:#202F5E}
.usbmchat-send svg{width:18px;height:18px}
.usbmchat-by{text-align:center;font-size:10.5px;color:#9aa3c0;margin-top:7px;letter-spacing:.2px}
@media (max-width:480px){.usbmchat-panel{right:0;bottom:0;width:100vw;height:100vh;max-height:100vh;border-radius:0}.usbmchat-launch{right:16px;bottom:calc(16px + var(--usbm-cc-h,0px));width:58px;height:58px}.usbmchat-launch .usbmchat-dot{top:3px;right:5px;width:13px;height:13px;border-width:2.5px}}/*USBM_LAUNCH_MBL*/

/* ===== usbm-cc-css (was in functions.php) ===== */
#usbm-cc,#usbm-cc *{box-sizing:border-box}
#usbm-cc{position:fixed;left:0;right:0;bottom:0;z-index:2147483600;background:#fff;border-top:1px solid #e2e8ef;box-shadow:0 -24px 60px -30px rgba(21,36,59,.45);font-family:"Hanken Grotesk",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#202f5e}
#usbm-cc[hidden],#usbm-cc-modal[hidden]{display:none}
#usbm-cc .cc-inner{max-width:1280px;margin-inline:auto;padding:18px clamp(16px,4vw,48px);display:flex;align-items:center;gap:22px;flex-wrap:wrap}
#usbm-cc .cc-txt{margin:0;flex:1 1 360px;font-size:14px;line-height:1.5;color:#41506f}
#usbm-cc .cc-txt a{color:#ec4aa0;font-weight:600;text-decoration:underline}
#usbm-cc .cc-btns{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
#usbm-cc .cc-b{cursor:pointer;border-radius:11px;font:600 13.5px "Hanken Grotesk",sans-serif;padding:11px 18px;border:1px solid transparent;transition:transform .15s,background .15s,border-color .15s}
#usbm-cc .cc-b:hover{transform:translateY(-1px)}
#usbm-cc .cc-b:focus-visible,#usbm-cc-modal .cc-b:focus-visible,#usbm-cc-modal input:focus-visible+.cc-track{outline:3px solid #ffb3dd;outline-offset:2px}
#usbm-cc .cc-reject{background:#fff;border-color:#cdd6e4;color:#202f5e}
#usbm-cc .cc-reject:hover{border-color:#202f5e}
#usbm-cc .cc-custom{background:#eef1f7;color:#202f5e}
#usbm-cc .cc-accept{background:#ff5aaf;color:#fff}
#usbm-cc .cc-accept:hover{background:#ec4aa0}
#usbm-cc-modal{position:fixed;inset:0;z-index:2147483601;font-family:"Hanken Grotesk",system-ui,sans-serif;color:#202f5e}
#usbm-cc-modal .cc-mask{position:absolute;inset:0;background:rgba(21,36,59,.5)}
#usbm-cc-modal .cc-card{position:relative;max-width:540px;margin:8vh auto 0;background:#fff;border-radius:18px;box-shadow:0 40px 90px -40px rgba(21,36,59,.6);padding:28px clamp(20px,4vw,34px);max-height:84vh;overflow:auto}
#usbm-cc-modal h2{margin:0 0 6px;font-size:21px}
#usbm-cc-modal .cc-sub{margin:0 0 18px;font-size:14px;color:#5a6a86;line-height:1.5}
#usbm-cc-modal .cc-cats{list-style:none;margin:0 0 22px;padding:0}
#usbm-cc-modal .cc-cat{display:flex;align-items:center;gap:16px;padding:15px 0;border-top:1px solid #eef1f7}
#usbm-cc-modal .cc-cat>div{flex:1}
#usbm-cc-modal .cc-cat strong{display:block;font-size:15px;margin-bottom:3px}
#usbm-cc-modal .cc-cat span.d{display:block;font-size:13px;color:#6b7a96;line-height:1.45}
#usbm-cc-modal .cc-on{font-size:12.5px;font-weight:600;color:#8a97ad;white-space:nowrap}
#usbm-cc-modal .cc-sw{position:relative;display:inline-block;width:46px;height:26px;flex:none}
#usbm-cc-modal .cc-sw input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
#usbm-cc-modal .cc-track{position:absolute;inset:0;background:#cdd6e4;border-radius:999px;transition:background .18s}
#usbm-cc-modal .cc-track:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .18s;box-shadow:0 1px 3px rgba(0,0,0,.25)}
#usbm-cc-modal .cc-sw input:checked+.cc-track{background:#ff5aaf}
#usbm-cc-modal .cc-sw input:checked+.cc-track:after{transform:translateX(20px)}
#usbm-cc-modal .cc-mbtns{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
#usbm-cc-modal .cc-b{cursor:pointer;border-radius:11px;font:600 13.5px "Hanken Grotesk",sans-serif;padding:11px 18px;border:1px solid transparent}
#usbm-cc-modal .cc-reject{background:#fff;border:1px solid #cdd6e4;color:#202f5e}
#usbm-cc-modal .cc-accept{background:#ff5aaf;color:#fff}
#usbm-cc-modal .cc-accept:hover{background:#ec4aa0}
a.usbm-cc-link{cursor:pointer}
@media(max-width:640px){#usbm-cc .cc-inner{gap:14px}#usbm-cc .cc-btns{width:100%}#usbm-cc .cc-b{flex:1}}

/* ===== usbm-cart-css (was in functions.php) ===== */
#usbm-cart-drawer,#usbm-cart-drawer *{box-sizing:border-box}
.usbm-bag{position:relative;top:5px;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:11px;border:1px solid #cdd6e4;background:#fff;color:#202f5e;cursor:pointer;margin-right:10px;vertical-align:middle}
.usbm-bag:hover{border-color:#202f5e}
.usbm-bag svg{width:20px;height:20px}
.usbm-bag .usbm-bag-n{position:absolute;top:-7px;right:-7px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#ff5aaf;color:#fff;font:600 11px/18px "Hanken Grotesk",sans-serif;text-align:center;display:none}
.usbm-bag.has .usbm-bag-n{display:block}
#usbm-cart-drawer{position:fixed;inset:0;z-index:2147483620;font-family:"Hanken Grotesk",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#202f5e}
#usbm-cart-drawer[hidden]{display:none}
#usbm-cart-drawer .cd-mask{position:absolute;inset:0;background:rgba(21,36,59,.5)}
#usbm-cart-drawer .cd-panel{position:absolute;top:0;right:0;height:100%;width:437px;max-width:92vw;background:#fff;display:flex;flex-direction:column;box-shadow:-40px 0 80px -40px rgba(21,36,59,.6);transform:translateX(0);overflow:hidden}
#usbm-cart-drawer .cd-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #eef1f7;flex:none;position:sticky;top:0;background:#fff;z-index:2}
#usbm-cart-drawer .cd-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600}
#usbm-cart-drawer .cd-title .n{font-size:12px;color:#fff;background:#202f5e;border-radius:999px;padding:1px 8px}
#usbm-cart-drawer .cd-x{width:46px;height:46px;border-radius:50%;background:#f4f6fb;border:1px solid #b0b9c6;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#202f5e}
#usbm-cart-drawer .cd-x svg{width:19px;height:19px;display:block}
#usbm-cart-drawer .cd-x:hover{background:#FF5AAF;color:#fff}
#usbm-cart-drawer .cd-note{display:none}
/* USBM_CD_PINFOOT (2026-09-07): the item list scrolls, not the whole panel, so the
   checkout buttons stay pinned to the bottom of the drawer on long baskets. */
#usbm-cart-drawer .cd-items{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}
#usbm-cart-drawer .cd-empty{padding:40px 24px;text-align:center;color:#4C5878;font-size:20px;line-height:1.5}
#usbm-cart-drawer .cd-empty .cd-e1{display:block}
#usbm-cart-drawer .cd-empty .cd-e2{display:block;font-size:16px;line-height:1.55;margin-top:10px}
#usbm-cart-drawer .ci{display:flex;gap:12px;padding:14px 18px;border-bottom:1px solid #f1f4f9}
#usbm-cart-drawer .ci-img{width:58px;height:58px;border-radius:8px;background:#eef1f7;flex:none;display:flex;align-items:center;justify-content:center;overflow:hidden}
#usbm-cart-drawer .ci-img img{max-width:100%;max-height:100%;object-fit:contain}
#usbm-cart-drawer .ci-b{flex:1;min-width:0}
#usbm-cart-drawer .ci-top{display:flex;justify-content:space-between;gap:8px}
#usbm-cart-drawer .ci-nm{font-size:13.5px;font-weight:500}
#usbm-cart-drawer .ci-sku{font-size:11px;color:#9aa6bd;white-space:nowrap}
#usbm-cart-drawer .ci-opts{font-size:11.5px;color:#6b7a96;margin:3px 0 6px;line-height:1.45}
#usbm-cart-drawer .ci-opts b{color:#202f5e;font-weight:500}
#usbm-cart-drawer .ci-flag{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;border-radius:999px;padding:2px 9px}
#usbm-cart-drawer .ci-flag.warn{color:#854f0b;background:#faeeda}
#usbm-cart-drawer .ci-flag.ok{color:#0f6e56;background:#e1f5ee}
#usbm-cart-drawer .ci-poa{display:none}
#usbm-cart-drawer .ci-acts{display:flex;gap:14px;margin-top:8px;font-size:11.5px;color:#5a6a86}
#usbm-cart-drawer .ci-acts a{color:#5a6a86;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;gap:4px}
#usbm-cart-drawer .ci-acts a.edit{color:#ec4aa0;font-weight:500}
#usbm-cart-drawer .ci-qty{display:inline-flex;align-items:center;border:1px solid #cfd7e4;border-radius:8px;overflow:hidden;margin-top:8px}
#usbm-cart-drawer .ci-qty button{width:26px;height:26px;border:0;background:#fff;color:#202f5e;cursor:pointer;font-size:15px}
#usbm-cart-drawer .ci-qty input{width:50px;height:26px;border:0;border-left:1px solid #eef1f7;border-right:1px solid #eef1f7;text-align:center;font:500 12px "Hanken Grotesk",sans-serif;color:#202f5e}
#usbm-cart-drawer .usbmqd-item{border:1px solid #e9ecf0;border-radius:15px;margin:12px 14px;background:#fff;overflow:hidden;box-shadow:0 1px 2px rgba(15,23,42,.05)}
#usbm-cart-drawer .usbmqd-thumb{width:104px;height:104px;border-radius:14px;border:1px solid #eef0f3;background:#fff;object-fit:contain;flex:0 0 auto;padding:5px;box-sizing:border-box;display:block}
#usbm-cart-drawer .usbmqd-mid{flex:1;min-width:0}
#usbm-cart-drawer .usbmqd-item-name{font-weight:700;color:#202f5e;font-size:16px;line-height:1.35}
#usbm-cart-drawer .usbmqd-top{display:flex;gap:14px;align-items:flex-start;padding:15px 15px 13px}
#usbm-cart-drawer .usbmqd-nrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#usbm-cart-drawer .usbmqd-status{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:600;color:#0f6e56;background:#e1f5ee;border-radius:999px;padding:2px 9px}
#usbm-cart-drawer .usbmqd-status.warn{color:#854f0b;background:#faeeda}
#usbm-cart-drawer .usbmqd-chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0}
#usbm-cart-drawer .usbmqd-chips span{font-size:11.5px;font-weight:500;color:#202f5e;background:#f1f4f9;border-radius:7px;padding:4px 9px;line-height:1.2}
#usbm-cart-drawer .usbmqd-qtyrow{display:flex;align-items:center;justify-content:space-between;padding:11px 15px;border-top:1px solid #eef1f7;background:#fbfcfe}
#usbm-cart-drawer .usbmqd-qlabel{font-size:13px;color:#6b7280;font-weight:500}
#usbm-cart-drawer .usbmqd-qright{display:flex;align-items:center;gap:12px}
#usbm-cart-drawer .usbmqd-spec{list-style:none;margin:7px 0 0;padding:0}
#usbm-cart-drawer .usbmqd-spec li{position:relative;padding-left:14px;color:#6b7280;font-size:12.8px;line-height:1.6}
#usbm-cart-drawer .usbmqd-spec li::before{content:"";position:absolute;left:0;top:8px;width:5px;height:5px;border-radius:50%;background:#FF3D7F}
#usbm-cart-drawer .usbmqd-val{color:#202f5e;font-weight:500}
#usbm-cart-drawer .usbmqd-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex:0 0 auto}
#usbm-cart-drawer .usbmqd-step{display:inline-flex;align-items:center;border:1px solid #cfd7e4;border-radius:10px;overflow:hidden;background:#fff}
#usbm-cart-drawer .usbmqd-step-btn{width:44px;height:44px;/*USBM_STEP_TAP*/border:0;background:#fff;color:#202f5e;font:500 20px/1 "Hanken Grotesk",sans-serif;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .15s}
#usbm-cart-drawer .usbmqd-step-btn:hover{background:#f6f7fa}
#usbm-cart-drawer .usbmqd-step-btn:active{background:#eef1f7}
#usbm-cart-drawer .usbmqd-qty{width:46px;height:44px;/*USBM_STEP_TAP*/padding:0 2px;border:0;border-left:1px solid #eef1f7;border-right:1px solid #eef1f7;border-radius:0;font-size:15px;font-weight:600;text-align:center;font-family:inherit;color:#202f5e;-webkit-appearance:none;-moz-appearance:textfield;margin:0}
#usbm-cart-drawer .usbmqd-qty::-webkit-inner-spin-button,#usbm-cart-drawer .usbmqd-qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
#usbm-cart-drawer .usbmqd-remove{background:none;border:0;color:#202f5e;cursor:pointer;padding:3px;line-height:0;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;transition:background .15s,color .15s}
#usbm-cart-drawer .usbmqd-remove svg{width:18px;height:18px;display:block}
/* USBM_BIN_TAP: transparent 44x44 hit area over the 24px bin, so the touch target meets the guideline without changing how it looks or moving the row. */
#usbm-cart-drawer .usbmqd-remove{position:relative}
#usbm-cart-drawer .usbmqd-remove::after{content:"";position:absolute;left:50%;top:50%;width:44px;height:44px;transform:translate(-50%,-50%)}
#usbm-cart-drawer .usbmqd-remove:hover{color:#e5484d;background:#fdeaea}
#usbm-cart-drawer .cd-foot{border-top:1px solid #eef1f7;padding:14px 18px;flex:none}
#usbm-cart-drawer .cd-sum{display:none}
#usbm-cart-drawer .cd-sum b{color:#202f5e;font-weight:500}
#usbm-cart-drawer .cd-co{display:block;text-align:center;background:#ff5aaf;color:#fff;font-size:14px;font-weight:600;border-radius:11px;padding:12px;text-decoration:none}
#usbm-cart-drawer .cd-co:hover{background:#ec4aa0}
#usbm-cart-drawer .cd-co.dim{background:#f0c4da;pointer-events:none}
#usbm-cart-drawer .cd-foot-links{display:flex;gap:10px;margin-top:10px}
#usbm-cart-drawer .cd-foot-links a{flex:1;text-align:center;text-decoration:none;cursor:pointer;border-radius:11px;padding:11px 10px;font-size:13px;font-weight:600;border:1px solid #d4d8dd;box-sizing:border-box;transition:background .15s,border-color .15s}
#usbm-cart-drawer .cd-foot-links .cont{color:#202f5e;background:#fff}
#usbm-cart-drawer .cd-foot-links .cont:hover{background:#f6f7fa;border-color:#c2cad6}
#usbm-cart-drawer .cd-foot-links .view{color:#ec4aa0;background:#fff;border-color:#ffc7e4}
#usbm-cart-drawer .cd-foot-links .view:hover{background:#fff4f9;border-color:#ff9ed1}
@media(max-width:480px){#usbm-cart-drawer .cd-panel{width:100vw}}

/* ===== usbm-cta-noshadow (was in functions.php) ===== */
.btn-cta{box-shadow:none !important;color:#fff !important;}

/* ===== usbm-filter-tab-css (was in functions.php) ===== */
#usbmFilterTab{position:fixed;left:0;top:50%;transform:translateY(-50%);z-index:150;background:rgba(255,90,175,.7);color:#fff;border:none;cursor:pointer;padding:22px 11px;border-radius:0 14px 14px 0;display:flex;flex-direction:column;align-items:center;gap:11px;box-shadow:2px 3px 12px rgba(0,0,0,.18);font-family:inherit;font-weight:700;font-size:16px;letter-spacing:.04em;line-height:1;transition:opacity .2s,background .15s}
#usbmFilterTab:hover{background:#FF5AAF}
#usbmFilterTab span{writing-mode:vertical-rl;transform:rotate(180deg)}
#usbmFilterTab svg{width:24px;height:24px}
/* USBM_FILTERTAB_HIDE_MOBILE: below the burger cutover the sidebar is already off-canvas and the
   toolbar carries its own "Filters" button, so this fixed tab duplicated that control and sat on top
   of headings and cards (content starts 16px from the edge, the tab is 40px wide). */
@media(max-width:980px){#usbmFilterTab{display:none}}

/* ===== usbm-qv-css (was in functions.php) ===== */
.scard{position:relative}
.qv-eye{position:absolute;top:10px;left:10px;z-index:5;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.94);border:1px solid #d7deea;display:flex;align-items:center;justify-content:center;color:#202f5e;cursor:pointer;opacity:.6;transition:opacity .15s,transform .15s,background .15s;box-shadow:0 6px 18px -8px rgba(21,36,59,.5)}
.qv-eye:hover{background:#fff;transform:translateY(-1px)}
.qv-eye:focus-visible{outline:3px solid #ffb3dd;outline-offset:2px;opacity:1}
.scard:hover .qv-eye{opacity:1}
@media(hover:none){.qv-eye{opacity:1}}
.qv-eye svg{width:18px;height:18px;display:block}
#usbm-qv,#usbm-qv *{box-sizing:border-box}
#usbm-qv{position:fixed;inset:0;z-index:2147483610;font-family:"Hanken Grotesk",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#202f5e}
#usbm-qv[hidden]{display:none}
#usbm-qv .qv-mask{position:absolute;inset:0;background:rgba(21,36,59,.55)}
#usbm-qv .qv-card{position:relative;width:640px;max-width:calc(100vw - 32px);max-height:90vh;margin:5vh auto 0;background:#fff;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 50px 100px -40px rgba(21,36,59,.65)}
#usbm-qv .qv-top{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#f6f7fa;border-bottom:1px solid #e7ebf2;flex:none}
#usbm-qv .qv-title{display:inline-flex;align-items:center;gap:8px;font:700 14px "Hanken Grotesk",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#202f5e}
#usbm-qv .qv-title svg{width:17px;height:17px;color:#FF5AAF;display:block}
#usbm-qv .qv-x{width:30px;height:30px;border-radius:50%;background:#fff;border:1px solid #d7deea;display:flex;align-items:center;justify-content:center;color:#202f5e;cursor:pointer;font-size:17px;line-height:1}
#usbm-qv .qv-x:hover{border-color:#202f5e}
#usbm-qv .qv-grid{display:grid;grid-template-columns:248px 1fr;gap:20px;padding:20px;overflow:auto}
#usbm-qv .qv-media{background:#f6f7fa;border:1px solid #d2dbe4;border-radius:12px;height:330px;display:flex;align-items:center;justify-content:center;overflow:hidden}
#usbm-qv .qv-media img{max-width:100%;max-height:100%;object-fit:contain}
#usbm-qv .qv-thumbs{display:flex;gap:8px;margin-top:10px}
#usbm-qv .qv-thumbs span{flex:1;height:46px;border-radius:8px;background:#eef1f7;border:1px solid #e1e6ef;overflow:hidden;display:flex;align-items:center;justify-content:center}
#usbm-qv .qv-thumbs span img{max-width:100%;max-height:100%}
#usbm-qv .qv-desc{margin-top:16px;border-top:1px solid #eef1f7;padding-top:12px}
#usbm-qv .qv-h{font-size:12.5px;font-weight:600;color:#202f5e;margin-bottom:8px}
#usbm-qv .qv-desc p{font-size:12.5px;line-height:1.55;color:#5a6a86;margin:0}
#usbm-qv .qv-name{font-size:20px;font-weight:600;color:#202f5e;line-height:1.25}
#usbm-qv .qv-meta{display:none}
#usbm-qv .qv-meta .dot{color:#c3ccdb}
#usbm-qv .qv-tags{display:none}
#usbm-qv .qv-tags span{font-size:11.5px;color:#202f5e;background:#eef1f7;border-radius:999px;padding:4px 10px}
#usbm-qv .qv-full{display:none}
#usbm-qv .qv-sect{margin-top:16px}
#usbm-qv .qv-sw{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
#usbm-qv .qv-sw span{display:flex;align-items:center;gap:7px;border:1px solid #cfd7e4;border-radius:8px;padding:7px 8px;font-size:12px;color:#202f5e}
#usbm-qv .qv-sw i{width:14px;height:14px;border-radius:50%;border:1px solid #00000018;flex:none}
#usbm-qv .qv-chips{display:flex;flex-wrap:wrap;gap:6px}
#usbm-qv .qv-chips span{font-size:12px;color:#202f5e;border:1px solid #cfd7e4;border-radius:999px;padding:5px 11px}
#usbm-qv .qv-caps{display:flex;flex-wrap:wrap;gap:6px}
#usbm-qv .qv-caps span{font-size:12px;color:#202f5e;border:1px solid #cfd7e4;border-radius:8px;padding:6px 12px}
#usbm-qv .qv-tiers{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
#usbm-qv .qv-tier{font-size:12px;color:#202f5e;border:1px solid #cfd7e4;border-radius:8px;padding:6px 12px;background:#fff;cursor:pointer;font-family:inherit;line-height:1}
#usbm-qv .qv-tier:hover{border-color:#202f5e}
#usbm-qv .qv-tier.qv-sel{border-color:#ff5aaf;background:#fff0f7;box-shadow:inset 0 0 0 1px #ff5aaf}
#usbm-qv .qv-cta{display:flex;gap:10px;margin-top:20px;align-items:center;flex-wrap:wrap;justify-content:space-between}
#usbm-qv .qv-quote{background:#ff5aaf;color:#fff;font-size:13.5px;font-weight:600;border-radius:11px;padding:11px 18px;text-decoration:none;border:0;cursor:pointer;font-family:inherit}/*USBM_QV_BTN*/
#usbm-qv .qv-quote:hover{background:#ec4aa0}
#usbm-qv .qv-det{border:1px solid #cfd7e4;color:#202f5e;font-size:13.5px;border-radius:11px;padding:11px 16px;text-decoration:none}
#usbm-qv .qv-det:hover{border-color:#202f5e}
#usbm-qv .qv-muted{font-size:12px;color:#9aa6bd}
@media(max-width:620px){
  #usbm-qv .qv-card{margin:0;max-height:100vh;height:100vh;border-radius:0;max-width:100vw}
  #usbm-qv .qv-grid{grid-template-columns:1fr}
}

/* ===== usbm-qv-add-css (was in functions.php) ===== */
#usbm-qv .qv-sw span.qv-sel,#usbm-qv .qv-chips span.qv-sel,#usbm-qv .qv-caps span.qv-sel{border-color:#ff5aaf !important;background:#fff0f7;box-shadow:inset 0 0 0 1px #ff5aaf}
#usbm-qv .qv-sw span,#usbm-qv .qv-chips span,#usbm-qv .qv-caps span{cursor:pointer;user-select:none}
#usbm-qv .qv-qty-wrap{display:flex;align-items:center;justify-content:center;gap:10px;margin:16px 0 2px}
#usbm-qv .qv-qty-lab{font-size:12.5px;font-weight:500;color:#202f5e}
#usbm-qv .qv-qty{display:inline-flex;align-items:center;border:1px solid #cfd7e4;border-radius:10px;overflow:hidden}
#usbm-qv .qv-qty button{width:30px;height:36px;border:0;background:#fff;color:#202f5e;font-size:16px;cursor:pointer}
#usbm-qv .qv-qty input{width:56px;height:36px;border:0;border-left:1px solid #eef1f7;border-right:1px solid #eef1f7;text-align:center;font:600 13px "Hanken Grotesk",sans-serif;color:#202f5e}
#usbm-qv .qv-moq{font-size:11px;color:#9aa6bd}

/* ===== usbm-card-swatch-cap (was in functions.php) ===== */
.scard .sc-colours .sc-sw:nth-of-type(n+8){display:none !important}
.scard .sc-quote{transition:background .15s}
.scard .sc-quote:hover{background:#FF5AAF !important}
.usbm-ap .scard .sc-quote:hover{background:#FF5AAF !important}
button .arrow,a .arrow{display:none !important}

/* ===== usbm-nf-css (was in footer.php) ===== */
.nfx{background:#081434;padding:26px}.nfx-card{position:relative;overflow:hidden;border-radius:26px;background:#081434 /* url(/wp-content/uploads/2026/07/USB_Makers_Footer_2.png) center/cover no-repeat - image hidden 2026-07-10 per Richard */;color:#fff;max-width:1588px;margin:0 auto;padding:0 60px}.nfx-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;padding:20px 0 34px}.nfx-col{padding:0 34px}.nfx-col:first-child{padding-left:0}.nfx-col+.nfx-col,.nfx-brand{border-left:1px solid rgba(255,255,255,.09)}.nfx-h{display:block;color:#FF5AAF;font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:20px}.nfx-col a{display:block;color:#e8ecf8;font-size:15px;margin-bottom:14px;text-decoration:none;font-weight:500;transition:color .15s}.nfx-col a:hover{color:#fff;text-decoration:none}.nfx-col a.pk{color:#FF5AAF;font-weight:700;margin-top:0}.nfx-col a.pk:hover{color:#ff7dc0}.nfx-brand{padding:0 0 0 40px}.nfx-brand img{height:36px;width:auto;display:block;margin-bottom:20px}.nfx-tel{font-size:29px;font-weight:800;margin:0 0 16px;color:#fff;display:block;text-decoration:none}.nfx-line{display:flex;align-items:center;gap:9px;font-size:14.5px;color:#dfe4f5;margin-bottom:9px}.nfx-line svg{width:17px;height:17px;fill:none;stroke:#f08bbf;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.nfx-soc{display:flex;gap:12px;margin-top:20px}.nfx-soc a{width:44px;height:44px;border-radius:50%;border:2px solid rgba(255,255,255,.55);display:flex;align-items:center;justify-content:center;transition:background .15s}.nfx-soc a:hover{background:rgba(255,255,255,.12)}.nfx-soc svg{width:22px;height:22px;fill:#fff}.nfx-bot{border-top:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between;gap:26px;padding:20px 70px 12px;flex-wrap:wrap}.nfx-bi{display:flex;align-items:center;gap:10px;flex:0 1 auto}.nfx-bic{width:37px;height:37px;border-radius:50%;border:2px solid rgba(255,255,255,.55);display:flex;align-items:center;justify-content:center;flex:0 0 auto}.nfx-bic svg{width:28px;height:28px;fill:none;stroke:#fff;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.nfx-bic svg .ac{stroke:#FF5AAF}.nfx-bic svg .mn{stroke-width:0.96}.nfx-bi b{display:block;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#fff;margin-bottom:2px}.nfx-bi div span{display:block;font-size:12px;color:rgba(255,255,255,.6)}.nfx-cr{text-align:right;font-size:10.5px;color:rgba(255,255,255,.55);line-height:1.6;flex:0 0 auto}@media(max-width:1200px){.nfx-grid{grid-template-columns:1fr 1fr;row-gap:34px}.nfx-col{padding:0 24px 0 0;border-left:0 !important}.nfx-brand{grid-column:1/-1;padding:26px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.09)}}@media(max-width:640px){.nfx{padding:14px}.nfx-card{padding:0 26px}.nfx-grid{grid-template-columns:1fr}.nfx-bot{gap:20px}.nfx-cr{text-align:left}}

/* ===== usbm-nf-legal (was in footer.php) ===== */
.nfx-legal{max-width:1468px;margin:4px auto 0;padding:16px 0 2px;border-top:1px solid rgba(255,255,255,.10);display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.nfx-legal-l{display:flex;align-items:center;justify-content:center;width:100%;text-align:center;gap:16px;flex-wrap:wrap;font-size:13px;color:rgba(255,255,255,.82)}.nfx-legal-l a{color:rgba(255,255,255,.82);text-decoration:none;transition:color .15s}.nfx-legal-l a:hover{color:#FF5AAF}.nfx-legal-l i{width:1px;height:15px;background:rgba(255,255,255,.28);display:inline-block}.nfx-legal-r{display:flex;align-items:center;gap:10px}.nfx-legal-r svg{width:52px;height:32px;display:block}.nfx-git{font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#FF5AAF;margin-bottom:18px}.nfx-git-row{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.nfx-git-row > svg{width:20px;height:20px;fill:none;stroke:#FF5AAF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto;margin-top:4px}.nfx-brand .nfx-tel{font-size:22px;font-weight:800;color:#fff;text-decoration:none;display:block;line-height:1.15;margin:0}.nfx-git-sub{display:block;font-size:14.5px;color:rgba(255,255,255,.65);margin-top:5px}.nfx-mail{font-size:15.5px;color:#fff;text-decoration:none;margin-top:2px}.nfx-mail:hover,.nfx-brand .nfx-tel:hover{color:#FF5AAF}.nfx-comp{display:flex;align-items:center;gap:16px;margin-top:20px;opacity:.75}.nfx-comp svg{height:24px;width:auto;display:block}@media(max-width:640px){.nfx-legal{justify-content:center;text-align:center}}

.cat-faqs>.container{padding-inline:var(--gutter) !important}/*USBM_FAQ_GUTTER*/

@media(max-width:560px){.qty-box-row{flex-direction:column;align-items:stretch;gap:12px}.usbm-cta-in-row{margin-left:0 !important;width:100%}}/*USBM_QTYROW_MOBILE*/

.prv-layout>*,.cky-layout>*{min-width:0}/*USBM_LEGAL_MOBILE*/

.cat-faqs.blogfaq{width:auto;max-width:100%;margin-left:0;margin-right:0}/*USBM_BLOGFAQ_NOBLEED*/

@media(max-width:767px){.header .phone{display:none}}@media(min-width:768px) and (max-width:980px){.header .phone .pk{display:none}}/*USBM_HDR_PHONE_TABLET*/

@media(min-width:981px){.mm-panel{max-height:calc(100vh - 200px) !important;overflow-y:auto !important}}/*USBM_MEGA_MAXH*/

/* USBM_BAG_TOOLTIP: header quote-basket hover label - same pill as the card Quick View / Compare tooltips */
.usbm-bag::after{content:"Quote Basket";position:absolute;top:calc(100% + 9px);right:0;background:#fff;color:#202F5E;border:1px solid #e2e8ef;border-radius:12px;box-shadow:0 24px 50px -24px rgba(21,36,59,.5);padding:8px 13px;font:600 13px "Hanken Grotesk",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .16s;z-index:1200}
.usbm-bag:hover::after{opacity:1;transition-delay:.2s}

/* USBM_HERO_LEAD_17: hero lead copy unified at 17px (home, all category hero styles, all-products) */
.hero .lead{font-size:17px}
.cat-hero2 .ch2-copy p{font-size:17px}

/* USBM_SBTN_CIRCLE: header search = navy circle with white magnifier, pink on hover (Richard 2026-08-24) */
.search .sbtn{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#202F5E;border:0;cursor:pointer;padding:0;font-size:0;transition:background .15s}
.search .sbtn:hover{background:#FF5AAF}
.search .sbtn svg{display:block}

/* USBM_BAG_HOVER: basket icon turns brand pink on hover (Richard 2026-08-24) */
.usbm-bag{transition:color .15s}
.usbm-bag:hover{color:#FF5AAF}

/* USBM_GHOST_HOVER: all ghost buttons tint on hover (Richard 2026-08-24; matches the heroc treatment) */
.btn-ghost{transition:background .15s,border-color .15s,color .15s}
.btn-ghost:hover{background:#f4f6fb}

/* USBM_SECTOR_GHOST_HOVER: sector-card View Category ghost buttons tint on hover like .btn-ghost (Richard 2026-08-24) */
.sca-cardcta a:first-child, .sce-cardcta a:first-child, .sev-cardcta a:first-child, .sgv-cardcta a:first-child, .smf-cardcta a:first-child, .sch-cardcta a:first-child, .shh-cardcta a:first-child{transition:background .15s}
.sca-cardcta a:first-child:hover, .sce-cardcta a:first-child:hover, .sev-cardcta a:first-child:hover, .sgv-cardcta a:first-child:hover, .smf-cardcta a:first-child:hover, .sch-cardcta a:first-child:hover, .shh-cardcta a:first-child:hover{background:#f4f6fb}

/* USBM_FPV_HOVERS: Featured Products pills = home-page button styling + hovers (Richard 2026-08-24) */
.usbm-ap .fpv-ctas .fpv-cta{background:#FF5AAF;color:#fff;border:1px solid transparent;border-radius:10px;font-size:16px;font-weight:700;padding:16px 28px;transition:background .15s,transform .15s}
.usbm-ap .fpv-ctas .fpv-cta:hover{background:var(--cta-700,#e14396);transform:translateY(-2px)}
.usbm-ap .fpv-ctas .fpv-ghost{background:#fff;color:#202F5E;border:1px solid #d2dbe4;border-radius:10px;font-size:16px;font-weight:700;padding:16px 28px;transition:background .15s,transform .15s,border-color .15s,color .15s}
.usbm-ap .fpv-ctas .fpv-ghost:hover{background:#f4f6fb;border-color:#202F5E;transform:translateY(-2px)}
.usbm-ap .fpv-explore{transition:background .15s}
.usbm-ap .fpv-explore:hover{background:#eef2ff}

/* USBM_AP_BAND_GUTTER: trust band + ordering section content aligns with the all-products gutter (Richard 2026-08-24: sections looked too wide) */
.usbm-ap .trustbar .container{padding-inline:clamp(20px,4vw,60px) !important}
.usbm-ap #process .container{padding-inline:clamp(20px,4vw,60px) !important}

/* USBM_CONFIGURE_ANCHOR: land the #configure jump higher up with breathing room under the sticky header (Richard 2026-08-24) */
#configure{scroll-margin-top:530px}

/* USBM_PDP_DESC_GAP: tighter gap between the product summary and the Description section (Richard 2026-08-24; was ~101px visual) */
section.pdp{padding-bottom:24px}
.tabs .tabpanel{padding-top:20px}

/* USBM_SINGLE_IMG_NO_THUMBS: hide the thumbnail strip when a product has only one image (Richard 2026-08-24) */
.g-thumbs:has(.g-thumb:only-child){display:none}

/* USBM_PGF_TIGHT: photographers page section gaps tightened (Richard 2026-08-26; was 46px+46px between sections) */
section.pgf-sec,div.pgf-sec{padding:30px 0 !important}
section#shopGrid.pgf-sec{padding-top:0 !important}/* USBM_PGF_GRID_TOP */
section.pgf-sec:has(+ #shopGrid){padding-bottom:14px !important}
.cat-faqs--usbs-for-photographers{padding:0 0 48px}
section.pgf-sec:has(+ .cat-faqs){padding-bottom:16px !important}

/* USBM_CHECKOUT_STICKY: side columns stick clear of the 79px header (Richard 2026-08-26; was top:24px so the header hid their tops) */
body.page-id-2005 nav.rail{top:103px !important}
body.page-id-2005 aside.co-summary{top:103px !important}

/* USBM_CO_SUMMARY_HEAD_GAP: more room between "Your Quote" and the box below (Richard 2026-08-26; was 13px) */
body.page-id-2005 aside.co-summary > h2{margin-bottom:22px}

/* USBM_CO_HEADINGS_18: checkout headings unified at 18px (Richard 2026-08-26) */
body.page-id-2005 #usbm-co-form h2, body.page-id-2005 aside.co-summary > h2{font-size:18px !important;font-weight:700 !important}

/* USBM_CO_SUBMIT_18 */
body.page-id-2005 #co-submit{font-size:18px !important;}

/* USBM_RAQ_SUBMIT_18 */
body.page-id-1973 #rqpSubmit{font-size:18px !important;}


/* USBM_CHAT_MOBILE - Olivia chat widget, mobile fixes 2026-09-02
   - 100dvh so the full-screen panel is not hidden behind mobile browser chrome (100vh above stays as the fallback)
   - safe-area inset so the input row clears the iPhone home indicator
   - a short-viewport tier: in landscape the message area was collapsing to about 35px
   - 44px tap targets on close and send
   - drop the "USB Makers" prefix on very narrow phones so the status line stays on one row */
.usbmchat-meta .usbmchat-org{font-style:normal}
.usbmchat-x{padding:13px;border-radius:12px}
.usbmchat-send{width:44px;height:44px}
.usbmchat-sugg button{min-height:40px}
.usbmchat-foot{padding-bottom:calc(11px + env(safe-area-inset-bottom,0px))}
@media(max-width:480px){
  /* USBM_CHAT_FULLWIDTH: the base rule's max-width:calc(100vw - 32px) was never overridden
     here, so the "full screen" phone panel was actually 358px of a 390px screen. */
  .usbmchat-panel{left:0;right:0;width:auto;max-width:none;height:100dvh;max-height:100dvh}
}
@media(max-width:380px){
  .usbmchat-meta .usbmchat-org{display:none}
}
@media(max-height:520px){
  .usbmchat-panel{top:0;right:0;bottom:0;left:0;width:auto;max-width:none;height:auto;max-height:none;border-radius:0}
  .usbmchat-head{padding:8px 12px;gap:9px}
  .usbmchat-ava{width:36px;height:36px}
  /* USBM_CHAT_LANDSCAPE_V2: chips were hidden here when the message area was only 35px.
     Now that they are a single 44px scrolling row and the area is 181px, they earn their place. */
  .usbmchat-bub{max-width:62ch}
  .usbmchat-body{padding:10px 14px;gap:9px}
  .usbmchat-foot{padding:8px 10px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}
}

/* USBM_CHAT_CHIPS_ROW (revised 2026-09-05) - the follow-up chips wrap onto as many rows
   as they need on phones, per Richard. They were previously forced into a single
   horizontal scroll strip to cap their height (91px wrapped vs 44px scrolling); the
   chips are model-generated, so a long set can now take more of the message area. */
@media(max-width:560px),(max-height:520px){
  .usbmchat-sugg{flex-wrap:wrap;overflow-x:visible}
  .usbmchat-sugg>button{flex:0 1 auto;max-width:100%}
}

/* USBM_CHAT_OCARD_SCROLL - Olivia's profile card was cutting off its own content with no
   way to reach it: up to 539px hidden at 320px and 255px in landscape. .usbmchat-obody
   already had overflow:auto, but as a grid item its default min-height:auto meant it never
   shrank below its content, so the scroll never engaged and .usbmchat-ocard's overflow:hidden
   simply clipped the rest. Giving the row a minmax(0,1fr) track and the body min-height:0
   lets the existing overflow do its job - the photo stays put and only the text scrolls.
   The landscape line is separate: .usbmchat-ophoto carries min-height:460px above 600px wide,
   which on a 360px-tall screen pushed the whole card past the viewport. */
.usbmchat-obody{min-height:0}
.usbmchat-ocard{grid-template-rows:minmax(0,1fr)}
@media(max-width:600px){
  .usbmchat-ocard{grid-template-rows:auto minmax(0,1fr)}
}
@media(max-height:520px){
  .usbmchat-ophoto{min-height:0}
}

/* USBM_CHAT_OCLOSE_44 - the profile card close button was the last sub-44px control left. */
.usbmchat-oclose{width:44px;height:44px}

/* USBM_CUSBANNER_CSS - Custom USB promo banner shown above the Wooden group on /usb-sticks.
   Lives here (not inline) because #shopGrid is re-rendered from JS and any inline style inside it is wiped. */
.usbm-cusbanner-wrap{padding:46px 0 46px}/*USBM_CUSBANNER_GAP: matches the 46px gap between product groups*/
a.scard.usbm-cusbanner{display:block;position:relative;padding:0;background:#fff;border:1px solid #e2e8ef;border-radius:16px;overflow:hidden;line-height:0;transition:transform .24s cubic-bezier(.22,1,.36,1),box-shadow .24s cubic-bezier(.22,1,.36,1),border-color .24s}
a.scard.usbm-cusbanner img{display:block;width:100%;height:auto;border-radius:16px}
a.scard.usbm-cusbanner:hover{transform:translateY(-5px);box-shadow:0 30px 60px -30px rgba(21,36,59,.5);border-color:#d2dbe4}/*CUSBANNER_HOVER*/
.usbm-cusbanner .qv-eye{left:auto;right:10px;background:#202F5E;border-color:#202F5E;color:#fff;opacity:1}
.usbm-cusbanner .qv-eye:hover{background:#FF5AAF;border-color:#FF5AAF}

/* USBM_CD_HEAD_NAVY (2026-09-03): the pop-out basket header now matches the quote-checkout
   summary header - same navy gradient, 44px bag disc, 19px/800 white title and 12.5px sub-line. */
#usbm-cart-drawer .cd-head{background:linear-gradient(135deg,#1E2E64 0%,#16214A 100%);border-bottom:0;padding:20px 22px;gap:13px;justify-content:flex-start}
#usbm-cart-drawer .cd-bag{width:44px;height:44px;flex:none;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center}
#usbm-cart-drawer .cd-bag svg{width:21px;height:21px;stroke:#fff;fill:none;display:block}
#usbm-cart-drawer .cd-htxt{flex:1;min-width:0}
#usbm-cart-drawer .cd-htxt b{display:block;font-size:19px;font-weight:800;color:#fff;line-height:1.15;letter-spacing:-.2px}
#usbm-cart-drawer .cd-sub{display:block;font-size:12.5px;color:#B9C4E4;margin-top:2px}
#usbm-cart-drawer .cd-x{color:#fff;flex:none;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16)}
#usbm-cart-drawer .cd-x:hover{background:rgba(255,255,255,.14)}

/* USBM_CD_HEAD_NARROW: at 320px "Your Quote Basket" wrapped to two lines. Trim the discs and
   the type on the narrowest phones so it holds one line. */
@media(max-width:360px){
  #usbm-cart-drawer .cd-head{padding:16px;gap:11px}
  #usbm-cart-drawer .cd-bag{width:38px;height:38px}
  #usbm-cart-drawer .cd-bag svg{width:18px;height:18px}
  #usbm-cart-drawer .cd-x{width:40px;height:40px}
  #usbm-cart-drawer .cd-htxt b{font-size:16.5px;white-space:nowrap}
  #usbm-cart-drawer .cd-sub{font-size:11.5px}
}

/* USBM_CLIENT_LOGOS: shared previous-clients logo strip - see usbm_render_previous_clients() in functions.php.
   Variants: --full (kicker + H2 + 8-col grid + link), --slim (kicker + grid), --compact (small row for the checkout). */
.usbm-clients{margin:0 auto;text-align:center}
.usbm-clients-head{margin:0 0 24px}
.usbm-clients-head h2,.usbm-clients-head .h2{margin:0}
.usbm-clients-kick{display:flex;align-items:center;justify-content:center;gap:14px;font-size:14px;font-weight:800;letter-spacing:.26em;text-transform:uppercase;color:#C21563;margin:0 0 12px} /* matches .cf-kicker "Help & Support" (Richard 2026-09-08) */
.usbm-clients-kick::before,.usbm-clients-kick::after{content:"";width:26px;height:2px;background:#FF5AAF;opacity:.5;border-radius:2px;flex:0 0 auto}
.usbm-clients-h{margin:0;font-weight:700;font-size:18px;color:#202F5E}
.usbm-clients-lead{max-width:680px;margin:12px auto 0;font-size:16px;line-height:1.55;color:#5c6b8a}
.usbm-clients-grid{list-style:none;margin:0;padding:28px 30px;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:28px 22px;align-items:center;background:#FBFCFE;border:1px solid #E9EEF6;border-radius:24px}
.usbm-clients-grid li{display:flex;align-items:center;justify-content:center;min-width:0;margin:0;padding:0}
.usbm-clients-grid img{display:block;width:auto;height:auto;max-width:100%;max-height:44px;opacity:.92}
.usbm-clients-more{display:inline-block;margin-top:18px;font-weight:600;font-size:15px;color:#202F5E;text-decoration:none;border-bottom:2px solid #FF5AAF;padding-bottom:1px}
.usbm-clients-more:hover{color:#FF5AAF}
.usbm-clients--slim{margin:0 0 34px}
.usbm-clients--slim .usbm-clients-head{margin-bottom:12px}
.usbm-clients--slim .usbm-clients-kick{margin:0}
.usbm-clients--slim .usbm-clients-grid{padding:18px 22px;gap:18px 16px}
.usbm-clients--slim .usbm-clients-grid img{max-height:34px;opacity:.8}
.usbm-clients--compact{margin:0 0 28px}
.usbm-clients--compact .usbm-clients-head{margin-bottom:8px}
.usbm-clients--compact .usbm-clients-kick{margin:0}
.usbm-clients--compact .usbm-clients-grid{padding:14px 18px;gap:12px 12px;border-radius:14px}
.usbm-clients--compact .usbm-clients-grid img{max-height:24px;opacity:.72}
@media(max-width:1100px){.usbm-clients-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:640px){
  .usbm-clients-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 12px;padding:18px 14px;border-radius:18px}
  .usbm-clients-grid img,.usbm-clients--slim .usbm-clients-grid img{max-height:28px}
  .usbm-clients--compact .usbm-clients-grid{padding:12px;gap:10px}
  .usbm-clients--compact .usbm-clients-grid img{max-height:20px}
}

/* USBM_CHAT_X_CIRCLE (2026-09-08): Olivia chat close button as a circle, pink on hover (Richard). */
.usbmchat-head .usbmchat-x{width:34px;height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:50%;border:1.5px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);color:#fff;opacity:1;transition:background .15s ease,border-color .15s ease,color .15s ease}
.usbmchat-head .usbmchat-x:hover,.usbmchat-head .usbmchat-x:focus-visible{background:#FF5AAF;border-color:#FF5AAF;color:#fff;opacity:1}
.usbmchat-head .usbmchat-x svg{width:16px;height:16px}
@media(max-width:640px){.usbmchat-head .usbmchat-x{width:40px;height:40px}}

/* USBM_CLIENT_KICK_MOBILE (2026-09-09): keep "Trusted by Leading Brands" on one line on phones (was wrapping at 14px/.26em) */
@media(max-width:640px){.usbm-clients-kick{font-size:12px;letter-spacing:.16em;gap:10px}.usbm-clients-kick::before,.usbm-clients-kick::after{width:18px}}

/* USBM_BURGER_SQUARE (2026-09-09): icon-only burger sized to match the 42px basket box */
@media(max-width:980px){.header .h-right .mm-burger{width:42px;min-width:42px;height:42px;min-height:42px;padding:0;display:inline-flex;align-items:center;justify-content:center;gap:0;border:1px solid #cdd6e4;border-radius:11px;background:#fff;box-sizing:border-box}}

/* USBM_MOBILE_QUOTE_BTN (2026-09-09): "Quote" pill beside the basket on phones (the full CTA is hidden <=640 by custom_css). Routed by the global /request-a-quote click handler: basket empty -> /request-a-quote, basket has items -> /quote-checkout. */
.header .h-right .hq-quote{display:none}
@media(max-width:640px){
  .header .h-right .hq-quote{display:inline-flex;order:1;align-items:center;justify-content:center;height:42px;padding:0 9px;border-radius:11px;background:#FF5AAF;color:#fff;font-weight:700;font-size:13px;line-height:1;text-decoration:none;box-sizing:border-box;white-space:nowrap;flex:0 0 auto}
  .header .h-right .hq-quote:hover{background:#ec4aa0;color:#fff}
  /* logo cap re-derived for the wider right-hand cluster: bag 42 + quote ~66 + burger 42 + 2 gaps 28 + container padding 32 = ~210 */
  body.usbm-top .header .container .brand-logo{width:min(151px,calc(100vw - 262px)) !important}
}

/* USBM_AP_HERO_IMG_MOBILE (2026-09-09): /all-products hero photo hidden on phones (same treatment as the home + category heroes) */
@media(max-width:640px){.ap-hero .ap-hero-img{display:none !important}}

/* USBM_CD_EMPTY_BTN (2026-09-09, Richard): View All Products button under the empty-basket copy in the quote drawer, styled like the pink checkout button */
#usbm-cart-drawer .cd-empty .cd-e-btn{display:inline-block;margin-top:20px;background:#ff5aaf;color:#fff;font-size:14px;font-weight:600;line-height:1.2;border-radius:11px;padding:12px 24px;text-decoration:none;transition:background .15s}
#usbm-cart-drawer .cd-empty .cd-e-btn:hover{background:#ec4aa0}

/* USBM_PHONE_CENTRE (2026-09-09, Richard): header phone number centred under "Speak to an Account Manager" */
.header .phone .pn{text-align:center}
/* USBM_PHONE_PAD_RIGHT (2026-09-09, Richard): breathing room between the phone block and the basket */
@media(min-width:981px){.header .phone{padding-right:14px}}

/* USBM_UTILITY_WHITE_95 (2026-09-09, Richard): utility-bar labels and links at 95% white (were 82%) */
.utility .u-left > span,.utility a,.utility .u-left .ic{color:rgba(255,255,255,.95)} /* all five labels (only two carry .always), the links, and the ticks (site.css sets .utility .u-left .ic to the pink --cta) - Richard 2026-09-09 */

/* USBM_CD_EMPTY_MATCH (2026-09-11, Richard): drawer head status pill + empty state copied from the /quote-checkout summary (.qs-pill / #co-items empty). Pill: white 10% on the navy head, 14px/600, 10px dot - green beat with items, amber flash when empty. Empty body: 16px #9aa6bd line + pink Browse All Products (.btn.btn-cta sizing as .qs-browse). */
#usbm-cart-drawer .cd-pill{display:inline-flex;align-items:center;gap:5px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);color:#fff;font-size:12px;line-height:1.5;font-weight:600;border-radius:999px;padding:4px 9px;flex:none;white-space:nowrap;margin:0} /* 2026-09-11 Richard: +20% (10 -> 12px, dot 6 -> 7, padding 3/7 -> 4/9) now that the sub line is gone */ /* 2026-09-11 Richard (3rd position): pill sits NEXT TO the title inside .cd-trow, shrunk ~30% (14px -> 10px, dot 10 -> 6) so title 159 + 8 + pill 107 fits the 277px column at 437 wide; wraps under the title on phones */
#usbm-cart-drawer .cd-trow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px} /* 2026-09-11 Richard: pill lower under the title (2px -> 12px) */ /* 2026-09-11 final: the row holds the sub line + the pill */
#usbm-cart-drawer .cd-trow .cd-sub{margin-top:0;flex:none}
#usbm-cart-drawer .cd-head{flex-wrap:wrap;row-gap:0} /* the 13px gap must not also space the wrapped pill row */
#usbm-cart-drawer .cd-bag{order:1}#usbm-cart-drawer .cd-htxt{order:2}#usbm-cart-drawer .cd-x{order:4}
#usbm-cart-drawer .cd-pill i{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#35D08A;display:block;animation:usbmCdDotBeat 1.8s ease-out infinite}
#usbm-cart-drawer .cd-pill.waiting i{background:#F5A623;animation:usbmCdDotBeatAmber 1.8s ease-out infinite} /* 2026-09-11 Richard: 100% the same beat as the green dot, in orange (same scale 1 -> 1.22 + expanding ring, same 1.8s ease-out) */
@keyframes usbmCdDotBeatAmber{0%{transform:scale(1);box-shadow:0 0 0 0 rgba(245,166,35,.55)}70%{transform:scale(1.22);box-shadow:0 0 0 7px rgba(245,166,35,0)}100%{transform:scale(1);box-shadow:0 0 0 0 rgba(245,166,35,0)}}
@keyframes usbmCdDotBeat{0%{transform:scale(1);box-shadow:0 0 0 0 rgba(53,208,138,.55)}70%{transform:scale(1.22);box-shadow:0 0 0 7px rgba(53,208,138,0)}100%{transform:scale(1);box-shadow:0 0 0 0 rgba(53,208,138,0)}}
@keyframes usbmCdDotFlash{0%,100%{opacity:1}50%{opacity:.3}}
@media(prefers-reduced-motion:reduce){#usbm-cart-drawer .cd-pill i,#usbm-cart-drawer .cd-pill.waiting i{animation:none}}

#usbm-cart-drawer .cd-empty{padding:18px;text-align:left;color:#9aa6bd;font-size:16px;line-height:1.5}
#usbm-cart-drawer .cd-empty .cd-e1{display:block;margin:0 0 14px;font-size:16px;color:#9aa6bd}
#usbm-cart-drawer .cd-empty .cd-e-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:0;padding:11px 22px;font-size:15px;font-weight:700;line-height:1.2;border-radius:var(--radius,12px);background:#ff5aaf;color:#fff;text-decoration:none;transition:background .15s}
#usbm-cart-drawer .cd-empty .cd-e-btn:hover{background:#ec4aa0}

/* USBM_CD_FOOT_FOLLOW (2026-09-11, Richard): the drawer footer (summary line, Proceed to Quote Checkout, Continue Browsing) is no longer pinned to the bottom of the panel - it sits directly under the content: under Browse All Products when empty, under the last item card when filled. The whole panel scrolls (head stays sticky) instead of the items area scrolling on its own. */
#usbm-cart-drawer .cd-panel{overflow-y:auto;overflow-x:hidden}
#usbm-cart-drawer .cd-items{flex:0 0 auto;overflow:visible}
#usbm-cart-drawer .cd-foot{margin-top:0}
