/* Nest UI Motion: category + product page polish. All motion is disabled under prefers-reduced-motion. */
:root{--nm-ink:#24372a;--nm-muted:#5b645e;--nm-line:#dfe3d8;--nm-soft:#f2f3ec;--nm-lime:#c7f247;--nm-ease:cubic-bezier(.2,.7,.2,1)}

/* ---------- Category pages ---------- */
body.catalog-category-view .products-grid .product-item .nest-product-card{position:relative;transition:transform .45s var(--nm-ease)}
body.catalog-category-view .products-grid .product-item .product-item-photo{position:relative;overflow:hidden;isolation:isolate;transition:box-shadow .45s var(--nm-ease),transform .45s var(--nm-ease)}
body.catalog-category-view .products-grid .product-item .product-item-photo img.default_image{transition:transform .8s var(--nm-ease),opacity .5s ease}
body.catalog-category-view .products-grid .product-item:hover .product-item-photo,
body.catalog-category-view .products-grid .product-item:focus-within .product-item-photo{transform:translateY(-6px);box-shadow:0 22px 40px -26px rgba(36,55,42,.45),0 2px 6px rgba(36,55,42,.06)}
body.catalog-category-view .products-grid .product-item:hover .product-item-photo img.default_image{transform:scale(1.06)}
body.catalog-category-view .products-grid .product-item .product-item-photo img.hover_image{display:none!important}
body.catalog-category-view .products-grid .product-item .nest-card-cue{transition:opacity .25s ease,transform .35s var(--nm-ease),background-color .25s ease}
body.catalog-category-view .products-grid .product-item:hover .nest-card-cue{opacity:1!important;transform:translateY(0) rotate(0)!important;background:var(--nm-lime)!important;color:var(--nm-ink)!important}
body.catalog-category-view .products-grid .product-item-sku{display:inline-block;padding:3px 8px;border-radius:999px;background:var(--nm-soft);font-size:11px;letter-spacing:.06em;color:var(--nm-muted);transition:background-color .25s ease,color .25s ease}
body.catalog-category-view .products-grid .product-item:hover .product-item-sku{background:var(--nm-ink)!important;color:#fff!important}
body.catalog-category-view .products-grid .product-item-link{background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat;text-decoration:none!important;transition:background-size .35s var(--nm-ease)}
body.catalog-category-view .products-grid .product-item:hover .product-item-link{background-size:100% 1.5px;color:var(--nm-ink)!important}
/* remove the legacy dark hover overlay */
body.catalog-category-view .products-grid .product-item .product-item-photo>a::after{opacity:0!important;visibility:hidden!important}
body.catalog-category-view .products-grid .product-item:hover .product-item-photo{border:0!important}
/* image placeholder shimmer until the photo has loaded */
body.catalog-category-view .products-grid .product-item-photo.nm-loading::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.65) 50%,transparent 70%) var(--nm-soft);background-size:220% 100%;animation:nm-shimmer 1.3s linear infinite}
body.catalog-category-view .products-grid .product-item-photo.nm-loading img.default_image{opacity:0}
@keyframes nm-shimmer{from{background-position:120% 0}to{background-position:-120% 0}}
/* hero eyebrow dot pulse + item count pill */
body.catalog-category-view .nm-dot-pulse{position:relative}
body.catalog-category-view .nm-dot-pulse::after{content:"";position:absolute;left:var(--nm-dot-x,4px);top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;box-shadow:0 0 0 0 rgba(199,242,71,.7);animation:nm-pulse 2.4s ease-out infinite;pointer-events:none}
@keyframes nm-pulse{0%{box-shadow:0 0 0 0 rgba(199,242,71,.75)}70%{box-shadow:0 0 0 10px rgba(199,242,71,0)}100%{box-shadow:0 0 0 0 rgba(199,242,71,0)}}
body.catalog-category-view p.nm-count{width:auto!important;display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--nm-line);border-radius:999px;background:#fff;font-weight:600;font-size:13px;color:var(--nm-ink)}
body.catalog-category-view .nm-count::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--nm-lime);box-shadow:0 0 0 3px rgba(199,242,71,.25)}
/* toolbar + filters */
body.catalog-category-view .toolbar-products .sorter-options,body.catalog-category-view .toolbar-products .limiter-options{transition:border-color .2s ease,box-shadow .2s ease}
body.catalog-category-view .toolbar-products .sorter-options:hover,body.catalog-category-view .toolbar-products .limiter-options:hover,
body.catalog-category-view .toolbar-products .sorter-options:focus,body.catalog-category-view .toolbar-products .limiter-options:focus{border-color:var(--nm-ink);box-shadow:0 0 0 4px rgba(36,55,42,.08);outline:none}
body.catalog-category-view .toolbar-products .sorter-action{transition:transform .35s var(--nm-ease)}
body.catalog-category-view .toolbar-products .sorter-action:hover{transform:translateY(-2px)}
body.catalog-category-view .nest-filter-panel .filter-options-content li{border-radius:8px;transition:background-color .2s ease,transform .25s var(--nm-ease)}
body.catalog-category-view .nest-filter-panel .filter-options-content li:hover{background:#fff;transform:translateX(3px)}
body.catalog-category-view .nest-filter-panel input[type=checkbox]{accent-color:var(--nm-ink)}
body.catalog-category-view .nest-filter-panel .filter-options-title{transition:color .2s ease}
body.catalog-category-view .nest-filter-panel .filter-options-title:hover{color:var(--nm-ink)}
body.catalog-category-view .nest-filter-toggle{transition:transform .25s var(--nm-ease),background-color .2s ease}
body.catalog-category-view .nest-filter-toggle:active{transform:scale(.96)}

/* ---------- Product pages ---------- */
/* entrance: only when the page is visible (class added by JS); transform-led so content is never hidden */
body.catalog-product-view.nm-enter .nest-product-intro>*{animation:nm-rise .7s var(--nm-ease) both}
body.catalog-product-view.nm-enter .nest-product-intro>*:nth-child(2){animation-delay:.06s}
body.catalog-product-view.nm-enter .nest-product-intro>*:nth-child(3){animation-delay:.12s}
body.catalog-product-view.nm-enter .nest-product-intro>*:nth-child(4){animation-delay:.18s}
body.catalog-product-view.nm-enter .nest-product-intro>*:nth-child(n+5){animation-delay:.24s}
body.catalog-product-view.nm-enter .product.media{animation:nm-fade .8s var(--nm-ease) both}
@keyframes nm-rise{from{opacity:.55;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes nm-fade{from{opacity:.7;transform:scale(.985)}to{opacity:1;transform:none}}
/* gallery: hover zoom + crossfade on thumbnail change */
body.catalog-product-view #mtImageContainer>div{position:relative;overflow:hidden;border-radius:20px}
body.catalog-product-view #mtImageContainer a.MagicZoom img{transition:transform .5s var(--nm-ease);transform-origin:var(--nm-zx,50%) var(--nm-zy,50%);will-change:transform}
body.catalog-product-view #mtImageContainer.nm-zoom a.MagicZoom img{transform:scale(1.7);transition:transform .25s ease-out;cursor:zoom-in}
body.catalog-product-view #mtImageContainer .nm-swap{animation:nm-swap .55s var(--nm-ease)}
@keyframes nm-swap{from{opacity:.35;transform:scale(1.03)}to{opacity:1;transform:none}}
body.catalog-product-view .mt-thumb-switcher{transition:transform .3s var(--nm-ease),box-shadow .3s ease,border-color .3s ease}
body.catalog-product-view .mt-thumb-switcher:hover{transform:translateY(-3px);box-shadow:0 10px 18px -12px rgba(36,55,42,.5)}
body.catalog-product-view .nm-zoom-hint{position:absolute;right:14px;bottom:14px;z-index:3;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.88);font:600 11px/1.2 "Instrument Sans","Helvetica Neue",Arial,sans-serif;color:var(--nm-ink);opacity:0;transform:translateY(6px);transition:opacity .25s ease,transform .3s var(--nm-ease);pointer-events:none}
body.catalog-product-view #mtImageContainer:hover .nm-zoom-hint{opacity:1;transform:none}
body.catalog-product-view #mtImageContainer.nm-zoom .nm-zoom-hint{opacity:0}
/* configurator */
body.catalog-product-view .nest-config-section{transition:background-color .3s ease}
body.catalog-product-view .nest-config-section .input-text,body.catalog-product-view .nest-config-section select{transition:border-color .2s ease,box-shadow .25s ease,background-color .2s ease}
body.catalog-product-view .nest-config-section .input-text:focus,body.catalog-product-view .nest-config-section select:focus{border-color:var(--nm-ink)!important;box-shadow:0 0 0 4px rgba(199,242,71,.45)!important;outline:none}
body.catalog-product-view .nest-config-section .nm-filled{border-color:#7a9b5a!important;background-color:#fbfdf5!important}
body.catalog-product-view .nm-bar{position:relative;height:4px;margin:10px 0 2px;border-radius:999px;background:var(--nm-line);overflow:hidden;grid-column:1/-1}
body.catalog-product-view .nm-bar i{position:absolute;inset:0 auto 0 0;width:0;border-radius:inherit;background:linear-gradient(90deg,#9cc53a,var(--nm-lime));transition:width .6s var(--nm-ease)}
body.catalog-product-view .nest-config-progress{transition:background-color .3s ease,color .3s ease}
body.catalog-product-view .nest-config-section.nm-done .nest-config-progress{background:var(--nm-lime)!important;color:var(--nm-ink)!important;border-color:transparent!important;animation:nm-pop .5s var(--nm-ease)}
@keyframes nm-pop{0%{transform:scale(1)}40%{transform:scale(1.12)}100%{transform:scale(1)}}
/* quote button */
body.catalog-product-view .nest-product-submit{position:relative;overflow:hidden;transition:transform .2s ease,box-shadow .3s ease,filter .2s ease}
body.catalog-product-view .nest-product-submit::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);transition:left .7s var(--nm-ease);pointer-events:none}
body.catalog-product-view .nest-product-submit:hover{box-shadow:0 14px 26px -16px rgba(36,55,42,.55);filter:brightness(1.03)}
body.catalog-product-view .nest-product-submit:hover::after{left:120%}
body.catalog-product-view .nest-product-submit:active{transform:scale(.98)}
/* tabs: sliding indicator + panel fade */
body.catalog-product-view .product.data.items{position:relative}
body.catalog-product-view .nm-tab-bar{position:absolute;top:0;left:0;height:3px;border-radius:3px;background:var(--nm-ink);transition:transform .45s var(--nm-ease),width .45s var(--nm-ease);pointer-events:none;z-index:2}
body.catalog-product-view .product.data.items>.data.item.content.nm-show{animation:nm-rise .5s var(--nm-ease) both}
/* mobile sticky quote bar */
.nm-sticky{position:fixed;left:12px;right:80px;bottom:20px;min-height:48px;z-index:60;display:flex;align-items:center;gap:12px;padding:10px 10px 10px 16px;border-radius:16px;background:rgba(36,55,42,.96);color:#fff;box-shadow:0 18px 40px -18px rgba(0,0,0,.5);transform:translateY(140%);transition:transform .45s var(--nm-ease);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.nm-sticky.is-on{transform:none}
.nm-sticky span{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font:600 14px/1.3 "Instrument Sans","Helvetica Neue",Arial,sans-serif}
.nm-sticky button{flex:none;min-height:44px;padding:0 18px;border:0;border-radius:999px;background:var(--nm-lime);font:650 14px/1 "Instrument Sans","Helvetica Neue",Arial,sans-serif;color:var(--nm-ink);cursor:pointer}
@media (min-width:861px){.nm-sticky{display:none}}

@media (prefers-reduced-motion:reduce){
  body.catalog-category-view *,body.catalog-product-view *,.nm-sticky{animation:none!important;transition:none!important}
  body.catalog-category-view .products-grid .product-item:hover .product-item-photo img.default_image{transform:none}
  body.catalog-product-view #mtImageContainer.nm-zoom a.MagicZoom img{transform:none}
}

/* ---------- Category filters as a top bar (desktop) ---------- */
@media (min-width:861px){
  body.catalog-category-view.page-with-filter .columns{grid-template-columns:minmax(0,1fr)!important;column-gap:0!important}
  body.catalog-category-view .columns>.sidebar-main.nest-filter-panel{grid-column:1/-1!important;grid-row:1!important;order:-1;position:relative!important;top:auto!important;width:auto!important;max-width:none!important;height:auto!important;margin:0 0 22px!important;padding:14px 20px!important;display:flex!important;flex-wrap:wrap;align-items:center;gap:10px 22px;border-radius:18px!important;animation:nm-bar-in .6s var(--nm-ease) both}
  body.catalog-category-view .columns>.column.main{grid-column:1/-1!important;grid-row:2!important;width:auto!important;max-width:none!important}
  @keyframes nm-bar-in{from{opacity:.4;transform:translateY(-8px)}to{opacity:1;transform:none}}
  body.catalog-category-view .nest-filter-panel .nest-filter-heading{margin:0!important;padding:0!important;border:0!important}
  body.catalog-category-view .nest-filter-panel .nest-filter-heading h2{margin:0!important;font-size:12px!important;font-weight:700!important;letter-spacing:.12em!important;text-transform:uppercase;color:var(--nm-muted)!important}
  body.catalog-category-view .nest-filter-panel .nest-filter-heading h2::before{content:"";display:inline-block;width:14px;height:10px;margin-right:8px;vertical-align:0;background:linear-gradient(var(--nm-ink),var(--nm-ink)) 0 0/14px 2px no-repeat,linear-gradient(var(--nm-ink),var(--nm-ink)) 2px 4px/10px 2px no-repeat,linear-gradient(var(--nm-ink),var(--nm-ink)) 4px 8px/6px 2px no-repeat}
  body.catalog-category-view .nest-filter-panel .nest-filter-close,
  body.catalog-category-view .nest-filter-panel .block-category-list,
  body.catalog-category-view .nest-filter-panel #layered-filter-block .filter-title,
  body.catalog-category-view .nest-filter-panel #layered-filter-block .filter-subtitle{display:none!important}
  body.catalog-category-view .nest-filter-panel .c-sidebar{flex:1;display:block!important;margin:0!important;padding:0!important;border:0!important;background:none!important}
  body.catalog-category-view .nest-filter-panel .layered-filter-block-container,body.catalog-category-view .nest-filter-panel #layered-filter-block{flex:1;display:block!important;margin:0!important;padding:0!important;border:0!important;background:none!important}
  body.catalog-category-view .nest-filter-panel #layered-filter-block .filter-content{display:flex!important;flex-wrap:wrap;align-items:center;gap:10px 22px}
  body.catalog-category-view .nest-filter-panel #layered-filter-block .filter-options{width:auto!important;flex:0 1 auto!important;display:flex!important;flex-wrap:wrap;align-items:center;gap:12px 26px;margin:0!important}
  body.catalog-category-view .nest-filter-panel #layered-filter-block .filter-options-item{width:auto!important;flex:none!important;display:flex!important;align-items:center;flex-wrap:wrap;gap:10px;margin:0!important;padding:0!important;border:0!important}
  body.catalog-category-view .nest-filter-panel #layered-filter-block .filter-options-item.nm-empty{display:none!important}
  body.catalog-category-view .nest-filter-panel #layered-filter-block .filter-options-item+.filter-options-item{padding-left:26px!important;border-left:1px solid var(--nm-line)!important}
  body.catalog-category-view .nest-filter-panel #layered-filter-block .filter-options-title{width:auto!important;margin:0!important;padding:0!important;border:0!important;line-height:1.3!important;font-size:14px!important;font-weight:600!important;color:var(--nm-ink)!important;pointer-events:none;background:none!important}
  body.catalog-category-view .nest-filter-panel #layered-filter-block .filter-options-title::before,body.catalog-category-view .nest-filter-panel #layered-filter-block .filter-options-title::after{display:none!important}
  body.catalog-category-view .nest-filter-panel #layered-filter-block .filter-options-content{display:block!important;margin:0!important;padding:0!important;border:0!important}
  body.catalog-category-view .nest-filter-panel #layered-filter-block ol.items{display:flex!important;flex-wrap:wrap;gap:8px;margin:0!important;padding:0!important}
  body.catalog-category-view .nest-filter-panel #layered-filter-block ol.items>li.item{position:relative;display:flex!important;align-items:center;margin:0!important;padding:0!important;border:1px solid var(--nm-line)!important;border-radius:999px;background:#fff;transform:none;transition:border-color .2s ease,background-color .25s ease,transform .25s var(--nm-ease),box-shadow .25s ease}
  body.catalog-category-view .nest-filter-panel #layered-filter-block ol.items>li.item input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
  body.catalog-category-view .nest-filter-panel #layered-filter-block ol.items>li.item a{display:flex!important;line-height:1.3!important;align-items:center;gap:8px;min-height:36px;padding:6px 14px;font-size:14px;font-weight:500;color:var(--nm-ink)!important;text-decoration:none!important}
  body.catalog-category-view .nest-filter-panel #layered-filter-block ol.items>li.item .count{display:inline-flex;align-items:center;min-width:22px;justify-content:center;padding:1px 7px;border-radius:999px;background:var(--nm-soft);font-size:12px;font-weight:600;color:var(--nm-muted)}
  body.catalog-category-view .nest-filter-panel #layered-filter-block ol.items>li.item .filter-count-label{display:none}
  body.catalog-category-view .nest-filter-panel #layered-filter-block ol.items>li.item:hover{border-color:var(--nm-ink)!important;transform:translateY(-2px);box-shadow:0 8px 16px -12px rgba(36,55,42,.6);background:#fff}
  body.catalog-category-view .nest-filter-panel #layered-filter-block ol.items>li.item.nm-on{border-color:var(--nm-ink)!important;background:var(--nm-ink)!important}
  body.catalog-category-view .nest-filter-panel #layered-filter-block ol.items>li.item.nm-on a{color:#fff!important}
  body.catalog-category-view .nest-filter-panel #layered-filter-block ol.items>li.item.nm-on a::before{content:"✓";font-weight:700;color:var(--nm-lime)}
  body.catalog-category-view .nest-filter-panel #layered-filter-block ol.items>li.item.nm-on .count{background:rgba(255,255,255,.16);color:#fff}
  body.catalog-category-view .nest-filter-panel #layered-filter-block .filter-actions{order:99;width:auto!important;margin:0 0 0 auto!important;padding:0!important}
  body.catalog-category-view .nest-filter-panel #layered-filter-block .filter-actions .filter-clear{font-size:13px;font-weight:600;color:var(--nm-muted)!important;text-decoration:underline;text-underline-offset:3px}
  body.catalog-category-view .nest-filter-panel #layered-filter-block .filter-actions .filter-clear:hover{color:var(--nm-ink)!important}
  body.catalog-category-view .nest-filter-panel #layered-filter-block ol.items>li.item:hover{transform:translateY(-2px)}
}
@media (min-width:861px) and (prefers-reduced-motion:reduce){body.catalog-category-view .columns>.sidebar-main.nest-filter-panel{animation:none!important}}

/* Homepage inspiration gallery: fill each tile instead of letterboxing the photo */
section.sec .ig>a{position:relative;overflow:hidden;isolation:isolate}
section.sec .ig>a>img{display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
section.sec .ig>a:hover>img,section.sec .ig>a:focus-visible>img{transform:scale(1.06)}
@media (prefers-reduced-motion:reduce){section.sec .ig>a>img{transition:none}section.sec .ig>a:hover>img{transform:none}}
