/* PrimeUP Brindes: compact Woo product grids | 5 desktop / 3 tablet / 1 mobile.
   Loaded last so legacy landing-page breakpoints cannot restore the carousel. */
body.ref17 .ref-products .ref-product-grid,
body.ref17 .pu-collection__grid,
.primeup-woo-view ul.products,
.primeup-woo-view .woocommerce ul.products{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:18px!important;
  overflow:visible!important;
  scroll-snap-type:none!important;
  min-width:0;
}
body.ref17 .ref-products .ref-product-card,
body.ref17 .pu-collection__grid .pu-discovery-card,
.primeup-woo-view ul.products li.product{
  flex:none!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
}
body.ref17 .ref-products .ref-product-photo{
  height:auto!important;
  min-height:0!important;
  aspect-ratio:1 / 1!important;
  padding:7px!important;
}
body.ref17 .ref-products .ref-product-photo img{
  width:100%!important;
  height:100%!important;
  max-height:225px!important;
  object-fit:contain!important;
}
body.ref17 .ref-products .ref-product-copy{
  padding:15px 14px 16px!important;
}
body.ref17 .ref-products .ref-product-copy>small{
  font-size:10px!important;
  margin-bottom:6px!important;
}
body.ref17 .ref-products .ref-product-copy h3{
  font-size:13px!important;
  line-height:1.4!important;
  min-height:34px!important;
  margin:0 0 7px!important;
}
body.ref17 .ref-products .ref-product-live-ref{
  font-size:10px!important;
  min-height:0!important;
  line-height:1.4!important;
  margin:0 0 8px!important;
  overflow-wrap:anywhere;
}
body.ref17 .ref-products .pu-card-facts,
body.ref17 .pu-discovery-card .pu-card-facts{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:4px!important;
  margin:0 0 9px!important;
}
body.ref17 .ref-products .pu-card-fact,
body.ref17 .pu-discovery-card .pu-card-fact{
  display:flex!important;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:baseline;
  gap:2px 6px!important;
  min-width:0;
}
body.ref17 .ref-products .pu-card-fact dt,
body.ref17 .ref-products .pu-card-fact dd,
body.ref17 .pu-discovery-card .pu-card-fact dt,
body.ref17 .pu-discovery-card .pu-card-fact dd{
  font-size:10px!important;
  line-height:1.35!important;
  overflow-wrap:anywhere;
  margin:0;
}
body.ref17 .ref-products .ref-product-meta{
  margin:0 0 8px!important;
}
body.ref17 .ref-products .ref-product-detail-link-text{
  margin:0 0 8px!important;
  font-size:10px!important;
}
body.ref17 .ref-products .ref-add{
  min-height:37px!important;
  padding:8px 7px!important;
  font-size:10px!important;
  line-height:1.3!important;
}
body.ref17 .ref-products .pu-card-variant-previews{
  gap:5px;
  margin:7px 0 9px;
}
body.ref17 .ref-products .pu-card-variant-previews__title{
  font-size:10px;
}
body.ref17 .ref-products .pu-card-variant-previews__rail,
body.ref17 .pu-discovery-card .pu-card-variant-previews__rail{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:5px;
}
body.ref17 .pu-card-variant-preview{
  flex:0 0 42px!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
}
body.ref17 .pu-card-variant-preview img{
  width:100%!important;
  height:100%!important;
  object-fit:contain;
}
body.ref17 .pu-card-variant-preview--more,
.primeup-woo-view .pu-woo-real-variant--more{
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #cbd7e2;
  border-radius:9px;
  background:#eaf0f5;
  color:#0b2948;
  font:800 12px/1 "Poppins",Arial,sans-serif;
  text-decoration:none;
  white-space:nowrap;
}
body.ref17 .pu-card-variant-preview--more:hover,
.primeup-woo-view .pu-woo-real-variant--more:hover{
  border-color:#17619c;
  background:#dceaf5;
}
body.ref17 .pu-card-variant-preview--more:focus-visible,
.primeup-woo-view .pu-woo-real-variant--more:focus-visible{
  outline:3px solid #d89d26;
  outline-offset:2px;
}
/* Curated product collections use the same card density. */
body.ref17 .pu-collection__grid .pu-discovery-card__media{
  min-height:0!important;
  aspect-ratio:1 / 1!important;
  padding:7px!important;
}
body.ref17 .pu-collection__grid .pu-discovery-card__media img{
  max-height:215px!important;
}
body.ref17 .pu-collection__grid .pu-discovery-card__body{
  padding:15px 14px 16px!important;
}
body.ref17 .pu-collection__grid .pu-discovery-card__body h3{
  font-size:12px!important;
  line-height:1.4!important;
  margin:7px 0!important;
}
body.ref17 .pu-collection__grid .pu-discovery-card__body p{
  font-size:9px!important;
  margin:0 0 8px!important;
  overflow-wrap:anywhere;
}
body.ref17 .pu-collection__grid .pu-discovery-card__body>a{
  min-height:36px!important;
  padding:8px!important;
  font-size:10px!important;
}
/* Native Woo archives, categories, searches and related product grids. */
.primeup-woo-view ul.products li.product,
.primeup-woo-view .woocommerce ul.products li.product{
  padding:13px 12px 15px!important;
}
.primeup-woo-view ul.products li.product a img{
  height:185px!important;
  padding:5px!important;
  margin:0 0 9px!important;
}
.primeup-woo-view ul.products li.product h2.woocommerce-loop-product__title{
  font-size:12px!important;
  min-height:34px!important;
  line-height:1.4!important;
}
.primeup-woo-view ul.products li.product .button{
  min-height:37px!important;
  padding:8px!important;
  font-size:10px!important;
}
.primeup-woo-view .pu-woo-real-variants{
  margin:7px 0!important;
  gap:5px!important;
}
.primeup-woo-view .pu-woo-real-variants__rail{gap:5px!important}
.primeup-woo-view .pu-woo-real-variant{
  flex:0 0 42px!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
}
.primeup-woo-view .pu-woo-real-variant img{
  width:100%!important;
  height:100%!important;
  object-fit:contain;
}
/* Consistent footers: absent variations stay empty above, never shift actions. */
body.ref17 .ref-products .ref-product-grid,
body.ref17 .pu-collection__grid{
  align-items:stretch!important;
  grid-auto-rows:1fr!important;
}
body.ref17 .ref-products .ref-product-card{
  display:flex!important;
  flex-direction:column!important;
  align-self:stretch!important;
  height:100%!important;
}
body.ref17 .ref-products .ref-product-copy{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  align-items:stretch!important;
  min-height:0!important;
}
body.ref17 .ref-products .ref-product-meta{
  margin-top:auto!important;
  margin-bottom:9px!important;
  flex:0 0 auto!important;
}
body.ref17 .ref-products .ref-product-detail-link-text{
  display:flex!important;
  align-items:center;
  justify-content:center;
  min-height:36px!important;
  margin-top:0!important;
  margin-bottom:9px!important;
  flex:0 0 auto!important;
}
body.ref17 .ref-products .ref-add{
  margin-top:0!important;
  flex:0 0 auto!important;
}
body.ref17 .pu-collection__grid .pu-discovery-card{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
}
body.ref17 .pu-collection__grid .pu-discovery-card__body{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  align-items:stretch!important;
}
body.ref17 .pu-collection__grid .pu-discovery-card__body>a:last-child{
  margin-top:auto!important;
}
/* Native Woo listing cards also keep their primary quote CTA pinned. */
.primeup-woo-view ul.products li.product,
.primeup-woo-view .woocommerce ul.products li.product{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  height:100%!important;
}
.primeup-woo-view ul.products li.product .button,
.primeup-woo-view .woocommerce ul.products li.product .button,
.primeup-woo-view ul.products li.product .primeup-quote-request{
  margin-top:auto!important;
}
/* Server-rendered Woo seed: avoid a three- or ten-row flash before JS loads. */
@media(min-width:768px) and (max-width:1199px){
  body.ref17 .ref-products .ref-product-grid[data-server-seed]
  > .ref-product-card:nth-of-type(n+7){display:none!important}
}
@media(max-width:767px){
  body.ref17 .ref-products .ref-product-grid[data-server-seed]
  > .ref-product-card:nth-of-type(n+3){display:none!important}
}
@media(max-width:1199px){
  body.ref17 .ref-products .ref-product-grid,
  body.ref17 .pu-collection__grid,
  .primeup-woo-view ul.products,
  .primeup-woo-view .woocommerce ul.products{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:767px){
  body.ref17 .ref-products .ref-product-grid,
  body.ref17 .pu-collection__grid,
  .primeup-woo-view ul.products,
  .primeup-woo-view .woocommerce ul.products{
    grid-template-columns:repeat(1,minmax(0,1fr))!important;
    gap:16px!important;
  }
  /* Single-column product cards retain a comfortable, not oversized image. */
  body.ref17 .ref-products .ref-product-photo,
  body.ref17 .pu-collection__grid .pu-discovery-card__media{
    aspect-ratio:1.5 / 1!important;
    padding:12px!important;
  }
  body.ref17 .ref-products .ref-product-photo img,
  body.ref17 .pu-collection__grid .pu-discovery-card__media img{
    max-height:230px!important;
  }
  body.ref17 .ref-products .ref-product-copy,
  body.ref17 .pu-collection__grid .pu-discovery-card__body{
    padding:16px 17px 18px!important;
  }
  body.ref17 .ref-products .ref-product-copy h3,
  body.ref17 .pu-collection__grid .pu-discovery-card__body h3{
    font-size:15px!important;
    line-height:1.45!important;
    min-height:0!important;
  }
  body.ref17 .pu-card-variant-preview,
  .primeup-woo-view .pu-woo-real-variant{
    flex-basis:42px!important;
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
  }
  .primeup-woo-view ul.products li.product,
  .primeup-woo-view .woocommerce ul.products li.product{
    padding:15px 15px 18px!important;
  }
  .primeup-woo-view ul.products li.product a img{
    height:220px!important;
  }
  .primeup-woo-view ul.products li.product h2.woocommerce-loop-product__title{
    font-size:15px!important;
    min-height:0!important;
  }
}


/* Category shelves: real, published Woo products in Printi-style editorial rows. */
body.ref17 .primeup-category-shelves[hidden]{display:none!important}
body.ref17 .primeup-category-shelves{
  background:#fff;
  padding-top:66px!important;
  padding-bottom:72px!important;
}
body.ref17 .primeup-category-shelves__intro{
  margin-bottom:35px!important;
}
body.ref17 .primeup-category-shelves__list{
  display:flex;
  flex-direction:column;
  gap:46px;
}
body.ref17 .primeup-category-shelf{
  min-width:0;
  padding:0 0 35px;
  border-bottom:1px solid #e8edf2;
}
body.ref17 .primeup-category-shelf:last-child{
  padding-bottom:0;
  border-bottom:0;
}
body.ref17 .primeup-category-shelf__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px 26px;
  margin-bottom:17px;
}
body.ref17 .primeup-category-shelf__eyebrow{
  display:block;
  color:#a77923;
  font-size:10px;
  font-weight:800;
  letter-spacing:.09em;
  margin-bottom:6px;
}
body.ref17 .primeup-category-shelf__head h3{
  font:750 clamp(21px,2vw,28px)/1.22 "Poppins",Arial,sans-serif;
  letter-spacing:-.035em;
  color:#081c35;
  margin:0 0 5px;
}
body.ref17 .primeup-category-shelf__copy p{
  font-size:12px;
  line-height:1.5;
  color:#68798c;
  margin:0;
}
body.ref17 .primeup-category-shelf__actions{
  display:flex;
  align-items:center;
  gap:18px;
  flex-shrink:0;
}
body.ref17 .primeup-category-shelf__all{
  color:#08213e;
  font-size:11px;
  font-weight:750;
  text-decoration:none;
  white-space:nowrap;
}
body.ref17 .primeup-category-shelf__all:hover{
  color:#aa7418;
  text-decoration:underline;
  text-underline-offset:3px;
}
body.ref17 .primeup-category-shelf__nav{
  display:flex;
  align-items:center;
  gap:7px;
}
body.ref17 .primeup-category-shelf__nav[hidden]{display:none!important}
body.ref17 .primeup-category-shelf__arrow{
  width:35px;
  height:35px;
  border-radius:50%;
  border:1px solid #d5dfe9;
  color:#0a294b;
  background:#fff;
  font:500 23px/1 Arial,sans-serif;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
}
body.ref17 .primeup-category-shelf__arrow:hover:not(:disabled){
  border-color:#e9aa2b;
  background:#fff4df;
}
body.ref17 .primeup-category-shelf__arrow:disabled{
  cursor:default;
  opacity:.3;
}
body.ref17 .primeup-category-shelf__arrow:focus-visible,
body.ref17 .primeup-category-shelf__all:focus-visible{
  outline:3px solid #e9aa2b;
  outline-offset:3px;
}
body.ref17 .primeup-category-shelf__counter{
  margin:12px 0 0;
  color:#728296;
  font-size:10px;
  text-align:right;
}
@media(max-width:767px){
  body.ref17 .primeup-category-shelves{
    padding-top:45px!important;
    padding-bottom:50px!important;
  }
  body.ref17 .primeup-category-shelves__list{gap:34px}
  body.ref17 .primeup-category-shelf__head{
    align-items:flex-start;
    flex-direction:column;
    gap:12px;
  }
  body.ref17 .primeup-category-shelf__actions{
    justify-content:space-between;
    width:100%;
  }
  body.ref17 .primeup-category-shelf__arrow{
    width:40px;
    height:40px;
  }
}


