.cws-search{position:relative;max-width:760px;--cws-border:#e1e3e5;--cws-border-soft:#eceeef;--cws-text:#24282c;--cws-muted:#737a80;--cws-bg:#fff;--cws-hover:#f5f6f7;--cws-soft:#f8f9f9;font-family:inherit;color:var(--cws-text)}
.cws-search__input{width:100%;box-sizing:border-box;padding:14px 17px;border:1px solid #d8dbde;border-radius:10px;background:#fff;font:inherit;line-height:1.35;outline:none;transition:border-color .15s,box-shadow .15s,opacity .12s}.cws-search__input::placeholder{color:#7c8288}.cws-search__input.is-phrase-changing{opacity:.72}.cws-search__input:focus{border-color:#9ca2a7;box-shadow:0 0 0 3px rgba(0,0,0,.04)}.cws-search.is-loading .cws-search__input{background-image:linear-gradient(90deg,transparent,rgba(0,0,0,.03),transparent);background-size:180% 100%;animation:cws-loading .8s linear infinite}@keyframes cws-loading{to{background-position:-180% 0}}
.cws-search__results{position:absolute;top:calc(100% + 9px);z-index:999999;background:var(--cws-bg);border:1px solid var(--cws-border);border-radius:13px;box-shadow:0 18px 54px rgba(27,31,35,.14);overflow:hidden;max-width:calc(100vw - 24px)}
.cws-panel{display:grid;grid-template-columns:minmax(320px,43%) minmax(390px,57%);min-height:410px;max-height:var(--cws-max-height,680px)}.cws-results-list{grid-column:2;border-left:1px solid var(--cws-border);overflow:auto;background:#fff}.cws-products-head,.cws-section-title{display:flex;align-items:center;justify-content:space-between;padding:13px 16px 9px;font-size:10.5px;font-weight:750;text-transform:uppercase;letter-spacing:.075em;color:#686f75}.cws-products-head small{font-size:10.5px;font-weight:500;text-transform:none;letter-spacing:0;color:#979ca1}
.cws-categories{border-bottom:1px solid var(--cws-border);background:#fafafa}.cws-category-list{padding:0 9px 10px}.cws-category{display:grid;grid-template-columns:1fr auto 16px;gap:10px;align-items:center;padding:9px 10px;border:1px solid transparent;border-radius:8px;color:inherit!important;text-decoration:none!important;transition:background .1s,border-color .1s}.cws-category:hover{background:#f3f4f5;border-color:#e8eaec}.cws-category span{font-size:13px;font-weight:650}.cws-category small{font-size:10.5px;color:var(--cws-muted)}.cws-category b{display:flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:13px;color:#9ba0a5;font-weight:500}
.cws-products{padding-bottom:8px}.cws-result{display:grid;grid-template-columns:64px 1fr 18px;gap:13px;align-items:center;margin:0 8px;padding:10px 9px;text-decoration:none!important;color:inherit!important;border:1px solid transparent;border-radius:9px;min-height:70px;transition:background .1s,border-color .1s}.cws-result+.cws-result{margin-top:1px}.cws-result:hover,.cws-result.is-active{background:var(--cws-hover);border-color:#e8eaec}.cws-result__image-wrap{width:64px;height:64px;padding:4px;box-sizing:border-box;border:1px solid #e7e9eb;border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}.cws-result__image{display:block;width:100%;height:100%;object-fit:contain;border-radius:5px;background:#fff}.cws-result__main{display:flex;flex-direction:column;gap:7px;min-width:0}.cws-result__name{font-size:14px;line-height:1.3;font-weight:650;padding-right:3px}.cws-result__meta{display:flex;flex-wrap:wrap;align-items:center;gap:7px 9px;font-size:13px}.cws-result__price{font-weight:650}.cws-result__codes,.cws-preview__codes{display:flex;flex-wrap:wrap;gap:5px}.cws-code{display:inline-flex;gap:5px;align-items:center;padding:3px 7px;border:1px solid #dfe2e4;background:#fff;border-radius:6px;color:#61686e;font-size:10px;line-height:1.3}.cws-code b{font-size:8.5px;letter-spacing:.055em;color:#93999e}.cws-code span{padding-top:.2px}.cws-result__chevron{display:flex;align-items:center;justify-content:center;width:18px;height:18px;color:#a0a5aa;font-size:18px;line-height:1;font-weight:400}
.cws-preview{grid-column:1;display:flex!important;flex-direction:column;text-decoration:none!important;color:inherit!important;padding:22px;background:linear-gradient(180deg,#fff,#fafafa);overflow:auto}.cws-preview__image-wrap{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e5e7e9;border-radius:11px;overflow:hidden;aspect-ratio:1.18/1;margin-bottom:18px;min-height:205px;padding:10px;box-sizing:border-box}.cws-preview__image{display:block;width:100%;height:100%;object-fit:contain;transition:transform .2s ease}.cws-preview:hover .cws-preview__image{transform:scale(1.018)}.cws-preview__body{display:flex;flex-direction:column;align-items:flex-start;gap:9px;min-height:0}.cws-preview__eyebrow{text-transform:uppercase;letter-spacing:.075em;font-size:9px;font-weight:750;color:#979ca1}.cws-preview__name{font-weight:720;font-size:18px;line-height:1.3;padding-right:5px}.cws-preview__price{font-size:16px;font-weight:650}.cws-preview__text{color:var(--cws-muted);font-size:12.5px;line-height:1.52;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;padding-top:1px}.cws-preview__footer{margin-top:auto;width:100%;padding-top:9px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #eceeef}.cws-preview__stock{font-size:11px;font-weight:650}.cws-preview__stock--instock{color:#287a3b}.cws-preview__stock--outofstock{color:#9a3131}.cws-preview__cta{font-size:12px;font-weight:700}.cws-preview__cta span{margin-left:4px;color:#8f969b}.cws-preview--empty{align-items:center;justify-content:center;color:var(--cws-muted);font-size:13px}
.cws-view-all-wrap{padding:10px 12px 5px;margin-top:5px;border-top:1px solid var(--cws-border-soft)}.cws-view-all{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #d9dcdf;border-radius:8px;background:#f5f6f7;color:#30353a!important;text-decoration:none!important;font-size:13px;font-weight:650;transition:background .12s,border-color .12s,transform .12s}.cws-view-all:hover{background:#eceeef;border-color:#ced2d5}.cws-view-all b{font-weight:550;color:#777e84}.cws-view-all__icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid #d4d7da;border-radius:50%;background:#fff;color:#7d8489;font-size:13px;line-height:1}
.cws-search__empty{display:flex;flex-direction:column;gap:6px;padding:22px;color:var(--cws-muted);font-size:13px}.cws-search__empty strong{color:#333}
@media(min-width:1100px){.cws-panel{grid-template-columns:minmax(380px,44%) minmax(450px,56%)}.cws-preview{padding:25px}.cws-preview__name{font-size:19px}.cws-preview__image-wrap{min-height:240px}.cws-result__name{font-size:14.5px}}
@media(max-width:720px){.cws-panel{display:block;min-height:0;max-height:var(--cws-max-height,72vh)}.cws-preview{display:none!important}.cws-results-list{border-left:0;max-height:inherit}.cws-result{grid-template-columns:56px 1fr 16px;margin:0 6px;padding:9px 7px}.cws-result__image-wrap{width:56px;height:56px}.cws-category{grid-template-columns:1fr auto}.cws-category b{display:none}.cws-result__codes{gap:4px}.cws-code{font-size:9px;padding:3px 6px}.cws-view-all-wrap{padding:9px 9px 4px}}

/* v0.4.1: isolate autocomplete colours from dark/header theme inheritance. */
.cws-search .cws-search__results,
.cws-search .cws-panel,
.cws-search .cws-results-list,
.cws-search .cws-preview,
.cws-search .cws-result,
.cws-search .cws-category {
  color:#24282c !important;
}
.cws-search .cws-result__name,
.cws-search .cws-preview__name,
.cws-search .cws-result__price,
.cws-search .cws-preview__price,
.cws-search .cws-preview__cta,
.cws-search .cws-category span,
.cws-search .cws-products-head,
.cws-search .cws-section-title {
  color:#24282c !important;
}
.cws-search .cws-result__price *,
.cws-search .cws-preview__price * {
  color:#24282c !important;
}
.cws-search .cws-preview__text,
.cws-search .cws-category small,
.cws-search .cws-products-head small,
.cws-search .cws-search__empty,
.cws-search .cws-preview--empty {
  color:#737a80 !important;
}
.cws-search .cws-preview__eyebrow {
  color:#8b9298 !important;
}
.cws-search .cws-code {
  color:#61686e !important;
}
.cws-search .cws-code b {
  color:#8d949a !important;
}
.cws-search .cws-code span {
  color:#555c62 !important;
}
.cws-search .cws-result__chevron,
.cws-search .cws-category b,
.cws-search .cws-preview__cta span,
.cws-search .cws-view-all__icon {
  color:#858c92 !important;
}
.cws-search .cws-view-all,
.cws-search .cws-view-all span {
  color:#30353a !important;
}
.cws-search .cws-view-all b {
  color:#6f767c !important;
}
.cws-search .cws-preview__stock--instock { color:#287a3b !important; }
.cws-search .cws-preview__stock--outofstock { color:#9a3131 !important; }
.cws-search .cws-search__input {
  color:#24282c !important;
  background-color:#fff !important;
}
.cws-search .cws-search__input::placeholder {
  color:#7c8288 !important;
  opacity:1;
}

/* v0.4.2: letterbox category imagery + cleaner open product rows. */
.cws-search .cws-category-list{
  display:grid;
  gap:7px;
  padding:0 9px 11px;
}
.cws-search .cws-category{
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:1fr 20px;
  align-items:center;
  min-height:68px;
  padding:11px 12px 11px 14px;
  overflow:hidden;
  border:0 !important;
  border-radius:9px;
  background:#eef0f1;
}
.cws-search .cws-category.has-image{
  background-image:var(--cws-category-image);
  background-size:cover;
  background-position:center 46%;
}
.cws-search .cws-category.has-image::before{
  content:"";
  position:absolute;
  inset:-7%;
  z-index:-2;
  background-image:var(--cws-category-image);
  background-size:cover;
  background-position:center 46%;
  transform:scale(1.09);
  transition:transform .2s ease;
}
.cws-search .cws-category.has-image:hover::before{transform:scale(1.14)}
.cws-search .cws-category__shade{
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,rgba(17,20,23,.72) 0%,rgba(17,20,23,.48) 57%,rgba(17,20,23,.17) 100%);
}
.cws-search .cws-category:not(.has-image) .cws-category__shade{
  background:linear-gradient(90deg,rgba(255,255,255,.78),rgba(255,255,255,.28));
}
.cws-search .cws-category__content{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
}
.cws-search .cws-category__name{
  font-size:13.5px !important;
  font-weight:720 !important;
  line-height:1.2;
}
.cws-search .cws-category.has-image .cws-category__name,
.cws-search .cws-category.has-image small,
.cws-search .cws-category.has-image b{
  color:#fff !important;
  text-shadow:0 1px 2px rgba(0,0,0,.28);
}
.cws-search .cws-category.has-image small{color:rgba(255,255,255,.82) !important}
.cws-search .cws-category b{justify-self:end}

.cws-search .cws-result{
  grid-template-columns:78px 1fr 18px;
  gap:14px;
  margin:0 8px;
  padding:10px 9px;
  border:0 !important;
  border-radius:9px;
  min-height:84px;
}
.cws-search .cws-result:hover,
.cws-search .cws-result.is-active{
  border:0 !important;
  background:#f4f5f6;
}
.cws-search .cws-result__image-wrap{
  width:78px;
  height:78px;
  padding:0;
  border:0 !important;
  border-radius:8px;
  background:transparent;
}
.cws-search .cws-result__image{
  border-radius:7px;
  background:transparent;
  object-fit:contain;
}

@media(min-width:1100px){
  .cws-search .cws-result{grid-template-columns:84px 1fr 18px;min-height:90px}
  .cws-search .cws-result__image-wrap{width:84px;height:84px}
  .cws-search .cws-category{min-height:74px}
}
@media(max-width:720px){
  .cws-search .cws-result{grid-template-columns:66px 1fr 16px;min-height:72px}
  .cws-search .cws-result__image-wrap{width:66px;height:66px}
  .cws-search .cws-category{min-height:62px;grid-template-columns:1fr 18px}
}

/* v0.7.0: functional desktop search CTA. */
.cws-search__bar{position:relative;display:flex;align-items:stretch;width:100%}
.cws-search__bar .cws-search__input{width:100%;padding-right:48px}
.cws-search__submit{position:absolute;right:3px;top:3px;bottom:3px;width:42px;border:0;background:transparent;color:#3f454b;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:7px;padding:0;z-index:2}
.cws-search__submit:hover{background:#f0f2f4;color:#17191c}
.cws-search__submit:focus-visible{outline:2px solid currentColor;outline-offset:1px}
.cws-search__submit span{display:block;width:16px;height:16px;border:2px solid currentColor;border-radius:50%;position:relative;box-sizing:border-box}
.cws-search__submit span::after{content:"";position:absolute;width:7px;height:2px;background:currentColor;right:-6px;bottom:-3px;transform:rotate(45deg);transform-origin:left center;border-radius:2px}
@media(max-width:720px){.cws-search__submit{width:40px}.cws-search__bar .cws-search__input{padding-right:45px}}
/* v0.8 article suggestion: deliberately lower visual priority than categories/products. */
.cws-articles{padding:0 9px 8px;border-bottom:1px solid var(--cws-border);background:#fff}.cws-article{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 10px;border-radius:8px;text-decoration:none!important;color:#2f3439!important;background:#fafafa}.cws-article:hover{background:#f4f5f6}.cws-article__main{display:flex;flex-direction:column;min-width:0;gap:2px}.cws-article__main strong{font-size:12.5px;line-height:1.3;color:#2f3439!important}.cws-article__main small{font-size:10.5px;line-height:1.35;color:#7a8188!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:430px}.cws-article__cta{font-size:10.5px;color:#7a8188!important;white-space:nowrap}@media(max-width:720px){.cws-article{align-items:flex-start}.cws-article__main small{max-width:220px}.cws-article__cta{display:none}}


/* v0.9.0: persistent results CTA + stronger category image treatment. */
.cws-search .cws-category.has-image{
  background-color:#31363a !important;
  background-image:none !important;
}
.cws-search .cws-category.has-image::before{
  filter:saturate(.9) contrast(1.04);
  opacity:1;
}
.cws-search .cws-category.has-image .cws-category__shade{
  background:linear-gradient(90deg,rgba(18,21,24,.78) 0%,rgba(18,21,24,.48) 58%,rgba(18,21,24,.15) 100%);
}
.cws-search .cws-view-all-wrap{
  position:sticky;
  bottom:0;
  z-index:6;
  margin:8px 0 0;
  padding:10px 12px 11px;
  background:linear-gradient(180deg,rgba(255,255,255,.82),#fff 30%);
  border-top:1px solid #e4e7e9;
}
.cws-search .cws-view-all{
  min-height:44px;
  padding:11px 14px;
  background:#eef0f2;
  border:0 !important;
  border-radius:8px;
  color:#24292d !important;
  box-shadow:none !important;
}
.cws-search .cws-view-all:hover{background:#e4e7e9;border:0 !important;transform:none}
.cws-search .cws-view-all b{color:#626970 !important}

/* v0.10.0: viewport-fit results, borderless preview, robust category letterboxes. */
.cws-search .cws-panel{
  max-height:none !important;
  min-height:0;
}
.cws-search .cws-results-list{
  overflow:visible !important;
  border-left:0 !important;
}
.cws-search .cws-preview{
  border:0 !important;
  overflow:hidden;
}
.cws-search .cws-preview__image-wrap{
  border:0 !important;
  background:#fff;
  overflow:hidden;
}
.cws-search .cws-preview__image{
  width:100%;
  height:100%;
  object-fit:contain !important;
  object-position:center center;
}
.cws-search .cws-category{
  min-height:64px;
  aspect-ratio:auto;
  background:#31363a !important;
}
.cws-search .cws-category__image{
  position:absolute;
  inset:0;
  z-index:-2;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  transform:scale(1.04);
  transition:transform .2s ease;
}
.cws-search .cws-category:hover .cws-category__image{transform:scale(1.08)}
.cws-search .cws-category.has-image::before{display:none !important}
.cws-search .cws-category.has-image .cws-category__shade{
  background:linear-gradient(90deg,rgba(18,21,24,.78) 0%,rgba(18,21,24,.48) 58%,rgba(18,21,24,.15) 100%);
}
.cws-search .cws-view-all-wrap{
  position:relative !important;
  bottom:auto !important;
}
@media(min-width:1440px) and (min-height:900px){
  .cws-search .cws-result{min-height:86px;padding-top:8px;padding-bottom:8px}
}


/* v0.11.0: restrained six-result desktop layout + external high-pass article suggestion. */
@media (min-width:721px){
  .cws-search__results{max-width:940px!important;}
  .cws-panel{grid-template-columns:minmax(300px,40%) minmax(390px,60%);min-height:0;max-height:none!important;}
  .cws-results-list{overflow:visible!important;}
  .cws-products{padding-bottom:6px;}
  .cws-result{min-height:68px;padding-top:8px;padding-bottom:8px;}
  .cws-preview{overflow:hidden!important;padding:20px;}
  .cws-preview__image-wrap{min-height:190px;max-height:260px;}
}
.cws-article-suggestion{margin-top:8px;max-width:100%;}
.cws-article-suggestion .cws-articles{border:1px solid #eceeef;border-radius:9px;background:#fff;overflow:hidden;}
.cws-article-suggestion .cws-section-title{padding:9px 13px 5px;font-size:9.5px;color:#8a9095;}
.cws-article-suggestion .cws-article{padding:9px 13px 11px;}
.cws-article-suggestion .cws-article__main strong{font-size:12.5px;}
.cws-article-suggestion .cws-article__main small{display:none;}
/* Keep SKU and OE identity chips explicit in both columns. */
.cws-search .cws-result__codes,.cws-search .cws-preview__codes{display:flex!important;visibility:visible!important;opacity:1!important;}
.cws-search .cws-code{color:#555d63!important;background:#f7f8f8!important;border-color:#e5e7e8!important;}
.cws-search .cws-code b{color:#747b81!important;}


/* v0.12.0: low-result specialist rescue actions. */
.cws-search .cws-specialist{
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  margin-top:8px;
  padding:11px 12px;
  border:1px solid #e4e7e9;
  border-radius:9px;
  background:#f8f9f9;
  color:#24282c!important;
}
.cws-search .cws-specialist__chat{
  width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e2e5e7;color:#535a60;
}
.cws-search .cws-specialist__chat svg{width:18px;height:18px;fill:currentColor}
.cws-search .cws-specialist__copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.cws-search .cws-specialist__copy strong{font-size:12.5px;line-height:1.3;color:#252a2e!important}
.cws-search .cws-specialist__copy small{font-size:10.5px;line-height:1.35;color:#747b81!important}
.cws-search .cws-specialist__actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.cws-search .cws-specialist__action{min-height:34px;padding:7px 9px;display:inline-flex;align-items:center;gap:6px;border:1px solid #dde1e3;border-radius:7px;background:#fff;color:#343a3f!important;text-decoration:none!important;font-size:10.5px;font-weight:650;box-shadow:none!important}
.cws-search .cws-specialist__action:hover{background:#f0f2f3;border-color:#d4d9dc}
.cws-search .cws-specialist__action svg{width:15px;height:15px;fill:currentColor;flex:0 0 auto}
.cws-search .cws-specialist__action--wa{color:#277a45!important}
@media(max-width:720px){
  .cws-search .cws-specialist{grid-template-columns:34px minmax(0,1fr);padding:10px;}
  .cws-search .cws-specialist__chat{width:32px;height:32px}
  .cws-search .cws-specialist__actions{grid-column:1/-1;justify-content:stretch}
  .cws-search .cws-specialist__action{flex:1;justify-content:center;min-height:40px}
}

/* v0.13.0: restore a more generous preview/product split and maximise preview imagery. */
@media (min-width:721px){
  .cws-search__results{max-width:960px!important;}
  .cws-panel{grid-template-columns:minmax(360px,44%) minmax(440px,56%)!important;}
  .cws-preview{padding:22px 24px!important;}
  .cws-preview__image-wrap{
    width:100%;
    min-height:280px!important;
    max-height:340px!important;
    aspect-ratio:auto!important;
    margin-bottom:16px;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
  }
  .cws-preview__image{
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:340px!important;
    object-fit:contain!important;
    object-position:center center!important;
  }
}
@media (min-width:1200px){
  .cws-panel{grid-template-columns:minmax(390px,45%) minmax(450px,55%)!important;}
  .cws-preview__image-wrap{min-height:310px!important;max-height:370px!important;}
  .cws-preview__image{max-height:370px!important;}
}


/* v0.13.1: keep SKU + OE together and unmistakably visible in live product rows. */
.cws-search .cws-result__codes{
  display:inline-flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:5px!important;
  min-width:0;
  max-width:100%;
}
.cws-search .cws-result__codes .cws-code{
  display:inline-flex!important;
  align-items:center;
  gap:4px;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  white-space:nowrap;
  color:#555d63!important;
}
.cws-search .cws-result__codes .cws-code b{font-size:9px;color:#777f85!important;}
.cws-search .cws-result__codes .cws-code span{font-size:10.5px;color:#4b5258!important;}
.cws-search .cws-code-separator{font-size:11px;color:#a3a8ac!important;line-height:1;}
.cws-search .cws-preview__codes .cws-code-separator{display:none;}
@media(max-width:720px){
  .cws-search .cws-result__codes{gap:4px!important;}
  .cws-search .cws-result__codes .cws-code span{font-size:9.5px;}
}

/* v0.14.0: 50/50 preview balance + stable seven-row search frame. */
@media (min-width:721px){
  .cws-search__results{max-width:960px!important;}
  .cws-search .cws-panel{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    height:var(--cws-frame-height,620px)!important;
    max-height:var(--cws-frame-height,620px)!important;
    min-height:520px!important;
    overflow:hidden!important;
  }
  .cws-search .cws-results-list{
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
    display:flex;
    flex-direction:column;
  }
  .cws-search .cws-products{
    min-height:0;
    display:flex;
    flex-direction:column;
    flex:1 1 auto;
    padding-bottom:0!important;
  }
  .cws-search .cws-result{
    flex:1 1 0;
    min-height:68px!important;
    max-height:88px;
  }
  .cws-search .cws-view-all-wrap{
    margin-top:auto!important;
    flex:0 0 auto;
  }
  .cws-search .cws-preview{
    height:100%!important;
    min-height:0!important;
    box-sizing:border-box;
    padding:22px 24px!important;
  }
  .cws-search .cws-preview__image-wrap{
    flex:1 1 330px;
    width:100%!important;
    min-height:280px!important;
    max-height:390px!important;
    margin-bottom:15px!important;
  }
  .cws-search .cws-preview__image{
    width:100%!important;
    height:100%!important;
    max-height:390px!important;
    object-fit:contain!important;
  }
}
@media (max-height:760px) and (min-width:721px){
  .cws-search .cws-panel{min-height:480px!important;}
  .cws-search .cws-preview__image-wrap{min-height:230px!important;max-height:310px!important;}
  .cws-search .cws-preview__image{max-height:310px!important;}
  .cws-search .cws-result{min-height:62px!important;max-height:76px!important;}
}
\n\n/* v0.15.0: simplified early-style white UI, eight-row frame, no stacked/sticky visual effects. */\n.cws-search{--cws-bg:#fff;--cws-hover:#f6f7f7;--cws-soft:#fafafa;--cws-border:#e5e7e8;--cws-border-soft:#eceeef}\n.cws-search .cws-search__results{\n  background:#fff!important;\n  border:1px solid #e4e6e8!important;\n  border-radius:10px!important;\n  box-shadow:0 8px 24px rgba(25,29,33,.08)!important;\n  overflow:visible!important;\n}\n@media(min-width:721px){\n  .cws-search .cws-panel{\n    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;\n    height:var(--cws-frame-height,590px)!important;\n    min-height:500px!important;\n    max-height:590px!important;\n    overflow:hidden!important;\n    background:#fff!important;\n    border-radius:10px!important;\n  }\n  .cws-search .cws-preview{\n    background:#fff!important;\n    padding:20px 22px!important;\n    overflow:hidden!important;\n    border:0!important;\n  }\n  .cws-search .cws-preview__image-wrap{\n    flex:1 1 300px!important;\n    min-height:250px!important;\n    max-height:340px!important;\n    margin:0 0 14px!important;\n    padding:0!important;\n    border:0!important;\n    border-radius:0!important;\n    background:#fff!important;\n  }\n  .cws-search .cws-preview__image{\n    width:100%!important;\n    height:100%!important;\n    max-height:340px!important;\n    object-fit:contain!important;\n    object-position:center!important;\n    background:#fff!important;\n  }\n  .cws-search .cws-preview:hover .cws-preview__image{transform:none!important}\n  .cws-search .cws-results-list{\n    height:100%!important;\n    overflow:hidden!important;\n    border-left:1px solid #eceeef!important;\n    background:#fff!important;\n  }\n  .cws-search .cws-products{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;min-height:0!important;padding:0!important}\n  .cws-search .cws-result{\n    flex:1 1 0!important;\n    min-height:62px!important;\n    max-height:72px!important;\n    grid-template-columns:64px minmax(0,1fr) 14px!important;\n    gap:11px!important;\n    margin:0 10px!important;\n    padding:6px 4px!important;\n    border:0!important;\n    border-radius:5px!important;\n    background:#fff!important;\n    box-shadow:none!important;\n  }\n  .cws-search .cws-result:hover,.cws-search .cws-result.is-active{background:#f6f7f7!important}\n  .cws-search .cws-result__image-wrap{width:60px!important;height:60px!important;border:0!important;border-radius:4px!important;background:#fff!important}\n  .cws-search .cws-result__image{border-radius:4px!important;background:#fff!important}\n}\n.cws-search .cws-products-head,.cws-search .cws-section-title{padding:9px 14px 7px!important;background:#fff!important}\n.cws-search .cws-categories{background:#fff!important;border-bottom:1px solid #eceeef!important}\n.cws-search .cws-category-list{gap:5px!important;padding:0 10px 8px!important}\n.cws-search .cws-category{min-height:54px!important;border-radius:6px!important;box-shadow:none!important}\n.cws-search .cws-category.has-image::before{inset:0!important;transform:none!important;filter:none!important;transition:none!important}\n.cws-search .cws-category.has-image:hover::before{transform:none!important}\n.cws-search .cws-category.has-image .cws-category__shade{background:linear-gradient(90deg,rgba(18,21,24,.64),rgba(18,21,24,.18))!important}\n.cws-search .cws-view-all-wrap{\n  position:static!important;\n  margin:0!important;\n  padding:8px 10px 10px!important;\n  border-top:1px solid #eceeef!important;\n  background:#fff!important;\n  box-shadow:none!important;\n  flex:0 0 auto!important;\n}\n.cws-search .cws-view-all{\n  min-height:42px!important;\n  padding:9px 11px!important;\n  border:0!important;\n  border-radius:6px!important;\n  background:#f1f2f3!important;\n  box-shadow:none!important;\n}\n.cws-search .cws-view-all:hover{background:#e9ebec!important}\n.cws-search .cws-view-all__icon{border:0!important;background:transparent!important}\n.cws-search .cws-preview__footer{border-top:1px solid #eef0f1!important}\n.cws-search .cws-code{box-shadow:none!important}\n.cws-search .cws-specialist,.cws-search .cws-article-suggestion{box-shadow:none!important;background:#fff!important}\n.cws-search .cws-specialist{margin-top:6px!important;border:1px solid #e5e7e8!important;border-radius:8px!important}\n.cws-search .cws-article-suggestion{margin-top:6px!important;border:1px solid #e5e7e8!important;border-radius:8px!important}\n@media(max-height:760px) and (min-width:721px){\n  .cws-search .cws-panel{min-height:500px!important}\n  .cws-search .cws-preview__image-wrap{min-height:220px!important;max-height:285px!important}\n  .cws-search .cws-preview__image{max-height:285px!important}\n  .cws-search .cws-result{min-height:58px!important;max-height:66px!important}\n}\n@media(max-width:720px){\n  .cws-search .cws-search__results{overflow:hidden!important;box-shadow:0 6px 18px rgba(25,29,33,.08)!important}\n  .cws-search .cws-view-all-wrap{position:static!important}\n}\n\n\n/* v0.18.2: visual-only title containment + explicit SKU/OE visibility. */
.cws-search .cws-result__main{
  min-width:0!important;
  overflow:hidden!important;
}
.cws-search .cws-result__name{
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
  line-height:1.28!important;
}
.cws-search .cws-result__meta{
  min-width:0!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:7px!important;
  overflow:hidden!important;
}
.cws-search .cws-result__price{
  flex:0 0 auto!important;
  white-space:nowrap!important;
}
.cws-search .cws-result__codes{
  display:flex!important;
  flex:1 1 auto!important;
  min-width:0!important;
  overflow:hidden!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  white-space:nowrap!important;
}
.cws-search .cws-result__codes .cws-code{
  display:inline-flex!important;
  flex:0 1 auto!important;
  min-width:0!important;
  max-width:48%!important;
  overflow:hidden!important;
}
.cws-search .cws-result__codes .cws-code span{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.cws-search .cws-result__codes .cws-code-separator{
  display:inline-block!important;
  flex:0 0 auto!important;
}
.cws-search .cws-preview__codes{
  display:flex!important;
  width:100%!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:6px 10px!important;
  visibility:visible!important;
  opacity:1!important;
}
.cws-search .cws-preview__codes .cws-code{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  background:#f6f7f7!important;
  border:0!important;
  border-radius:4px!important;
  padding:4px 7px!important;
  white-space:nowrap!important;
}
.cws-search .cws-preview__codes .cws-code-separator{
  display:inline-block!important;
  color:#a3a8ac!important;
}
@media(max-width:720px){
  .cws-search .cws-result__name{font-size:13px!important;}
  .cws-search .cws-result__meta{gap:5px!important;}
  .cws-search .cws-result__codes .cws-code{max-width:46%!important;}
}

/* v0.18.3: visual-only right-column spacing consolidation. No search/ranking logic changes. */
@media (min-width:721px){
  .cws-search .cws-results-list{
    box-sizing:border-box!important;
    padding:0!important;
  }
  .cws-search .cws-products-head,
  .cws-search .cws-section-title{
    padding:10px 16px 8px!important;
  }
  .cws-search .cws-products{
    box-sizing:border-box!important;
    padding:2px 0!important;
  }
  .cws-search .cws-result{
    box-sizing:border-box!important;
    grid-template-columns:64px minmax(0,1fr) 14px!important;
    column-gap:13px!important;
    margin:0 10px!important;
    padding:8px 10px!important;
    min-height:66px!important;
    max-height:76px!important;
    align-items:center!important;
  }
  .cws-search .cws-result__main{
    min-width:0!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    gap:6px!important;
    padding:1px 0!important;
  }
  .cws-search .cws-result__name{
    margin:0!important;
    padding:0!important;
    line-height:1.25!important;
  }
  .cws-search .cws-result__meta{
    min-height:20px!important;
    margin:0!important;
    padding:0!important;
    gap:8px!important;
    line-height:1.2!important;
  }
  .cws-search .cws-result__codes{
    gap:6px!important;
  }
  .cws-search .cws-result__codes .cws-code{
    padding:3px 6px!important;
  }
  .cws-search .cws-result__chevron{
    margin-left:1px!important;
  }
  .cws-search .cws-view-all-wrap{
    padding:9px 10px 10px!important;
  }
}

@media (max-height:760px) and (min-width:721px){
  .cws-search .cws-result{
    padding:7px 9px!important;
    min-height:62px!important;
    max-height:70px!important;
  }
  .cws-search .cws-result__main{gap:5px!important;}
}

/* v0.18.5: right-column row grid cleanup only. Search/ranking logic unchanged. */
@media (min-width:721px){
  .cws-search .cws-result{
    display:grid!important;
    grid-template-columns:64px minmax(0,1fr) 18px!important;
    grid-template-rows:1fr!important;
    align-items:center!important;
    column-gap:12px!important;
    min-height:70px!important;
    max-height:78px!important;
    padding:6px 10px!important;
    margin:0 10px!important;
    overflow:hidden!important;
  }
  .cws-search .cws-result__image-wrap{
    grid-column:1!important;
    width:62px!important;
    height:62px!important;
    min-width:62px!important;
    min-height:62px!important;
    margin:0!important;
    padding:2px!important;
    align-self:center!important;
    overflow:hidden!important;
  }
  .cws-search .cws-result__image{
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
  }
  .cws-search .cws-result__main{
    grid-column:2!important;
    min-width:0!important;
    width:100%!important;
    display:grid!important;
    grid-template-rows:auto auto!important;
    align-content:center!important;
    row-gap:5px!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
  }
  .cws-search .cws-result__name{
    min-width:0!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    font-size:13.5px!important;
    line-height:1.2!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .cws-search .cws-result__meta{
    min-width:0!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:max-content minmax(0,1fr)!important;
    align-items:center!important;
    column-gap:9px!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    line-height:1.15!important;
  }
  .cws-search .cws-result__price{
    min-width:0!important;
    font-size:12.5px!important;
    white-space:nowrap!important;
  }
  .cws-search .cws-result__codes{
    min-width:0!important;
    width:100%!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    gap:5px!important;
    overflow:hidden!important;
  }
  .cws-search .cws-result__codes .cws-code{
    min-width:0!important;
    max-width:none!important;
    padding:2px 4px!important;
    border:0!important;
    background:transparent!important;
    border-radius:0!important;
    overflow:hidden!important;
  }
  .cws-search .cws-result__codes .cws-code b{
    flex:0 0 auto!important;
    font-size:8px!important;
  }
  .cws-search .cws-result__codes .cws-code span{
    min-width:0!important;
    max-width:92px!important;
    font-size:9.5px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .cws-search .cws-result__codes .cws-code-separator{
    flex:0 0 auto!important;
    margin:0 1px!important;
  }
  .cws-search .cws-result__chevron{
    grid-column:3!important;
    align-self:center!important;
    justify-self:center!important;
    margin:0!important;
  }
}


/* v0.18.6 — dedicated mobile off-canvas search experience.
   Desktop search remains unchanged. */
.cws-mobile-panel__header,.cws-mobile-panel__tabs{display:none}

@media (max-width:768px){
  html.cws-mobile-search-open,
  body.cws-mobile-search-open{overflow:hidden !important}

  .cws-search .cws-search__results{
    position:fixed !important;
    z-index:2147483000 !important;
    top:0 !important;
    right:0 !important;
    bottom:0 !important;
    left:auto !important;
    width:min(94vw,440px) !important;
    max-width:none !important;
    height:100dvh !important;
    max-height:100dvh !important;
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:#fff !important;
    box-shadow:-18px 0 42px rgba(18,23,28,.16) !important;
    overflow:hidden !important;
    color:#24282c !important;
  }

  .cws-search .cws-search__results::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:-1;
    background:rgba(20,24,28,.34);
    pointer-events:none;
  }

  .cws-mobile-panel__header{
    display:flex;
    height:66px;
    box-sizing:border-box;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:12px 14px 11px 17px;
    border-bottom:1px solid #e8eaec;
    background:#fff;
  }
  .cws-mobile-panel__header>div{display:flex;flex-direction:column;gap:2px;min-width:0}
  .cws-mobile-panel__header strong{
    color:#25292d !important;
    font-size:14px;
    line-height:1.2;
    font-weight:750;
    letter-spacing:.01em;
  }
  .cws-mobile-panel__header small{
    color:#747b81 !important;
    font-size:11px;
    line-height:1.2;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:280px;
  }
  .cws-mobile-panel__close{
    flex:0 0 42px;
    width:42px;
    height:42px;
    border:0;
    border-radius:50%;
    background:#f3f4f5;
    color:#34393d;
    font:400 28px/1 Arial,sans-serif;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0 0 3px;
  }
  .cws-mobile-panel__close:active{background:#e7e9eb}

  .cws-mobile-panel__scroll{
    height:calc(100dvh - 66px);
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    background:#fff;
  }

  .cws-search .cws-panel{
    display:block !important;
    min-height:0 !important;
    max-height:none !important;
    height:auto !important;
    background:#fff !important;
  }
  .cws-search .cws-preview{display:none !important}
  .cws-search .cws-results-list{
    display:block !important;
    max-height:none !important;
    overflow:visible !important;
    border:0 !important;
    background:#fff !important;
  }

  .cws-search .cws-products-head,
  .cws-search .cws-section-title{
    padding:12px 14px 8px !important;
    font-size:10px !important;
  }
  .cws-search .cws-products-head small{font-size:10px !important}

  .cws-search .cws-categories{
    background:#fff !important;
    border-bottom:1px solid #eceeef !important;
  }
  .cws-search .cws-category-list{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:7px !important;
    padding:0 10px 11px !important;
  }
  .cws-search .cws-category{
    min-height:58px !important;
    padding:9px 10px !important;
    border-radius:8px !important;
  }
  .cws-search .cws-category__name{font-size:12px !important}
  .cws-search .cws-category small{font-size:9.5px !important}

  .cws-search .cws-products{padding:0 0 8px !important}
  .cws-search .cws-result{
    display:grid !important;
    grid-template-columns:64px minmax(0,1fr) 18px !important;
    gap:10px !important;
    min-height:76px !important;
    margin:0 !important;
    padding:8px 12px !important;
    border:0 !important;
    border-radius:0 !important;
    background:#fff !important;
    box-sizing:border-box !important;
  }
  .cws-search .cws-result+.cws-result{border-top:1px solid #f0f1f2 !important}
  .cws-search .cws-result:active,
  .cws-search .cws-result.is-active{background:#f6f7f8 !important}
  .cws-search .cws-result__image-wrap{
    width:64px !important;
    height:64px !important;
    padding:2px !important;
    border:0 !important;
    border-radius:7px !important;
    background:#fff !important;
  }
  .cws-search .cws-result__image{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    background:#fff !important;
  }
  .cws-search .cws-result__main{
    gap:5px !important;
    min-width:0 !important;
    justify-content:center !important;
  }
  .cws-search .cws-result__name{
    display:-webkit-box !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:2 !important;
    overflow:hidden !important;
    font-size:13px !important;
    line-height:1.25 !important;
    max-height:32.5px !important;
    padding:0 !important;
  }
  .cws-search .cws-result__meta{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:3px !important;
    min-width:0 !important;
    font-size:11px !important;
  }
  .cws-search .cws-result__price{font-size:12px !important;line-height:1.2 !important}
  .cws-search .cws-result__codes{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:4px !important;
    max-width:100% !important;
    min-width:0 !important;
  }
  .cws-search .cws-code{
    min-width:0 !important;
    max-width:150px !important;
    padding:2px 5px !important;
    border:0 !important;
    background:#f4f5f6 !important;
    border-radius:4px !important;
    font-size:8.5px !important;
    white-space:nowrap !important;
    overflow:hidden !important;
  }
  .cws-search .cws-code span{
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  .cws-search .cws-code-separator{display:none !important}
  .cws-search .cws-result__chevron{width:18px !important;font-size:17px !important}

  .cws-search .cws-view-all-wrap{
    position:sticky !important;
    z-index:8 !important;
    bottom:0 !important;
    margin:0 !important;
    padding:9px 10px max(10px,env(safe-area-inset-bottom)) !important;
    border-top:1px solid #e5e7e9 !important;
    background:#fff !important;
  }
  .cws-search .cws-view-all{
    min-height:46px !important;
    padding:10px 13px !important;
    border:0 !important;
    border-radius:8px !important;
    background:#eef0f2 !important;
    box-shadow:none !important;
    font-size:12.5px !important;
  }

  .cws-search .cws-specialist,
  .cws-search .cws-article-suggestion{
    margin:8px 10px 10px !important;
    border-radius:8px !important;
    box-shadow:none !important;
  }
}

@media (max-width:420px){
  .cws-search .cws-search__results{width:100vw !important}
  .cws-search .cws-search__results::before{display:none}
  .cws-mobile-panel__header small{max-width:220px}
  .cws-search .cws-category-list{grid-template-columns:1fr !important}
  .cws-search .cws-result{grid-template-columns:58px minmax(0,1fr) 16px !important;padding-left:10px !important;padding-right:10px !important}
  .cws-search .cws-result__image-wrap{width:58px !important;height:58px !important}
}


/* v0.18.7 — visual-only image scale/alignment refinement.
   Search, ranking, indexing and learning behaviour are unchanged. */

/* LEFT PREVIEW
   Use the full panel width for imagery and anchor the image area to the top.
   Keep object-fit:contain so the source image is never cropped. */
.cws-search .cws-preview{
  padding:0 22px 22px !important;
  background:#fff !important;
  align-items:stretch !important;
}
.cws-search .cws-preview__image-wrap{
  width:calc(100% + 44px) !important;
  max-width:none !important;
  margin:0 -22px 18px !important;
  padding:0 !important;
  min-height:300px !important;
  height:clamp(300px,36vw,410px) !important;
  aspect-ratio:auto !important;
  border:0 !important;
  border-radius:0 !important;
  background:#fff !important;
  align-items:flex-start !important;
  justify-content:center !important;
}
.cws-search .cws-preview__image{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  object-fit:contain !important;
  object-position:center top !important;
  margin:0 !important;
  padding:0 !important;
  background:#fff !important;
}
.cws-search .cws-preview__body{
  width:100% !important;
  box-sizing:border-box !important;
  text-align:left !important;
  align-items:flex-start !important;
}

/* RIGHT RESULT ROWS
   Give thumbnails almost all available row height and make the text column
   deterministically left-aligned regardless of theme/header inheritance. */
.cws-search .cws-result{
  grid-template-columns:92px minmax(0,1fr) 18px !important;
  gap:12px !important;
  min-height:94px !important;
  padding:3px 10px 3px 6px !important;
  align-items:center !important;
  text-align:left !important;
}
.cws-search .cws-result__image-wrap{
  width:90px !important;
  height:90px !important;
  max-width:90px !important;
  max-height:90px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:#fff !important;
  align-self:center !important;
}
.cws-search .cws-result__image{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:0 !important;
  padding:0 !important;
}
.cws-search .cws-result__main{
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  align-items:flex-start !important;
  justify-content:center !important;
  text-align:left !important;
}
.cws-search .cws-result__name{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  text-align:left !important;
  justify-self:start !important;
}
.cws-search .cws-result__meta{
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  justify-content:flex-start !important;
  align-items:center !important;
  text-align:left !important;
}
.cws-search .cws-result__price,
.cws-search .cws-result__codes,
.cws-search .cws-code,
.cws-search .cws-code span,
.cws-search .cws-code b{
  text-align:left !important;
  justify-content:flex-start !important;
}
.cws-search .cws-result__chevron{
  justify-self:end !important;
  align-self:center !important;
  margin:0 !important;
}

/* Category/article/right-column text should also never inherit centred text. */
.cws-search .cws-results-list,
.cws-search .cws-products,
.cws-search .cws-products-head,
.cws-search .cws-categories,
.cws-search .cws-category,
.cws-search .cws-category__content,
.cws-search .cws-category__name,
.cws-search .cws-articles,
.cws-search .cws-article,
.cws-search .cws-article__main,
.cws-search .cws-view-all{
  text-align:left !important;
}
.cws-search .cws-category__content,
.cws-search .cws-article__main{
  align-items:flex-start !important;
}

/* Larger desktop screens can use a little more image area without altering
   the overall two-column search geometry. */
@media (min-width:1100px){
  .cws-search .cws-preview{padding-left:24px !important;padding-right:24px !important;padding-bottom:24px !important}
  .cws-search .cws-preview__image-wrap{
    width:calc(100% + 48px) !important;
    margin-left:-24px !important;
    margin-right:-24px !important;
    min-height:330px !important;
    height:clamp(330px,35vw,430px) !important;
  }
  .cws-search .cws-result{
    grid-template-columns:96px minmax(0,1fr) 18px !important;
    min-height:98px !important;
  }
  .cws-search .cws-result__image-wrap{
    width:94px !important;
    height:94px !important;
    max-width:94px !important;
    max-height:94px !important;
  }
}

/* Preserve the dedicated mobile off-canvas density from v0.18.6 while still
   making imagery as large as the condensed card safely permits. */
@media (max-width:768px){
  .cws-search .cws-result{
    grid-template-columns:72px minmax(0,1fr) 16px !important;
    min-height:82px !important;
    padding:5px 10px 5px 6px !important;
    gap:9px !important;
  }
  .cws-search .cws-result__image-wrap{
    width:72px !important;
    height:72px !important;
    max-width:72px !important;
    max-height:72px !important;
  }
  .cws-search .cws-result__main,
  .cws-search .cws-result__name,
  .cws-search .cws-result__meta,
  .cws-search .cws-result__codes{
    text-align:left !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
  }
}

@media (max-width:420px){
  .cws-search .cws-result{
    grid-template-columns:66px minmax(0,1fr) 15px !important;
    min-height:76px !important;
  }
  .cws-search .cws-result__image-wrap{
    width:66px !important;
    height:66px !important;
    max-width:66px !important;
    max-height:66px !important;
  }
}

/* v0.21.3 - frontend restoration after Precision Core/index work.
   Search qualification/ranking logic is unchanged. */
@media (min-width:769px){
  .cws-search .cws-search__results{
    overflow:visible!important;
  }
  .cws-search .cws-panel{
    height:var(--cws-frame-height,640px)!important;
    min-height:560px!important;
    max-height:var(--cws-frame-height,640px)!important;
    overflow:hidden!important;
  }
  .cws-search .cws-results-list{
    display:flex!important;
    flex-direction:column!important;
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  .cws-search .cws-categories{
    flex:0 0 auto!important;
  }
  .cws-search .cws-products{
    display:flex!important;
    flex-direction:column!important;
    flex:1 1 auto!important;
    min-height:0!important;
    overflow:hidden!important;
    padding:0!important;
  }
  .cws-search .cws-products-head{
    flex:0 0 auto!important;
    min-height:30px!important;
    box-sizing:border-box!important;
  }
  .cws-search .cws-result{
    flex:1 1 0!important;
    min-height:72px!important;
    max-height:82px!important;
    grid-template-columns:78px minmax(0,1fr) 18px!important;
    gap:11px!important;
    padding:3px 9px 3px 5px!important;
    margin:0 8px!important;
    overflow:hidden!important;
  }
  .cws-search .cws-result__image-wrap{
    width:76px!important;
    height:76px!important;
    max-width:76px!important;
    max-height:76px!important;
  }
  .cws-search .cws-result__name{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
    max-height:36px!important;
    line-height:1.25!important;
  }
  .cws-search .cws-result__meta{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:7px!important;
    min-width:0!important;
  }
  .cws-search .cws-result__codes{
    display:flex!important;
    flex-wrap:nowrap!important;
    min-width:0!important;
    overflow:hidden!important;
    gap:4px!important;
  }
  .cws-search .cws-code{
    display:inline-flex!important;
    flex:0 1 auto!important;
    min-width:0!important;
    max-width:165px!important;
    border:0!important;
    background:#f5f6f7!important;
    padding:2px 5px!important;
  }
  .cws-search .cws-code span{
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .cws-search .cws-view-all-wrap{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    flex:0 0 auto!important;
    position:relative!important;
    z-index:4!important;
    margin:0!important;
    padding:8px 10px 10px!important;
    border-top:1px solid #eceeef!important;
    background:#fff!important;
  }
  .cws-search .cws-view-all{
    display:flex!important;
    min-height:42px!important;
  }
  .cws-search .cws-preview{
    min-height:0!important;
    overflow:hidden!important;
  }
  .cws-search .cws-preview__image-wrap{
    flex:1 1 auto!important;
    min-height:260px!important;
    max-height:390px!important;
  }
}

@media (min-width:769px) and (max-height:760px){
  .cws-search .cws-panel{
    min-height:540px!important;
  }
  .cws-search .cws-result{
    min-height:66px!important;
    max-height:74px!important;
    grid-template-columns:70px minmax(0,1fr) 18px!important;
  }
  .cws-search .cws-result__image-wrap{
    width:68px!important;
    height:68px!important;
    max-width:68px!important;
    max-height:68px!important;
  }
}


/* v0.21.4 — category context + uncropped product imagery.
   Search qualification/index/ranking behaviour is unchanged. */
.cws-search .cws-category__breadcrumb{
  display:block!important;
  max-width:100%!important;
  margin:0 0 1px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:9.5px!important;
  line-height:1.15!important;
  font-weight:600!important;
  letter-spacing:.02em!important;
  opacity:.78!important;
}
.cws-search .cws-category.has-image .cws-category__breadcrumb{
  color:rgba(255,255,255,.88)!important;
  text-shadow:0 1px 2px rgba(0,0,0,.28)!important;
}
.cws-search .cws-category:not(.has-image) .cws-category__breadcrumb{
  color:#737a80!important;
}
.cws-search .cws-result__image-wrap{
  overflow:visible!important;
  padding:2px!important;
}
.cws-search .cws-result__image{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  border-radius:0!important;
  clip-path:none!important;
}
@media (min-width:769px){
  .cws-search .cws-result__image-wrap{
    align-self:stretch!important;
    height:auto!important;
    min-height:68px!important;
    max-height:none!important;
    aspect-ratio:1/1!important;
    overflow:visible!important;
  }
  .cws-search .cws-result__image{
    object-fit:contain!important;
    object-position:center center!important;
  }
}
@media (max-width:768px){
  .cws-search .cws-result__image-wrap{overflow:visible!important;padding:1px!important}
  .cws-search .cws-result__image{object-fit:contain!important;object-position:center center!important}
  .cws-search .cws-category__breadcrumb{font-size:9px!important}
}

/* v0.22.7 — right-column typography/alignment only. */
@media (min-width:769px){
  .cws-search .cws-result__main{
    display:grid !important;
    grid-template-rows:auto auto !important;
    align-content:start !important;
    justify-content:stretch !important;
    align-items:start !important;
    justify-items:start !important;
    align-self:start !important;
    text-align:left !important;
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:7px 0 0 !important;
    row-gap:6px !important;
  }
  .cws-search .cws-result__name{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    text-align:left !important;
    justify-self:start !important;
    align-self:start !important;
    font-size:14.5px !important;
    line-height:1.22 !important;
    font-weight:650 !important;
    display:-webkit-box !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:2 !important;
    white-space:normal !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    max-height:35.4px !important;
  }
  .cws-search .cws-result__meta{
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    justify-self:start !important;
    align-self:start !important;
    justify-content:flex-start !important;
    text-align:left !important;
  }
  .cws-search .cws-result__price{
    font-size:12.5px !important;
    line-height:1.2 !important;
  }
  .cws-search .cws-result__codes,
  .cws-search .cws-code,
  .cws-search .cws-code span,
  .cws-search .cws-code b{
    text-align:left !important;
    justify-content:flex-start !important;
  }
}

/* v0.22.9 — full-screen mobile search shell (phone only). Desktop unchanged. */
@media (max-width:768px){
  html.cws-mobile-search-open,
  body.cws-mobile-search-open{overflow:hidden!important;overscroll-behavior:none!important}

  .cws-search .cws-search__results{
    position:fixed!important;
    inset:0!important;
    z-index:2147483640!important;
    width:100vw!important;
    max-width:100vw!important;
    height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:#fff!important;
    box-shadow:none!important;
    overflow:hidden!important;
    color:#202428!important;
  }
  .cws-search .cws-search__results::before{display:none!important}

  .cws-mobile-panel__header{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:10px!important;
    align-items:center!important;
    height:auto!important;
    min-height:68px!important;
    box-sizing:border-box!important;
    padding:max(12px,env(safe-area-inset-top)) 14px 10px!important;
    border-bottom:0!important;
    background:#fff!important;
    position:relative!important;
    z-index:20!important;
  }
  .cws-mobile-panel__searchrow{
    display:grid!important;
    grid-template-columns:26px minmax(0,1fr) 30px!important;
    align-items:center!important;
    min-width:0!important;
    min-height:46px!important;
    padding:0 7px 0 11px!important;
    border:1px solid #d9dde1!important;
    border-radius:9px!important;
    background:#fff!important;
    box-shadow:0 1px 2px rgba(0,0,0,.025)!important;
  }
  .cws-mobile-panel__searchicon{
    width:18px!important;height:18px!important;border:2px solid #46515a!important;border-radius:50%!important;position:relative!important;box-sizing:border-box!important
  }
  .cws-mobile-panel__searchicon::after{
    content:""!important;position:absolute!important;width:7px!important;height:2px!important;background:#46515a!important;right:-5px!important;bottom:-2px!important;transform:rotate(45deg)!important;border-radius:2px!important
  }
  .cws-mobile-panel__input{
    width:100%!important;min-width:0!important;height:44px!important;margin:0!important;padding:0 8px!important;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;color:#202428!important;font-size:18px!important;font-weight:600!important;line-height:1.2!important;font-family:inherit!important;-webkit-appearance:none!important;appearance:none!important
  }
  .cws-mobile-panel__input::-webkit-search-cancel-button{-webkit-appearance:none!important}
  .cws-mobile-panel__clear{
    width:30px!important;height:30px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;color:#5d666e!important;font:500 22px/1 Arial,sans-serif!important;cursor:pointer!important
  }
  .cws-mobile-panel__cancel{
    min-width:auto!important;height:42px!important;padding:0 2px!important;margin:0!important;border:0!important;background:transparent!important;color:#202428!important;font:600 15px/1 inherit!important;cursor:pointer!important
  }
  .cws-mobile-panel__close{display:none!important}

  .cws-mobile-panel__tabs{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:0!important;
    height:48px!important;
    padding:0 12px!important;
    border-bottom:1px solid #e7e9eb!important;
    background:#fff!important;
    position:relative!important;
    z-index:19!important;
  }
  .cws-mobile-panel__tabs button{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
    min-width:0!important;
    padding:0 5px!important;
    border:0!important;
    background:transparent!important;
    color:#737b82!important;
    font:600 13px/1 inherit!important;
    white-space:nowrap!important;
    cursor:pointer!important
  }
  .cws-mobile-panel__tabs button span{font-weight:500!important;color:#92989d!important}
  .cws-mobile-panel__tabs button.is-active{color:#202428!important}
  .cws-mobile-panel__tabs button.is-active::after{
    content:""!important;position:absolute!important;left:12px!important;right:12px!important;bottom:0!important;height:3px!important;border-radius:3px 3px 0 0!important;background:#202428!important
  }

  .cws-mobile-panel__scroll{
    height:calc(100dvh - max(12px,env(safe-area-inset-top)) - 116px)!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    padding-bottom:max(18px,env(safe-area-inset-bottom))!important;
    background:#fff!important
  }

  .cws-search .cws-panel{display:block!important;height:auto!important;max-height:none!important;min-height:0!important;background:#fff!important;border-radius:0!important;overflow:visible!important}
  .cws-search .cws-preview{display:none!important}
  .cws-search .cws-results-list{display:block!important;height:auto!important;max-height:none!important;overflow:visible!important;border:0!important;background:#fff!important}

  .cws-search .cws-categories{padding:0!important;border-bottom:1px solid #eceeef!important;background:#fff!important;scroll-margin-top:4px!important}
  .cws-search .cws-section-title,
  .cws-search .cws-products-head{
    min-height:44px!important;box-sizing:border-box!important;padding:13px 14px 9px!important;background:#fff!important;font-size:12px!important;letter-spacing:.04em!important;text-transform:uppercase!important
  }
  .cws-search .cws-products-head{display:flex!important;align-items:center!important;justify-content:space-between!important}
  .cws-search .cws-products-head small{font-size:11px!important;text-transform:none!important;letter-spacing:0!important;color:#737b82!important}

  .cws-search .cws-category-list{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;padding:0 12px 14px!important
  }
  .cws-search .cws-category{
    position:relative!important;min-height:92px!important;margin:0!important;padding:12px!important;border:0!important;border-radius:9px!important;overflow:hidden!important;background:#343a40!important;box-shadow:none!important
  }
  .cws-search .cws-category.has-image::before,
  .cws-search .cws-category__image{object-fit:cover!important;object-position:center!important}
  .cws-search .cws-category__content{justify-content:flex-end!important;gap:2px!important;text-align:left!important}
  .cws-search .cws-category__breadcrumb{font-size:10px!important;line-height:1.2!important;color:rgba(255,255,255,.8)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .cws-search .cws-category__name{font-size:15px!important;line-height:1.15!important;color:#fff!important;font-weight:700!important}
  .cws-search .cws-category small{font-size:10.5px!important;color:rgba(255,255,255,.92)!important}

  .cws-search .cws-products{padding:0!important;background:#fff!important;scroll-margin-top:4px!important}
  .cws-search .cws-result{
    display:grid!important;
    grid-template-columns:84px minmax(0,1fr) 22px!important;
    gap:12px!important;
    align-items:center!important;
    min-height:104px!important;
    max-height:none!important;
    margin:0!important;
    padding:10px 12px!important;
    border:0!important;
    border-radius:0!important;
    border-bottom:1px solid #edf0f2!important;
    background:#fff!important;
    box-shadow:none!important;
    text-align:left!important
  }
  .cws-search .cws-result.is-active,.cws-search .cws-result:hover{background:#fafbfc!important}
  .cws-search .cws-result__image-wrap{
    width:84px!important;height:84px!important;max-width:84px!important;max-height:84px!important;padding:3px!important;margin:0!important;border:0!important;border-radius:8px!important;background:#fff!important;box-sizing:border-box!important
  }
  .cws-search .cws-result__image{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:#fff!important}
  .cws-search .cws-result__main{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:5px!important;min-width:0!important;text-align:left!important}
  .cws-search .cws-result__name{
    width:100%!important;margin:0!important;padding:0!important;text-align:left!important;font-size:15px!important;line-height:1.25!important;font-weight:650!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow:hidden!important;white-space:normal!important
  }
  .cws-search .cws-result__meta{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:4px!important;width:100%!important;text-align:left!important}
  .cws-search .cws-result__price{font-size:13px!important;line-height:1.2!important;font-weight:650!important;text-align:left!important}
  .cws-search .cws-result__codes{display:flex!important;flex-wrap:wrap!important;gap:5px!important;width:100%!important;justify-content:flex-start!important;text-align:left!important}
  .cws-search .cws-code{font-size:10px!important;line-height:1.15!important;padding:0!important;background:transparent!important;color:#727a81!important;border:0!important;max-width:160px!important}
  .cws-search .cws-code b{font-weight:600!important;margin-right:3px!important}
  .cws-search .cws-code-separator{font-size:10px!important;color:#a0a6ab!important}
  .cws-search .cws-result__chevron{font-size:24px!important;color:#8b9298!important;justify-self:end!important}

  .cws-search .cws-view-all-wrap{position:static!important;margin:0!important;padding:12px!important;border-top:0!important;background:#fff!important}
  .cws-search .cws-view-all{min-height:50px!important;padding:12px 14px!important;border-radius:9px!important;background:#f0f2f4!important;font-size:14px!important;font-weight:650!important}

  .cws-search .cws-specialist,
  .cws-search .cws-article-suggestion{margin:10px 12px 12px!important;border-radius:9px!important;box-shadow:none!important}
}

@media (max-width:380px){
  .cws-mobile-panel__header{grid-template-columns:minmax(0,1fr) 54px!important;padding-left:10px!important;padding-right:10px!important}
  .cws-mobile-panel__tabs{padding:0 6px!important}
  .cws-mobile-panel__tabs button{font-size:11.5px!important}
  .cws-search .cws-category-list{grid-template-columns:1fr!important}
  .cws-search .cws-result{grid-template-columns:72px minmax(0,1fr) 18px!important;gap:9px!important;padding-left:9px!important;padding-right:9px!important}
  .cws-search .cws-result__image-wrap{width:72px!important;height:72px!important}
}

/* v0.22.10 — true viewport mobile search + continuous product browsing.
   The results panel is portalled to <body> on mobile so transformed Elementor/
   header ancestors cannot constrain position:fixed. Desktop remains unchanged. */
@media (max-width:768px){
  html.cws-mobile-search-open{
    overflow:hidden!important;
    overscroll-behavior:none!important;
    width:100%!important;
    height:100%!important;
  }
  body.cws-mobile-search-open{
    position:fixed!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    height:100%!important;
    margin:0!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
    touch-action:none!important;
  }

  /* Direct selector is required because the panel is moved out of the shortcode
     wrapper and attached directly to document.body while open. */
  .cws-search__results.cws-search--portal{
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    inset:0!important;
    width:100%!important;
    min-width:100%!important;
    max-width:none!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    border:0!important;
    border-radius:0!important;
    background:#fff!important;
    box-shadow:none!important;
    overflow:hidden!important;
    z-index:2147483647!important;
    box-sizing:border-box!important;
    touch-action:auto!important;
  }

  .cws-search__results.cws-search--portal .cws-mobile-panel__header{
    width:100%!important;
    box-sizing:border-box!important;
  }
  .cws-search__results.cws-search--portal .cws-mobile-panel__tabs{
    width:100%!important;
    box-sizing:border-box!important;
  }
  .cws-search__results.cws-search--portal .cws-mobile-panel__scroll{
    width:100%!important;
    box-sizing:border-box!important;
    touch-action:pan-y!important;
  }

  .cws-mobile-start{
    min-height:180px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    padding:28px 20px!important;
    text-align:center!important;
    color:#6f777e!important;
  }
  .cws-mobile-start strong{font-size:16px!important;color:#24292d!important}
  .cws-mobile-start span{font-size:12.5px!important}

  /* Mobile is a browsing surface, not a six-result desktop preview. */
  .cws-mobile-load-sentinel{
    min-height:72px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:9px!important;
    padding:16px!important;
    color:#737b82!important;
    background:#fff!important;
    border-top:1px solid #edf0f2!important;
    font-size:12px!important;
    font-weight:500!important;
  }
  .cws-mobile-load-sentinel span{
    display:block!important;
    width:18px!important;
    height:18px!important;
    border:2px solid #d8dde1!important;
    border-top-color:#30363b!important;
    border-radius:50%!important;
    animation:cws-mobile-spin .75s linear infinite!important;
  }
  .cws-mobile-load-sentinel:not(.is-loading) span{opacity:.55!important}
  @keyframes cws-mobile-spin{to{transform:rotate(360deg)}}

  /* Infinite mobile browsing replaces the desktop View All footer. */
  .cws-search__results.cws-search--portal .cws-view-all-wrap{display:none!important}
}

/* v0.22.11 — adaptive mobile viewport + stable typing focus.
   Use the browser's actual VisualViewport dimensions when available so the
   full-screen search fits iOS/Android browser chrome, keyboards and rotation. */
@media (max-width:768px){
  .cws-search__results.cws-search--portal{
    top:var(--cws-vv-top,0px)!important;
    left:var(--cws-vv-left,0px)!important;
    right:auto!important;
    bottom:auto!important;
    width:var(--cws-vv-width,100vw)!important;
    min-width:var(--cws-vv-width,100vw)!important;
    max-width:var(--cws-vv-width,100vw)!important;
    height:var(--cws-vv-height,100dvh)!important;
    min-height:var(--cws-vv-height,100dvh)!important;
    max-height:var(--cws-vv-height,100dvh)!important;
    border-radius:0!important;
  }
  .cws-search__results.cws-search--portal .cws-mobile-panel__scroll{
    height:calc(var(--cws-vv-height,100dvh) - max(12px,env(safe-area-inset-top)) - 116px)!important;
    max-height:calc(var(--cws-vv-height,100dvh) - max(12px,env(safe-area-inset-top)) - 116px)!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }
  .cws-search__results.cws-search--portal .cws-mobile-panel__header,
  .cws-search__results.cws-search--portal .cws-mobile-panel__tabs{
    flex:0 0 auto!important;
  }
  .cws-search__results.cws-search--portal .cws-mobile-panel__input{
    min-width:0!important;
    width:100%!important;
  }
}
\n\n/* v0.22.14 - mobile containment + perceived performance */\n@media(max-width:768px){\n  .cws-search .cws-category{\n    min-height:104px!important;\n    height:104px!important;\n    padding:10px 12px!important;\n  }\n  .cws-search .cws-category__content{\n    position:relative!important;\n    z-index:2!important;\n    display:flex!important;\n    flex-direction:column!important;\n    justify-content:flex-end!important;\n    align-items:flex-start!important;\n    gap:2px!important;\n    min-width:0!important;\n    width:calc(100% - 10px)!important;\n    overflow:hidden!important;\n  }\n  .cws-search .cws-category__breadcrumb{\n    display:block!important;\n    width:100%!important;\n    max-width:100%!important;\n    white-space:nowrap!important;\n    overflow:hidden!important;\n    text-overflow:ellipsis!important;\n    font-size:9.5px!important;\n    line-height:1.15!important;\n  }\n  .cws-search .cws-category__name{\n    display:-webkit-box!important;\n    -webkit-box-orient:vertical!important;\n    -webkit-line-clamp:2!important;\n    overflow:hidden!important;\n    width:100%!important;\n    max-width:100%!important;\n    font-size:14px!important;\n    line-height:1.08!important;\n    max-height:30.5px!important;\n    margin:0!important;\n  }\n  .cws-search .cws-category small{\n    display:block!important;\n    flex:0 0 auto!important;\n    width:100%!important;\n    white-space:nowrap!important;\n    overflow:hidden!important;\n    text-overflow:ellipsis!important;\n    line-height:1.15!important;\n    margin:1px 0 0!important;\n  }\n  .cws-search .cws-category b{display:none!important}\n  .cws-search .cws-result__meta{gap:2px!important}\n  .cws-search .cws-result__codes{margin-top:0!important}\n}\n@media(max-width:390px){\n  .cws-search .cws-category-list{gap:7px!important;padding-left:9px!important;padding-right:9px!important}\n  .cws-search .cws-category{height:98px!important;min-height:98px!important;padding:9px 10px!important}\n  .cws-search .cws-category__name{font-size:13.5px!important}\n}\n

/* v0.22.15 — direct-to-full-screen mobile launcher.
   The shortcode bar remains the visual trigger in the header, but the first
   touch is captured before the inline field can enter an intermediate focus
   state. The full-screen panel owns text entry on phones. */
@media(max-width:768px){
  .cws-search:not(.cws-search--portal) .cws-search__bar{
    cursor:text!important;
    -webkit-tap-highlight-color:transparent!important;
  }
  .cws-search:not(.cws-search--portal) .cws-search__input,
  .cws-search:not(.cws-search--portal) .cws-search__submit{
    -webkit-tap-highlight-color:transparent!important;
  }
}


/* v0.22.19 — mobile result containment + resilient infinite scrolling.
   UI/paging only; search qualification and ranking are unchanged. */
@media(max-width:768px){
  .cws-search__results.cws-search--portal .cws-result{
    grid-template-columns:88px minmax(0,1fr) 20px!important;
    gap:12px!important;
    min-height:118px!important;
    height:auto!important;
    padding:12px 12px!important;
    align-items:center!important;
    overflow:hidden!important;
  }

  .cws-search__results.cws-search--portal .cws-result__image-wrap{
    width:88px!important;
    height:88px!important;
    max-width:88px!important;
    max-height:88px!important;
    align-self:center!important;
  }

  .cws-search__results.cws-search--portal .cws-result__main{
    display:grid!important;
    grid-template-rows:auto auto!important;
    align-content:center!important;
    align-items:start!important;
    justify-content:stretch!important;
    gap:7px!important;
    min-width:0!important;
    width:100%!important;
    height:auto!important;
    overflow:hidden!important;
  }

  .cws-search__results.cws-search--portal .cws-result__name{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    width:100%!important;
    max-width:100%!important;
    max-height:2.56em!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:normal!important;
    font-size:15px!important;
    line-height:1.28!important;
    font-weight:650!important;
    margin:0!important;
    padding:0!important;
  }

  .cws-search__results.cws-search--portal .cws-result__meta{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-auto-rows:auto!important;
    gap:5px!important;
    align-items:start!important;
    align-content:start!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    position:static!important;
  }

  .cws-search__results.cws-search--portal .cws-result__price{
    display:block!important;
    width:100%!important;
    min-height:1.2em!important;
    line-height:1.2!important;
    margin:0!important;
    padding:0!important;
    white-space:normal!important;
  }

  .cws-search__results.cws-search--portal .cws-result__codes{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:3px 6px!important;
    width:100%!important;
    min-width:0!important;
    min-height:1.15em!important;
    margin:0!important;
    padding:0!important;
    line-height:1.15!important;
  }

  .cws-search__results.cws-search--portal .cws-result__chevron{
    align-self:center!important;
    justify-self:end!important;
  }

  /* Keep the loading sentinel easy to reach and visible above mobile browser UI. */
  .cws-search__results.cws-search--portal .cws-mobile-load-sentinel{
    min-height:88px!important;
    padding-bottom:max(22px,env(safe-area-inset-bottom))!important;
  }
}

@media(max-width:390px){
  .cws-search__results.cws-search--portal .cws-result{
    grid-template-columns:76px minmax(0,1fr) 18px!important;
    min-height:112px!important;
    gap:10px!important;
    padding:11px 9px!important;
  }
  .cws-search__results.cws-search--portal .cws-result__image-wrap{
    width:76px!important;
    height:76px!important;
    max-width:76px!important;
    max-height:76px!important;
  }
  .cws-search__results.cws-search--portal .cws-result__name{
    font-size:14.5px!important;
  }
}


/* v0.22.20 — restrained indexed article presentation.
   Articles remain visually secondary to commerce results. */
@media(max-width:768px){
  .cws-search__results.cws-search--portal .cws-article-suggestion{
    margin:14px 12px 20px!important;
    padding:0!important;
    border:1px solid #e8ebed!important;
    border-radius:10px!important;
    overflow:hidden!important;
    background:#fff!important;
  }
  .cws-search__results.cws-search--portal .cws-articles{
    padding:0!important;
    border:0!important;
  }
  .cws-search__results.cws-search--portal .cws-article{
    display:block!important;
    padding:13px 14px!important;
    border-radius:0!important;
    border-top:1px solid #eef0f2!important;
    background:#fff!important;
  }
  .cws-search__results.cws-search--portal .cws-article:first-of-type{
    border-top:0!important;
  }
  .cws-search__results.cws-search--portal .cws-article__main{
    gap:4px!important;
  }
  .cws-search__results.cws-search--portal .cws-article__main strong{
    font-size:14px!important;
    line-height:1.3!important;
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
  }
  .cws-search__results.cws-search--portal .cws-article__main small{
    max-width:none!important;
    white-space:normal!important;
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
    font-size:11px!important;
    line-height:1.4!important;
  }
}


/* v0.22.22 — mobile tabs are real views, not scroll anchors.
   Products keeps its own infinite-scroll stream; Categories and Articles are
   isolated so newly appended products cannot push those views away. */
@media(max-width:768px){
  .cws-search__results.cws-search--portal .cws-mobile-view{
    display:block;
    width:100%;
    min-width:0;
    background:#fff;
  }
  .cws-search__results.cws-search--portal .cws-mobile-view[hidden]{
    display:none!important;
  }

  .cws-search__results.cws-search--portal .cws-mobile-panel__tabs button{
    cursor:pointer!important;
  }
  .cws-search__results.cws-search--portal .cws-mobile-panel__tabs button.is-active{
    color:#24292d!important;
  }

  .cws-search__results.cws-search--portal .cws-article-tab-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    min-height:46px!important;
    padding:12px 14px 9px!important;
    border-bottom:1px solid #eceeef!important;
    background:#fff!important;
    box-sizing:border-box!important;
  }
  .cws-search__results.cws-search--portal .cws-article-tab-head>span{
    color:#24292d!important;
    font-size:12px!important;
    font-weight:700!important;
    letter-spacing:.04em!important;
    text-transform:uppercase!important;
  }
  .cws-search__results.cws-search--portal .cws-article-tab-head>small{
    color:#737b82!important;
    font-size:11px!important;
    font-weight:500!important;
    white-space:nowrap!important;
  }

  /* In the dedicated Articles view the article list is the primary content,
     so remove the old nested suggestion-card framing. */
  .cws-search__results.cws-search--portal [data-cws-mobile-view="articles"] .cws-articles{
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:#fff!important;
  }
  .cws-search__results.cws-search--portal [data-cws-mobile-view="articles"] .cws-section-title{
    display:none!important;
  }
  .cws-search__results.cws-search--portal [data-cws-mobile-view="articles"] .cws-article{
    margin:0!important;
    padding:15px 14px!important;
    border-radius:0!important;
    border-bottom:1px solid #edf0f2!important;
    background:#fff!important;
  }
  .cws-search__results.cws-search--portal [data-cws-mobile-view="articles"] .cws-article__main strong{
    font-size:15px!important;
    line-height:1.3!important;
  }
  .cws-search__results.cws-search--portal [data-cws-mobile-view="articles"] .cws-article__main small{
    margin-top:4px!important;
    font-size:11.5px!important;
    line-height:1.45!important;
    color:#717980!important;
  }

  /* Categories in their own tab use the same cards, simply without sharing
     vertical space with the growing product list. */
  .cws-search__results.cws-search--portal [data-cws-mobile-view="categories"] .cws-categories{
    border-bottom:0!important;
    padding-top:2px!important;
  }
}


/* v0.22.25 — viewport-neutral mobile page lock.
   Do NOT reposition/fix the underlying body when opening search: doing so makes
   iOS Safari recalculate the visual viewport and causes the small visible
   zoom/position shift. The full-screen portal itself remains position:fixed. */
@media(max-width:768px){
  html.cws-mobile-search-open{
    overflow:hidden!important;
    overscroll-behavior:none!important;
    height:100%!important;
  }

  body.cws-mobile-search-open{
    position:static!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
    touch-action:auto!important;
  }

  .cws-search__results.cws-search--portal{
    overscroll-behavior:contain!important;
  }

  .cws-search__results.cws-search--portal .cws-mobile-panel__scroll{
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    touch-action:pan-y!important;
  }
}
\n\n/* v0.22.26 — pre-mounted, origin-anchored mobile portal.\n   Safari VisualViewport offsets are intentionally ignored; only viewport height\n   is used for keyboard fitting. No visual dimensions/type styling are changed. */\n@media(max-width:768px){\n  .cws-search__results.cws-search--portal{\n    top:0!important;\n    left:0!important;\n    right:auto!important;\n    transform:none!important;\n    margin:0!important;\n  }\n}\n

/* v0.22.27 — iOS focus-width stabilisation.
   Keep the focused WooCraig search control at the same effective horizontal
   footprint as the visible header trigger. The rest of the overlay remains
   full-screen. No font-size or visual design changes. */
@media(max-width:768px){
  .cws-search__results.cws-search--portal .cws-mobile-panel__header{
    position:relative!important;
    width:100%!important;
    box-sizing:border-box!important;
  }

  .cws-search__results.cws-search--portal .cws-mobile-panel__searchrow{
    width:var(--cws-mobile-search-width, calc(100vw - 96px))!important;
    max-width:calc(100vw - 24px)!important;
    min-width:0!important;
    margin-left:var(--cws-mobile-search-left, 12px)!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
    flex:0 0 auto!important;
  }

  .cws-search__results.cws-search--portal .cws-mobile-panel__input{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    transform:none!important;
    zoom:1!important;
  }

  .cws-search__results.cws-search--portal .cws-mobile-panel__cancel{
    position:absolute!important;
    right:max(12px, env(safe-area-inset-right))!important;
    top:50%!important;
    transform:translateY(-50%)!important;
  }
}


/* v0.22.28 — iOS search-focus zoom correction.
   Safari must see a real computed font-size >=16px on the focused input.
   Also restore the stable pre-0.22.27 search-row geometry. */
@media(max-width:768px){
  .cws-search__results.cws-search--portal .cws-mobile-panel__searchrow{
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    flex:1 1 auto!important;
  }

  .cws-search__results.cws-search--portal .cws-mobile-panel__input{
    font-size:18px!important;
    font-weight:600!important;
    line-height:1.2!important;
    font-family:inherit!important;
    -webkit-text-size-adjust:100%!important;
    text-size-adjust:100%!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    transform:none!important;
    zoom:1!important;
  }

  .cws-search__results.cws-search--portal .cws-mobile-panel__cancel{
    position:static!important;
    transform:none!important;
    right:auto!important;
    top:auto!important;
    flex:0 0 auto!important;
  }
}


/* v0.22.32 — phone-style product actions: Quick Buy above Add to Basket. */
.cws-search .cws-result{
  grid-template-columns:64px minmax(0,1fr) 62px;
}
.cws-search .cws-result__image-wrap,
.cws-search .cws-result__main{
  text-decoration:none!important;
  color:inherit!important;
}
.cws-search .cws-result__action{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  min-width:0;
}
.cws-search .cws-product-actions{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:center;
  gap:6px;
  width:48px;
}
.cws-search .cws-action-btn{
  appearance:none;
  -webkit-appearance:none;
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:40px;
  min-width:44px;
  min-height:40px;
  padding:0;
  border:1px solid #d6dade;
  border-radius:10px;
  background:#fff;
  color:#262c31;
  cursor:pointer;
  box-sizing:border-box;
  transition:transform .08s,background .12s,border-color .12s,opacity .12s;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.cws-search .cws-action-btn svg,
.cws-search .cws-options-btn svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  pointer-events:none;
}
.cws-search .cws-action-btn svg .cws-action-icon-fill{fill:currentColor;stroke:none}
.cws-search .cws-action-btn--quick{
  background:#252b30;
  border-color:#252b30;
  color:#fff;
}
.cws-search .cws-action-btn--quick:hover{background:#11161a;border-color:#11161a}
.cws-search .cws-action-btn--basket:hover{background:#f3f5f6;border-color:#c9ced2}
.cws-search .cws-action-btn:active{transform:scale(.96)}
.cws-search .cws-action-btn:focus-visible,
.cws-search .cws-options-btn:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.cws-search .cws-action-btn:disabled{cursor:wait;opacity:.58}
.cws-search .cws-action-btn.is-added{background:#eef6ef;border-color:#cfe0d1;color:#246633}
.cws-search .cws-action-btn.is-error{background:#fff3f1;border-color:#eed0ca;color:#8b3428}
.cws-search .cws-action-btn--placeholder{background:#f4f5f6;color:#8b9298;border-color:#e0e3e5}
.cws-search .cws-action-btn__dots{font-size:12px;letter-spacing:1px}
.cws-search .cws-action-check{font-size:20px;line-height:1;font-weight:700}
.cws-search .cws-action-btn.is-loading svg{opacity:.35}
.cws-search .cws-options-btn{
  appearance:none;
  -webkit-appearance:none;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  width:60px;
  min-height:56px;
  padding:6px 5px;
  border:1px solid #d6dade;
  border-radius:10px;
  background:#fff;
  color:#30363b;
  font:600 10px/1.08 inherit;
  text-align:center;
  cursor:pointer;
  box-sizing:border-box;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.cws-search .cws-options-btn:hover{background:#f3f5f6;border-color:#c9ced2}
.cws-search .cws-options-btn__icon{display:flex;align-items:center;justify-content:center}
.cws-search .cws-options-btn__icon svg{width:19px;height:19px}

@media(max-width:768px){
  .cws-search__results.cws-search--portal .cws-result{
    grid-template-columns:88px minmax(0,1fr) 54px!important;
    gap:10px!important;
  }
  .cws-search__results.cws-search--portal .cws-result__action{
    align-self:center!important;
    justify-self:end!important;
  }
  .cws-search__results.cws-search--portal .cws-product-actions{width:46px!important;gap:6px!important}
  .cws-search__results.cws-search--portal .cws-action-btn{
    width:44px!important;
    height:40px!important;
    min-width:44px!important;
    min-height:40px!important;
  }
  .cws-search__results.cws-search--portal .cws-options-btn{
    width:52px!important;
    min-height:58px!important;
    padding:5px 3px!important;
    font-size:9.5px!important;
  }
}

@media(max-width:390px){
  .cws-search__results.cws-search--portal .cws-result{
    grid-template-columns:76px minmax(0,1fr) 48px!important;
    gap:8px!important;
  }
  .cws-search__results.cws-search--portal .cws-product-actions{width:44px!important}
  .cws-search__results.cws-search--portal .cws-action-btn{width:42px!important;min-width:42px!important}
  .cws-search__results.cws-search--portal .cws-options-btn{width:46px!important;font-size:9px!important}
}

/* v0.22.30 — independent mobile article/category browsing. */
@media(max-width:768px){
  .cws-search__results.cws-search--portal .cws-article-load-sentinel{
    min-height:82px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:9px!important;
    padding:18px 14px max(22px,env(safe-area-inset-bottom))!important;
    color:#737b82!important;
    font-size:11px!important;
    box-sizing:border-box!important;
  }
  .cws-search__results.cws-search--portal .cws-article-load-sentinel span{
    width:15px!important;
    height:15px!important;
    border:2px solid #d7dbde!important;
    border-top-color:#747b81!important;
    border-radius:50%!important;
    animation:cws-spin .75s linear infinite!important;
  }
  .cws-search__results.cws-search--portal [data-cws-mobile-view="categories"] .cws-category-list{
    padding-bottom:max(20px,env(safe-area-inset-bottom))!important;
  }
}


/* v0.22.33 — configurable action icon appearance + full mobile white underlay. */
.cws-search .cws-action-btn--quick,
.cws-search .cws-action-btn--basket,
.cws-search .cws-options-btn{
  background:var(--cws-action-bg,#fff)!important;
  color:var(--cws-action-fg,#262c31)!important;
}
.cws-search .cws-action-btn--quick{border-color:color-mix(in srgb,var(--cws-action-bg,#252b30) 82%,#000 18%)!important}
.cws-search .cws-action-btn--basket,
.cws-search .cws-options-btn{border-color:color-mix(in srgb,var(--cws-action-bg,#fff) 82%,#aeb4b9 18%)!important}
.cws-search .cws-action-btn--quick:hover,
.cws-search .cws-action-btn--basket:hover,
.cws-search .cws-options-btn:hover{filter:brightness(.96)}

@media(max-width:768px){
  /* The results panel deliberately shrinks to VisualViewport height so its
     scrolling area ends above the keyboard. This independent white underlay
     covers the full layout viewport behind it, preventing any strip of the
     underlying shop page from becoming visible while iOS/Android resize the
     visual viewport. */
  body.cws-mobile-search-open::before{
    content:""!important;
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100lvh!important;
    min-height:100vh!important;
    background:#fff!important;
    z-index:2147483646!important;
    pointer-events:none!important;
  }
  .cws-search__results.cws-search--portal{
    z-index:2147483647!important;
    background:#fff!important;
  }
}


/* v0.22.34 — desktop action containment + centred/attached panel polish. */
@media(min-width:769px){
  /* Older desktop styling reserved only 14px for the legacy chevron. The new
     two-action control needs an explicit contained column. */
  .cws-search .cws-result{
    grid-template-columns:60px minmax(0,1fr) 38px!important;
    gap:9px!important;
    padding-right:7px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  .cws-search .cws-result__main{
    min-width:0!important;
    overflow:hidden!important;
  }
  .cws-search .cws-result__action{
    width:34px!important;
    min-width:34px!important;
    max-width:34px!important;
    height:100%!important;
    align-self:stretch!important;
    justify-self:end!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:visible!important;
  }
  .cws-search .cws-product-actions{
    width:32px!important;
    max-width:32px!important;
    gap:3px!important;
    align-items:center!important;
  }
  .cws-search .cws-action-btn{
    width:30px!important;
    height:27px!important;
    min-width:30px!important;
    min-height:27px!important;
    border-radius:7px!important;
  }
  .cws-search .cws-action-btn svg{
    width:16px!important;
    height:16px!important;
  }
  .cws-search .cws-action-check{font-size:15px!important}
  .cws-search .cws-options-btn{
    width:36px!important;
    min-width:36px!important;
    min-height:42px!important;
    padding:4px 2px!important;
    gap:2px!important;
    border-radius:7px!important;
    font-size:8px!important;
    line-height:1.05!important;
  }
  .cws-search .cws-options-btn__icon svg{
    width:15px!important;
    height:15px!important;
  }

  /* The JS calculates the horizontal attachment; these guards ensure no old
     right-anchoring/transform rule can visually fight that calculation. */
  .cws-search .cws-search__results:not(.cws-search--portal){
    right:auto!important;
    transform:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}


/* v0.22.35 — desktop title spacing + mobile keyboard continuation cue. */
@media(min-width:769px){
  /* Keep the v0.22.34 action column contained, but restore the familiar
     image-to-title spacing from the stable desktop layout. */
  .cws-search .cws-result{
    grid-template-columns:64px minmax(0,1fr) 38px!important;
    gap:11px!important;
    padding-left:6px!important;
    padding-right:7px!important;
  }
  .cws-search .cws-result__image-wrap{
    justify-self:start!important;
  }
  .cws-search .cws-result__main{
    padding-left:0!important;
    margin-left:0!important;
  }
}

@media(max-width:768px){
  /* When the software keyboard is open, avoid a hard visual stop at the last
     fully visible result. A soft fade sits over the final 52px of the usable
     viewport, allowing the next row to remain visibly present underneath. */
  .cws-search__results.cws-search--portal.cws-keyboard-open::after{
    content:""!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    height:56px!important;
    pointer-events:none!important;
    z-index:30!important;
    background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,.72) 58%,#fff 100%)!important;
  }
  .cws-search__results.cws-search--portal.cws-keyboard-open .cws-mobile-panel__scroll{
    padding-bottom:14px!important;
    box-sizing:border-box!important;
  }
  /* Preserve a small glimpse of continuing content behind the fade rather
     than ending on a clean horizontal edge. */
  .cws-search__results.cws-search--portal.cws-keyboard-open .cws-products{
    padding-bottom:34px!important;
  }
}


/* v0.22.36 — desktop row column hard-fix.
   Keep thumbnail, text and purchase actions in separate non-overlapping tracks. */
@media(min-width:769px){
  .cws-search .cws-result{
    display:grid!important;
    grid-template-columns:68px minmax(0,1fr) 44px!important;
    column-gap:12px!important;
    align-items:center!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }

  .cws-search .cws-result__image-wrap{
    grid-column:1!important;
    width:68px!important;
    min-width:68px!important;
    max-width:68px!important;
    justify-self:start!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  .cws-search .cws-result__image{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    object-fit:contain!important;
  }

  .cws-search .cws-result__main{
    grid-column:2!important;
    min-width:0!important;
    width:auto!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }

  .cws-search .cws-result__name,
  .cws-search .cws-result__meta{
    min-width:0!important;
    max-width:100%!important;
  }

  .cws-search .cws-result__action{
    grid-column:3!important;
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
    justify-self:end!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
  }
}

/* v0.22.37 — desktop preview commerce controls + stock state cues. */
@media(min-width:769px){
  .cws-search .cws-preview__eyebrow{font-size:10px!important}
  .cws-search .cws-preview__name{font-size:21px!important;line-height:1.28!important;font-weight:720!important}
  .cws-search .cws-preview__price{font-size:17px!important;line-height:1.25!important}
  .cws-search .cws-preview__codes{font-size:11px!important}
  .cws-search .cws-preview__text{font-size:13.5px!important;line-height:1.55!important;-webkit-line-clamp:3!important}
  .cws-search .cws-preview__footer{justify-content:flex-start!important;padding-top:10px!important}
  .cws-search .cws-preview__actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important;width:100%!important;margin-top:2px!important}
  .cws-search .cws-preview__actions-loading{font-size:11px;color:#8b9298;padding:7px 0}
  .cws-search .cws-preview-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;min-height:38px!important;padding:8px 12px!important;border:1px solid #d9dde0!important;border-radius:7px!important;background:#fff;color:#252b30;font-size:11.5px!important;font-weight:700!important;line-height:1!important;cursor:pointer!important;transition:filter .14s ease,box-shadow .14s ease,transform .14s ease,background .14s ease,border-color .14s ease!important}
  .cws-search .cws-preview-btn__icon{display:inline-flex!important;width:16px!important;height:16px!important;align-items:center!important;justify-content:center!important}
  .cws-search .cws-preview-btn__icon svg{display:block!important;width:16px!important;height:16px!important;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
  .cws-search .cws-preview-btn__icon .cws-action-icon-fill{fill:currentColor;stroke:none}
  .cws-search .cws-preview-btn--quick,.cws-search .cws-preview-btn--basket,.cws-search .cws-preview-btn--options{background:var(--cws-action-bg,#252b30)!important;color:var(--cws-action-fg,#fff)!important;border-color:color-mix(in srgb,var(--cws-action-bg,#252b30) 82%,#000 18%)!important}
  .cws-search .cws-preview-btn--view{background:#fff!important;color:#30363b!important;border-color:#d7dbde!important}
  .cws-search .cws-preview-btn--notify{background:#fff8e6!important;color:#785300!important;border-color:#ead59a!important}
  .cws-search .cws-preview-btn:hover{filter:brightness(1.09)!important;box-shadow:0 4px 12px rgba(30,36,41,.12)!important;transform:translateY(-1px)!important}
  .cws-search .cws-preview-btn--quick:hover{filter:brightness(1.18)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--cws-action-bg,#252b30) 22%,transparent),0 5px 14px rgba(30,36,41,.16)!important}
  .cws-search .cws-preview-btn:active{transform:translateY(0) scale(.98)!important}
}

/* Make Quick Buy unmistakably interactive on desktop result rows. */
@media(min-width:769px){
  .cws-search .cws-action-btn--quick:hover{
    filter:brightness(1.20)!important;
    transform:translateY(-1px) scale(1.03)!important;
    box-shadow:0 0 0 3px color-mix(in srgb,var(--cws-action-bg,#252b30) 24%,transparent),0 5px 14px rgba(24,30,35,.22)!important;
  }
  .cws-search .cws-action-btn--notify{background:#fff8e6!important;color:#785300!important;border-color:#ead59a!important}
  .cws-search .cws-action-btn--notify:hover{background:#fff1c9!important;border-color:#d9bd6c!important;box-shadow:0 3px 10px rgba(117,83,0,.15)!important}
}

.cws-search .cws-stock-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;line-height:1.2}
.cws-search .cws-stock-badge>span{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;font-size:10px;line-height:1}
.cws-search .cws-stock-badge--in{color:#287a3b}.cws-search .cws-stock-badge--in>span{background:#eaf6ed;color:#287a3b}
.cws-search .cws-stock-badge--low{color:#8a6200}.cws-search .cws-stock-badge--low>span{background:#fff4cf;color:#8a6200}
.cws-search .cws-stock-badge--backorder{color:#765c1d}.cws-search .cws-stock-badge--backorder>span{background:#f6f0dd;color:#765c1d}
.cws-search .cws-stock-badge--out{color:#9a3131}.cws-search .cws-stock-badge--out>span{background:#fbeaea;color:#9a3131}

/* v0.22.38 — pre-search discovery surface. */
.cws-search__results.cws-discovery-mode{background:#fff!important;}
.cws-discovery{padding:16px;box-sizing:border-box;color:#24282c;background:#fff;}
.cws-discovery-intro{display:flex;flex-direction:column;gap:3px;margin-bottom:16px;}
.cws-discovery-intro strong{font-size:17px;line-height:1.25;}
.cws-discovery-intro span{font-size:12px;color:#737a80;}
.cws-discovery-section{margin:0 0 18px;}
.cws-discovery-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;}
.cws-discovery-heading strong{font-size:11px;letter-spacing:.055em;text-transform:uppercase;color:#697178;}
.cws-discovery-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;}
.cws-discovery-product{display:grid;grid-template-columns:62px minmax(0,1fr);gap:9px;align-items:center;padding:8px;border:1px solid #e6e9eb;border-radius:9px;background:#fff;color:#24282c!important;text-decoration:none!important;min-width:0;transition:border-color .12s,background .12s,transform .12s;}
.cws-discovery-product:hover{border-color:#cfd5d9;background:#fafbfb;transform:translateY(-1px);}
.cws-discovery-product__image{width:62px;height:62px;border:1px solid #edf0f1;border-radius:7px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff;}
.cws-discovery-product__image img{width:100%;height:100%;object-fit:contain;display:block;}
.cws-discovery-product__copy{display:flex;flex-direction:column;gap:5px;min-width:0;}
.cws-discovery-product__copy strong{font-size:12px;line-height:1.3;font-weight:650;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.cws-discovery-product__copy small{font-size:11px;font-weight:650;color:#50575e;}
.cws-discovery-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.cws-discovery-category{display:flex;flex-direction:column;gap:3px;padding:10px 11px;border:1px solid #e4e7e9;border-radius:8px;background:#f7f8f8;color:#24282c!important;text-decoration:none!important;min-width:0;}
.cws-discovery-category span{font-size:12px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cws-discovery-category small{font-size:10.5px;color:#737a80;}
.cws-discovery-searches{display:flex;flex-wrap:wrap;gap:7px;}
.cws-discovery-search{appearance:none;border:1px solid #dfe3e6;border-radius:999px;background:#fff;padding:7px 10px;color:#343a3f;font-size:11px;font-weight:600;cursor:pointer;}
.cws-discovery-search:hover{background:#f1f3f4;border-color:#ccd2d6;}

@media(max-width:768px){
  .cws-search__results.cws-search--portal.cws-discovery-mode .cws-mobile-panel__tabs{display:none!important;}
  .cws-search__results.cws-search--portal.cws-discovery-mode .cws-mobile-panel__scroll{padding-top:0!important;}
  .cws-search__results.cws-search--portal .cws-discovery{padding:14px 12px 26px;}
  .cws-search__results.cws-search--portal .cws-discovery-intro{margin-bottom:15px;padding:0 2px;}
  .cws-search__results.cws-search--portal .cws-discovery-intro strong{font-size:18px;}
  .cws-search__results.cws-search--portal .cws-discovery-products{display:flex;overflow-x:auto;gap:9px;padding:1px 2px 8px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .cws-search__results.cws-search--portal .cws-discovery-products::-webkit-scrollbar{display:none;}
  .cws-search__results.cws-search--portal .cws-discovery-product{flex:0 0 min(78vw,300px);grid-template-columns:76px minmax(0,1fr);min-height:92px;scroll-snap-align:start;padding:8px;}
  .cws-search__results.cws-search--portal .cws-discovery-product__image{width:76px;height:76px;}
  .cws-search__results.cws-search--portal .cws-discovery-product__copy strong{font-size:13px;}
  .cws-search__results.cws-search--portal .cws-discovery-categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  .cws-search__results.cws-search--portal .cws-discovery-category{min-height:58px;justify-content:center;}
  .cws-search__results.cws-search--portal .cws-discovery-search{min-height:38px;padding:8px 11px;font-size:11.5px;}
}


/* v0.22.40 — discovery is one continuous mobile sheet.
   The keyboard-edge product-result fade is useful after a query, but in the
   pre-search state it looked like a second independently sliding white panel. */
@media(max-width:768px){
  .cws-search__results.cws-search--portal.cws-discovery-mode{
    background:#fff!important;
  }

  .cws-search__results.cws-search--portal.cws-discovery-mode::after{
    content:none!important;
    display:none!important;
  }

  .cws-search__results.cws-search--portal.cws-discovery-mode .cws-mobile-panel__scroll{
    background:#fff!important;
    padding-bottom:0!important;
    min-height:calc(var(--cws-vv-height,100dvh) - 82px)!important;
    box-sizing:border-box!important;
  }

  .cws-search__results.cws-search--portal.cws-discovery-mode [data-cws-mobile-content]{
    display:block!important;
    min-height:100%!important;
    background:#fff!important;
  }

  .cws-search__results.cws-search--portal.cws-discovery-mode .cws-discovery{
    min-height:100%!important;
    margin:0!important;
    background:#fff!important;
    box-sizing:border-box!important;
    padding-bottom:32px!important;
  }

  .cws-search__results.cws-search--portal.cws-discovery-mode.cws-keyboard-open .cws-products{
    padding-bottom:0!important;
  }
}

/* v0.22.44 — desktop row vertical alignment + theme typography inheritance. */
.cws-search,
.cws-search__results,
.cws-search button,
.cws-search input,
.cws-search select,
.cws-search textarea,
.cws-search a{
  font-family:inherit!important;
}

@media(min-width:769px){
  /* Keep the established row geometry; move only the central text stack down
     slightly so title/price/SKU/OE sit optically centred against image/actions. */
  .cws-search .cws-result__main{
    transform:translateY(4px)!important;
  }
}


/* v0.22.45 — desktop preview quantity + lighter/larger preview typography. */
@media(min-width:769px){
  /* Keep the preview readable without the previous heavy/bold treatment. */
  .cws-search .cws-preview__eyebrow{
    font-size:10.5px!important;
    font-weight:600!important;
  }
  .cws-search .cws-preview__name{
    font-size:23px!important;
    line-height:1.27!important;
    font-weight:600!important;
  }
  .cws-search .cws-preview__price{
    font-size:18px!important;
    line-height:1.3!important;
    font-weight:550!important;
  }
  .cws-search .cws-preview__codes{
    font-size:12px!important;
    font-weight:400!important;
  }
  .cws-search .cws-preview__text{
    font-size:14.5px!important;
    line-height:1.55!important;
    font-weight:400!important;
  }
  .cws-search .cws-stock-badge,
  .cws-search .cws-preview__stock{
    font-size:12px!important;
    font-weight:600!important;
  }
  .cws-search .cws-preview-btn{
    font-size:12px!important;
    font-weight:600!important;
  }

  .cws-search .cws-preview-qty{
    display:inline-flex!important;
    align-items:stretch!important;
    height:38px!important;
    border:1px solid #d7dbde!important;
    border-radius:7px!important;
    overflow:hidden!important;
    background:#fff!important;
    box-sizing:border-box!important;
  }
  .cws-search .cws-preview-qty__btn{
    appearance:none!important;
    -webkit-appearance:none!important;
    width:32px!important;
    min-width:32px!important;
    padding:0!important;
    border:0!important;
    background:#fff!important;
    color:#30363b!important;
    font:inherit!important;
    font-size:18px!important;
    font-weight:500!important;
    line-height:36px!important;
    text-align:center!important;
    cursor:pointer!important;
    transition:background .12s ease,color .12s ease!important;
  }
  .cws-search .cws-preview-qty__btn:hover{
    background:#f1f3f4!important;
    color:#111!important;
  }
  .cws-search .cws-preview-qty__input{
    appearance:textfield!important;
    -moz-appearance:textfield!important;
    width:34px!important;
    min-width:34px!important;
    padding:0!important;
    border:0!important;
    border-left:1px solid #e2e5e7!important;
    border-right:1px solid #e2e5e7!important;
    outline:0!important;
    background:#fff!important;
    color:#252b30!important;
    font:inherit!important;
    font-size:12px!important;
    font-weight:500!important;
    line-height:36px!important;
    text-align:center!important;
    box-shadow:none!important;
  }
  .cws-search .cws-preview-qty__input::-webkit-outer-spin-button,
  .cws-search .cws-preview-qty__input::-webkit-inner-spin-button{
    -webkit-appearance:none!important;
    margin:0!important;
  }
}

/* Explicitly absent from touch/mobile layouts. */
@media(max-width:768px){
  .cws-search .cws-preview-qty{display:none!important}
}


/* v0.22.46 — desktop preview action row + result-row vertical rhythm. */
@media(min-width:769px){
  .cws-search .cws-preview__actions{
    flex-wrap:nowrap!important;
    align-items:center!important;
    gap:7px!important;
    overflow:visible!important;
  }
  .cws-search .cws-preview-btn{
    flex:0 0 auto!important;
    padding-left:10px!important;
    padding-right:10px!important;
    white-space:nowrap!important;
  }
  .cws-search .cws-preview-btn--view{
    padding-left:9px!important;
    padding-right:9px!important;
  }
  .cws-search .cws-preview-qty{
    flex:0 0 auto!important;
  }

  /* Treat title + price + SKU/OE as one compact stack and centre the
     complete stack inside the fixed result row. This prevents metadata from
     being pushed below the row when titles wrap. */
  .cws-search .cws-result__main{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-self:stretch!important;
    min-height:0!important;
    gap:2px!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
  }
  .cws-search .cws-result__name{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
    margin:0!important;
    line-height:1.22!important;
    flex:0 0 auto!important;
  }
  .cws-search .cws-result__meta{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:2px!important;
    margin:0!important;
    min-height:0!important;
    flex:0 0 auto!important;
  }
  .cws-search .cws-result__price{
    display:block!important;
    line-height:1.12!important;
    margin:0!important;
    flex:0 0 auto!important;
  }
  .cws-search .cws-result__codes{
    display:flex!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
    gap:4px!important;
    line-height:1!important;
    margin:0!important;
    min-height:15px!important;
    overflow:hidden!important;
    flex:0 0 auto!important;
  }
}


/* v0.23.0 — final desktop result-row vertical fit.
   Preserve the established row height while centring the entire information stack. */
@media(min-width:769px){
  .cws-search .cws-result{
    align-items:center!important;
  }
  .cws-search .cws-result__main{
    justify-self:stretch!important;
    height:100%!important;
    box-sizing:border-box!important;
  }
  .cws-search .cws-result__codes .cws-code{
    line-height:1!important;
  }
}


/* v0.23.1 — desktop preview vertical allocation.
   The product image yields space before text does, so description/stock/actions
   cannot be clipped by the fixed desktop search frame. */
@media(min-width:769px){
  .cws-search .cws-preview{
    overflow:hidden!important;
  }
  .cws-search .cws-preview__image-wrap{
    flex:1 1 260px!important;
    height:auto!important;
    min-height:220px!important;
    max-height:390px!important;
    margin-bottom:12px!important;
  }
  .cws-search .cws-preview__body{
    flex:0 0 auto!important;
    min-height:0!important;
    gap:7px!important;
  }
  .cws-search .cws-preview__text{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:3!important;
    overflow:hidden!important;
    min-height:0!important;
    max-height:calc(1.55em * 3)!important;
    margin:0!important;
    padding:0!important;
  }
  .cws-search .cws-preview__footer{
    flex:0 0 auto!important;
    margin-top:0!important;
    padding-top:8px!important;
  }
  .cws-search .cws-preview__actions{
    flex:0 0 auto!important;
    margin-top:0!important;
  }
}

@media(min-width:1100px){
  .cws-search .cws-preview__image-wrap{
    height:auto!important;
    min-height:250px!important;
    max-height:400px!important;
  }
}


/* v0.23.7 — immediate, non-blocking search activity cue. */
.cws-search .cws-search__bar{position:relative}
.cws-search .cws-search__bar::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-2px;
  height:2px;
  border-radius:2px;
  background:currentColor;
  opacity:0;
  transform:scaleX(.08);
  transform-origin:left center;
  pointer-events:none;
  transition:opacity .08s ease;
}
.cws-search.is-querying .cws-search__bar::after{
  opacity:.28;
  animation:cws-query-progress .72s ease-in-out infinite;
}
@keyframes cws-query-progress{
  0%{transform:translateX(0) scaleX(.08);transform-origin:left center}
  50%{transform:translateX(22%) scaleX(.58);transform-origin:center center}
  100%{transform:translateX(92%) scaleX(.08);transform-origin:right center}
}
@media(prefers-reduced-motion:reduce){
  .cws-search.is-querying .cws-search__bar::after{animation:none;transform:scaleX(1)}
}


/* v0.23.10 — image-led discovery cards and denser desktop use of space. */
@media(min-width:769px){
  .cws-search__results.cws-discovery-mode .cws-discovery{
    padding:22px 24px 28px!important;
  }
  .cws-search__results.cws-discovery-mode .cws-discovery-intro{
    margin-bottom:20px!important;
  }
  .cws-search__results.cws-discovery-mode .cws-discovery-intro strong{
    font-size:22px!important;
    font-weight:600!important;
  }
  .cws-search__results.cws-discovery-mode .cws-discovery-intro span{
    font-size:13.5px!important;
  }
  .cws-search__results.cws-discovery-mode .cws-discovery-section{
    margin-bottom:24px!important;
  }
  .cws-search__results.cws-discovery-mode .cws-discovery-heading{
    margin-bottom:12px!important;
  }
  .cws-search__results.cws-discovery-mode .cws-discovery-heading strong{
    font-size:12px!important;
    letter-spacing:.045em!important;
  }
  .cws-search__results.cws-discovery-mode .cws-discovery-products{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:14px!important;
  }
  .cws-search__results.cws-discovery-mode .cws-discovery-product{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:10px!important;
    padding:11px!important;
    min-height:0!important;
    border-radius:11px!important;
  }
  .cws-search__results.cws-discovery-mode .cws-discovery-product__image{
    width:100%!important;
    height:148px!important;
    border-radius:9px!important;
  }
  .cws-search__results.cws-discovery-mode .cws-discovery-product__image img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
  }
  .cws-search__results.cws-discovery-mode .cws-discovery-product__copy{
    gap:7px!important;
    padding:0 2px 2px!important;
  }
  .cws-search__results.cws-discovery-mode .cws-discovery-product__copy strong{
    font-size:14px!important;
    line-height:1.32!important;
    font-weight:600!important;
  }
  .cws-search__results.cws-discovery-mode .cws-discovery-product__copy small{
    font-size:13px!important;
    font-weight:600!important;
  }
  .cws-search__results.cws-discovery-mode .cws-discovery-categories{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .cws-search__results.cws-discovery-mode .cws-discovery-category{
    padding:12px 13px!important;
  }
  .cws-search__results.cws-discovery-mode .cws-discovery-category span{
    font-size:13px!important;
  }
}

/* The pre-search mobile Categories tab is intentionally available. Older
   discovery CSS hid the whole tab strip before this feature existed. */
@media(max-width:768px){
  .cws-search__results.cws-search--portal.cws-discovery-mode .cws-mobile-panel__tabs{
    display:flex!important;
  }
  .cws-search__results.cws-search--portal.cws-discovery-mode .cws-mobile-panel__scroll{
    padding-top:0!important;
  }
  .cws-search__results.cws-search--portal .cws-discovery-product{
    flex:0 0 min(82vw,320px)!important;
    grid-template-columns:108px minmax(0,1fr)!important;
    min-height:124px!important;
    gap:11px!important;
    padding:9px!important;
  }
  .cws-search__results.cws-search--portal .cws-discovery-product__image{
    width:108px!important;
    height:108px!important;
  }
  .cws-search__results.cws-search--portal .cws-discovery-product__copy strong{
    font-size:13.5px!important;
  }
  .cws-search__results.cws-search--portal .cws-discovery-product__copy small{
    font-size:12px!important;
  }
}


/* v0.23.11 — discovery stays inside the normal search frame.
   Images are larger relative to copy, not relative to the application window. */
@media(min-width:769px){
  .cws-search__results.cws-discovery-mode{
    max-height:var(--cws-max-height,680px)!important;
    min-height:0!important;
    height:auto!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
  }
  .cws-search__results.cws-discovery-mode .cws-discovery{
    padding:16px 18px 20px!important;
  }
  .cws-search__results.cws-discovery-mode .cws-discovery-intro{
    margin-bottom:14px!important;
  }
  .cws-search__results.cws-discovery-mode .cws-discovery-intro strong{
    font-size:18px!important;
  }
  .cws-search__results.cws-discovery-mode .cws-discovery-intro span{
    font-size:12.5px!important;
  }
  .cws-search__results.cws-discovery-mode .cws-discovery-section{
    margin-bottom:17px!important;
  }
  .cws-search__results.cws-discovery-mode .cws-discovery-heading{
    margin-bottom:8px!important;
  }
  .cws-search__results.cws-discovery-mode .cws-discovery-products{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:9px!important;
  }
  .cws-search__results.cws-discovery-mode .cws-discovery-product{
    display:grid!important;
    grid-template-columns:96px minmax(0,1fr)!important;
    align-items:center!important;
    gap:10px!important;
    padding:8px!important;
    min-height:112px!important;
    border-radius:9px!important;
  }
  .cws-search__results.cws-discovery-mode .cws-discovery-product__image{
    width:96px!important;
    height:96px!important;
    border-radius:8px!important;
  }
  .cws-search__results.cws-discovery-mode .cws-discovery-product__copy{
    gap:5px!important;
    padding:0!important;
  }
  .cws-search__results.cws-discovery-mode .cws-discovery-product__copy strong{
    font-size:13px!important;
    line-height:1.28!important;
  }
  .cws-search__results.cws-discovery-mode .cws-discovery-product__copy small{
    font-size:11.5px!important;
  }
  .cws-search__results.cws-discovery-mode .cws-discovery-categories{
    gap:8px!important;
  }
  .cws-search__results.cws-discovery-mode .cws-discovery-category{
    padding:9px 10px!important;
  }
}

/* Mobile still uses its fixed full-screen search shell. Keep the imagery useful
   without making each card dominate the viewport. */
@media(max-width:768px){
  .cws-search__results.cws-search--portal .cws-discovery-product{
    flex-basis:min(76vw,295px)!important;
    grid-template-columns:88px minmax(0,1fr)!important;
    min-height:104px!important;
  }
  .cws-search__results.cws-search--portal .cws-discovery-product__image{
    width:88px!important;
    height:88px!important;
  }
}


/* v0.23.13 — desktop discovery geometry is owned exclusively by fitPanel().
   Do NOT set width/left/right/min-width here: the JS inline geometry must win. */
@media(min-width:769px){
  .cws-search__results.cws-discovery-mode{
    max-height:var(--cws-max-height,680px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }
}


.cws-discovery-skeleton{pointer-events:none!important}
.cws-discovery-skeleton .cws-discovery-product__image{
  background:linear-gradient(90deg,#f3f4f5 20%,#fafafa 50%,#f3f4f5 80%)!important;
  background-size:200% 100%!important;
  animation:cws-discovery-shimmer 1.1s linear infinite!important;
}
.cws-discovery-skeleton .cws-discovery-product__copy{display:flex!important;flex-direction:column!important;gap:8px!important}
.cws-discovery-skeleton .cws-discovery-product__copy i{
  display:block!important;height:10px!important;border-radius:5px!important;background:#eef0f2!important;width:90%!important
}
.cws-discovery-skeleton .cws-discovery-product__copy i+ i{width:52%!important}
@keyframes cws-discovery-shimmer{to{background-position:-200% 0}}
@media(prefers-reduced-motion:reduce){.cws-discovery-skeleton .cws-discovery-product__image{animation:none!important}}


/* v0.23.14 — editorial pre-search cards: two image-led products per section
   inside the existing search frame. */
@media(min-width:769px){
  .cws-search__results.cws-discovery-mode .cws-discovery-products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }
  .cws-search__results.cws-discovery-mode .cws-discovery-product{
    display:grid!important;
    grid-template-columns:minmax(118px,42%) minmax(0,1fr)!important;
    gap:12px!important;
    align-items:stretch!important;
    min-height:132px!important;
    padding:9px!important;
    background:#fff!important;
  }
  .cws-search__results.cws-discovery-mode .cws-discovery-product__image{
    width:100%!important;
    aspect-ratio:1/1!important;
    height:auto!important;
    min-height:118px!important;
    max-height:150px!important;
    align-self:center!important;
    background:#f8f9f9!important;
  }
  .cws-search__results.cws-discovery-mode .cws-discovery-product__copy{
    justify-content:center!important;
    align-self:stretch!important;
    padding:5px 3px!important;
    border-left:1px solid #eef0f1!important;
    padding-left:11px!important;
  }
  .cws-search__results.cws-discovery-mode .cws-discovery-product__copy strong{
    font-size:13.5px!important;
    line-height:1.3!important;
    -webkit-line-clamp:3!important;
  }
  .cws-search__results.cws-discovery-mode .cws-discovery-product__copy small{
    font-size:12px!important;
  }
}

/* Mobile floating basket is part of the search overlay only. */
@media(max-width:768px){
  .cws-mobile-floating-cart{
    position:fixed!important;
    right:16px!important;
    bottom:18px!important;
    z-index:2147483647!important;
    width:48px!important;
    height:48px!important;
    border-radius:50%!important;
    background:#252b30!important;
    color:#fff!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-shadow:0 8px 26px rgba(0,0,0,.22)!important;
    text-decoration:none!important;
    transition:transform .16s ease!important;
  }
  .cws-mobile-floating-cart svg{
    width:23px!important;
    height:23px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }
  .cws-mobile-floating-cart [data-cws-mobile-cart-count]{
    position:absolute!important;
    right:-3px!important;
    top:-4px!important;
    min-width:19px!important;
    height:19px!important;
    padding:0 4px!important;
    box-sizing:border-box!important;
    border-radius:10px!important;
    background:#fff!important;
    color:#252b30!important;
    border:1px solid #dfe3e6!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:10px!important;
    font-weight:750!important;
    line-height:1!important;
  }
  .cws-mobile-floating-cart.is-bumped{transform:scale(1.12)!important}
  .cws-search__results.cws-search--portal.cws-keyboard-open .cws-mobile-floating-cart{
    bottom:12px!important;
  }
}
@media(min-width:769px){
  .cws-mobile-floating-cart{display:none!important}
}


/* v0.23.15 — mobile basket tell-tale */
@media(max-width:768px){
  .cws-mobile-floating-cart [data-cws-mobile-cart-count]{
    background:#e3262e!important;
    color:#fff!important;
    border:2px solid #fff!important;
    box-shadow:0 2px 7px rgba(0,0,0,.18)!important;
    min-width:21px!important;
    height:21px!important;
    border-radius:11px!important;
    font-size:10px!important;
    font-weight:800!important;
  }
  .cws-mobile-floating-cart.has-items{
    box-shadow:0 8px 26px rgba(0,0,0,.22),0 0 0 2px rgba(255,255,255,.9)!important;
  }
}


/* v0.23.16 — Design 5 inspired pre-search dashboard. Same CWS frame,
   stronger imagery and less dead white space. */
@media(min-width:769px){
  .cws-search__results.cws-discovery-v5{
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }
  .cws-home-v5{
    padding:15px 16px 18px;
  }
  .cws-home-v5__intro{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:12px;
  }
  .cws-home-v5__intro>div{display:flex;flex-direction:column;gap:3px}
  .cws-home-v5__intro strong{font-size:17px;line-height:1.15}
  .cws-home-v5__intro span{font-size:12px;color:#747b82}
  .cws-home-v5__products{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .cws-home-block{
    min-width:0;
    border:1px solid #e6e8ea;
    border-radius:10px;
    padding:9px;
    background:#fff;
  }
  .cws-home-block__head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:8px;
  }
  .cws-home-block__head strong{
    font-size:13px;
    line-height:1.2;
  }
  .cws-home-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .cws-home-tile{
    min-width:0;
    color:inherit!important;
    text-decoration:none!important;
    display:flex;
    flex-direction:column;
    gap:6px;
  }
  .cws-home-tile__image{
    display:block;
    width:100%;
    aspect-ratio:1/1;
    border-radius:8px;
    background:#f6f7f7;
    overflow:hidden;
  }
  .cws-home-tile__image img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
    transition:transform .18s ease;
  }
  .cws-home-tile:hover .cws-home-tile__image img{transform:scale(1.035)}
  .cws-home-tile__copy{
    display:flex;
    flex-direction:column;
    gap:2px;
    min-width:0;
  }
  .cws-home-tile__copy strong{
    font-size:11.5px;
    line-height:1.25;
    font-weight:600;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
  }
  .cws-home-tile__copy small{
    font-size:11px;
    font-weight:600;
    line-height:1.2;
  }
  .cws-home-v5__footer{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:10px;
  }
  .cws-home-quick-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:7px;
  }
  .cws-home-quick{
    min-width:0;
    color:inherit!important;
    text-decoration:none!important;
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:5px;
  }
  .cws-home-quick__image{
    width:100%;
    aspect-ratio:1/1;
    max-height:55px;
    border:1px solid #eceeef;
    border-radius:7px;
    background:#f8f9f9;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .cws-home-quick__image img{width:100%;height:100%;object-fit:contain}
  .cws-home-quick strong{font-size:10.5px;line-height:1.15}
  .cws-home-chip-grid{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
  }
  .cws-home-chip{
    border:0;
    border-radius:15px;
    background:#f1f3f4;
    padding:6px 9px;
    font:inherit;
    font-size:10.5px;
    line-height:1;
    cursor:pointer;
  }
  .cws-home-chip:hover{background:#e6e9eb}
}

/* v0.23.16 — live mobile cart badge stays immediately authoritative after add */
@media(max-width:768px){
  .cws-mobile-floating-cart [data-cws-mobile-cart-count]{
    background:#e2212b!important;
    color:#fff!important;
  }
}


/* v0.23.17 — desktop discovery redesign to match the approved Design 5 direction */
@media(min-width:769px){
  .cws-search__results.cws-discovery-v17{
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }
  .cws-v17{
    display:grid;
    grid-template-columns:210px minmax(0,1fr);
    min-height:560px;
    background:#fff;
  }
  .cws-v17-sidebar{
    border-right:1px solid #eceeef;
    padding:16px 12px;
    background:#fbfbfb;
  }
  .cws-v17-sidebar__title{
    font-size:12px;
    font-weight:700;
    letter-spacing:.045em;
    text-transform:uppercase;
    margin:0 8px 10px;
  }
  .cws-v17-sidebar__list{
    display:flex;
    flex-direction:column;
  }
  .cws-v17-cat{
    display:grid;
    grid-template-columns:38px minmax(0,1fr) 14px;
    gap:8px;
    align-items:center;
    min-height:49px;
    padding:6px 7px;
    border-bottom:1px solid #eceeef;
    color:inherit!important;
    text-decoration:none!important;
  }
  .cws-v17-cat__image{
    width:36px;height:36px;border-radius:7px;overflow:hidden;background:#f3f4f5;
    display:flex;align-items:center;justify-content:center;
  }
  .cws-v17-cat__image img{width:100%;height:100%;object-fit:contain}
  .cws-v17-cat strong{font-size:11.5px;line-height:1.2;font-weight:600}
  .cws-v17-cat>span:last-child{font-size:18px;color:#8a9197}
  .cws-v17-main{
    min-width:0;
    padding:13px 14px 16px;
  }
  .cws-v17-hero{
    position:relative;
    display:block;
    height:190px;
    border-radius:10px;
    overflow:hidden;
    background:#17191b;
    color:#fff!important;
    text-decoration:none!important;
    margin-bottom:11px;
  }
  .cws-v17-hero__image{
    position:absolute;inset:0;
  }
  .cws-v17-hero__image img{
    width:100%;height:100%;object-fit:cover;display:block;
  }
  .cws-v17-hero__shade{
    position:absolute;inset:0;
    background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.1) 68%);
  }
  .cws-v17-hero__copy{
    position:absolute;left:22px;bottom:20px;max-width:58%;
    display:flex;flex-direction:column;gap:5px;z-index:2;
  }
  .cws-v17-hero__copy small{
    font-size:10px;letter-spacing:.08em;text-transform:uppercase;opacity:.75;
  }
  .cws-v17-hero__copy strong{
    font-size:22px;line-height:1.12;font-weight:650;
  }
  .cws-v17-hero__copy span{
    font-size:13px;font-weight:600;
  }
  .cws-v17-sections{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
  }
  .cws-v17-block{
    border:1px solid #e6e8ea;
    border-radius:9px;
    padding:8px;
    min-width:0;
  }
  .cws-v17-block__head{
    margin-bottom:7px;
  }
  .cws-v17-block__head strong{
    font-size:12.5px;line-height:1.2;
  }
  .cws-v17-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
  }
  .cws-v17-card{
    display:flex;
    flex-direction:column;
    gap:5px;
    color:inherit!important;
    text-decoration:none!important;
    min-width:0;
  }
  .cws-v17-card__image{
    width:100%;
    aspect-ratio:1/1;
    max-height:108px;
    border-radius:7px;
    background:#f7f7f7;
    overflow:hidden;
  }
  .cws-v17-card__image img{
    width:100%;height:100%;object-fit:contain;display:block;
  }
  .cws-v17-card__copy{
    display:flex;flex-direction:column;gap:2px;min-width:0;
  }
  .cws-v17-card__copy strong{
    font-size:10.5px;line-height:1.22;font-weight:600;
    display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
  }
  .cws-v17-card__copy small{
    font-size:10.5px;line-height:1.15;font-weight:600;
  }
  .cws-v17-searches{
    margin-top:9px;
    border:1px solid #e6e8ea;
    border-radius:9px;
    padding:9px;
    display:grid;
    grid-template-columns:auto 1fr;
    gap:10px;
    align-items:center;
  }
  .cws-v17-searches>strong{font-size:11.5px;white-space:nowrap}
  .cws-v17-searches>div{display:flex;flex-wrap:wrap;gap:5px}
  .cws-v17-chip{
    border:0;border-radius:14px;background:#f1f3f4;padding:6px 9px;
    font:inherit;font-size:10px;line-height:1;cursor:pointer;
  }
  .cws-v17-chip:hover{background:#e6e9eb}
}

/* Hide obsolete desktop v5 content if stale CSS/markup is ever present. */
@media(min-width:769px){
  .cws-search__results.cws-discovery-v17 .cws-home-v5{display:none!important}
}