/* Compact category discovery cards: large photos, fewer repeated commerce facts. */
body.ref17 .primeup-category-shelves .primeup-category-shelf__grid .ref-product-photo{
  aspect-ratio:1.28 / 1!important;
  padding:8px!important;
  min-height:0!important;
}
body.ref17 .primeup-category-shelves .primeup-category-shelf__grid .ref-product-photo img{
  max-height:200px!important;
}
body.ref17 .primeup-category-shelves .primeup-category-shelf__grid .ref-product-copy{
  padding:12px 13px 14px!important;
}
body.ref17 .primeup-category-shelves .primeup-category-shelf__grid .ref-product-copy h3{
  font-size:13px!important;
  min-height:37px!important;
  line-height:1.4!important;
}
body.ref17 .primeup-category-shelves .primeup-category-shelf__grid .ref-product-live-ref,
body.ref17 .primeup-category-shelves .primeup-category-shelf__grid .pu-card-facts,
body.ref17 .primeup-category-shelves .primeup-category-shelf__grid .ref-product-meta,
body.ref17 .primeup-category-shelves .primeup-category-shelf__grid .ref-product-detail-link-text{
  display:none!important;
}
body.ref17 .primeup-category-shelves .primeup-category-shelf__grid .pu-card-variant-previews{
  margin:7px 0 12px!important;
}
body.ref17 .primeup-category-shelves .primeup-category-shelf__grid .ref-add{
  margin-top:auto!important;
  min-height:38px!important;
}
@media(max-width:767px){
  body.ref17 .primeup-category-shelves .primeup-category-shelf__grid .ref-product-photo{
    aspect-ratio:1.65 / 1!important;
  }
  body.ref17 .primeup-category-shelves .primeup-category-shelf__grid .ref-product-copy h3{
    font-size:15px!important;
    min-height:0!important;
  }
}


/* Category banner image placeholders, awaiting dedicated PrimeUP artwork.
   Product photos, kits and quote cards deliberately remain untouched. */
body.ref17 .ref-departments img[data-category-banner]{
  display:block!important;
  object-fit:cover!important;
  mix-blend-mode:normal!important;
}
body.ref17 .ref-departments .ref-dept-card--hero>img[data-category-banner]{
  transform:none!important;
  object-position:center!important;
  padding:0!important;
  right:15px!important;
  bottom:14px!important;
  width:calc(100% - 30px)!important;
  height:38%!important;
  border-radius:11px!important;
}
body.ref17 .ref-departments .ref-dept-card:not(.ref-dept-card--hero):not(.ref-dept-card--text)>img[data-category-banner]{
  position:absolute!important;
  top:9px!important;
  left:9px!important;
  width:calc(100% - 18px)!important;
  height:calc(100% - 73px)!important;
  border-radius:9px!important;
}
body.ref17 .ref-departments .ref-dept-card--xbz .ref-dept-card-media img[data-category-banner]{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  mix-blend-mode:normal!important;
}
body.ref17 .ref-departments .ref-dept-card--text>img[data-category-banner]{
  position:absolute!important;
  top:8px!important;
  right:8px!important;
  width:53%!important;
  height:45%!important;
  border-radius:9px!important;
  opacity:.85;
}
body.ref17 .primeup-collection-feature__visual:has(img[data-category-banner]){
  padding:0!important;
}
body.ref17 .primeup-collection-feature__visual img[data-category-banner]{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  mix-blend-mode:normal!important;
}
body.ref17 .primeup-category-shelf__head{
  flex-wrap:wrap!important;
}
body.ref17 .primeup-category-shelf__banner{
  display:block;
  flex:0 0 100%;
  width:100%;
  height:clamp(135px,15vw,205px);
  margin-top:10px;
  overflow:hidden;
  border-radius:13px;
  border:1px solid #dae1e7;
  background:#edf0f2;
}
body.ref17 .primeup-category-shelf__banner img[data-category-banner]{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
body.ref17 .primeup-category-shelf__banner:hover{
  border-color:#d4a242;
}
body.ref17 .primeup-category-shelf__banner:focus-visible{
  outline:3px solid #e4a223;
  outline-offset:3px;
}
@media(max-width:767px){
  body.ref17 .primeup-category-shelf__banner{
    height:115px;
    margin-top:0;
    border-radius:10px;
  }
  body.ref17 .ref-departments .ref-dept-card--text>img[data-category-banner]{
    height:40%!important;
    width:50%!important;
  }
}


/* Native WooCommerce category archives receive their own landscape banner slot. */
.primeup-woo-view .primeup-woo-category-banner{
  height:clamp(145px,15vw,230px);
  margin-top:26px;
  background:#eef1f3;
  border:1px solid rgba(255,255,255,.25);
  border-radius:13px;
  overflow:hidden;
}
.primeup-woo-view .primeup-woo-category-banner img[data-category-banner]{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
@media(max-width:767px){
  .primeup-woo-view .primeup-woo-category-banner{
    height:125px;
    margin-top:20px;
    border-radius:10px;
  }
}


/* Editorial image placeholders: full-surface slots, not supplier product photos.
   Dedicated assets can replace each data-editorial-slot individually. */
body.ref17 .primeup-editorial-art:has(>img[data-editorial-slot]){
  height:clamp(265px,25vw,340px)!important;
  min-height:0!important;
  background:#edf0f2!important;
}
body.ref17 .primeup-editorial-art>img[data-editorial-slot]{
  display:block!important;
  position:relative!important;
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  padding:0!important;
  margin:0!important;
  mix-blend-mode:normal!important;
  filter:none!important;
  transform:none!important;
}
body.ref17 .primeup-value-photo:has(>img[data-editorial-slot]){
  height:clamp(280px,30vw,410px)!important;
  min-height:0!important;
  padding:0!important;
  background:#edf0f2!important;
}
body.ref17 .primeup-value-photo>img[data-editorial-slot]{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  padding:0!important;
  margin:0!important;
  object-fit:cover!important;
  mix-blend-mode:normal!important;
}
body.ref17 .ref-consulting-art.primeup-editorial-art-slot>img[data-editorial-slot]{
  position:static!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  padding:0!important;
  margin:0!important;
  max-height:none!important;
  object-fit:cover!important;
  mix-blend-mode:normal!important;
  filter:none!important;
  transform:none!important;
}
body.ref17 .ref-carousel .ref-slide-art.primeup-editorial-art-slot{
  display:block!important;
  padding:0!important;
  background:#edf0f2!important;
}
body.ref17 .ref-carousel .ref-slide-art.primeup-editorial-art-slot>img[data-editorial-slot]{
  position:static!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  mix-blend-mode:normal!important;
  filter:none!important;
  transform:none!important;
}
body.ref17 .ref-departments .ref-dept-card--text>img[data-category-banner]{
  top:9px!important;
  left:9px!important;
  right:9px!important;
  width:calc(100% - 18px)!important;
  height:calc(100% - 85px)!important;
  object-fit:cover!important;
  opacity:1!important;
}
body.ref17 .ref-departments .ref-dept-card--text:has(>img[data-category-banner])>.primeup-category-icon{
  display:none!important;
}
@media(max-width:767px){
  body.ref17 .primeup-value-photo:has(>img[data-editorial-slot]){
    height:235px!important;
  }
  body.ref17 .ref-departments .ref-dept-card--text>img[data-category-banner]{
    height:calc(100% - 84px)!important;
    width:calc(100% - 18px)!important;
  }
}


/* PrimeUP kit hero and illustrative combinations: six reserved artwork slots. */
body.ref17 .primeup-premium-slide--kits .primeup-premium-product--main[data-editorial-slot]{
  width:min(77%,670px)!important;
  height:75%!important;
  max-height:520px!important;
  object-fit:cover!important;
  object-position:center!important;
  mix-blend-mode:normal!important;
  background:#e9edf0!important;
  border:1px solid #d8e0e6!important;
  border-radius:15px!important;
  filter:none!important;
  box-shadow:0 12px 25px rgba(3,24,49,.08)!important;
}
body.ref17 .primeup-premium-slide--kits .primeup-premium-product--accent[data-editorial-slot]{
  width:24%!important;
  height:30%!important;
  left:2%!important;
  bottom:5%!important;
  object-fit:cover!important;
  object-position:center!important;
  mix-blend-mode:normal!important;
  padding:0!important;
  border:1px solid #d8e0e6!important;
  border-radius:13px!important;
  background:#e9edf0!important;
}
body.ref17 .ref-kits .ref-kit-photo.primeup-editorial-art-slot{
  display:block!important;
  padding:0!important;
  overflow:hidden!important;
  background:#edf0f2!important;
}
body.ref17 .ref-kits .ref-kit-photo.primeup-editorial-art-slot>img[data-editorial-slot]{
  display:block!important;
  position:static!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  object-fit:cover!important;
  object-position:center!important;
  mix-blend-mode:normal!important;
  filter:none!important;
  transform:none!important;
}
@media(max-width:600px){
  body.ref17 .primeup-premium-slide--kits .primeup-premium-product--main[data-editorial-slot]{
    width:78%!important;
    height:72%!important;
    border-radius:10px!important;
  }
  body.ref17 .primeup-premium-slide--kits .primeup-premium-product--accent[data-editorial-slot]{
    width:29%!important;
    height:27%!important;
    left:0!important;
    bottom:4%!important;
    border-radius:9px!important;
  }
}
