/* Scoped to WooCommerce views: North header/footer are not changed. */
body.nope-catalog-active .woocommerce ul.products{display:grid;grid-template-columns:repeat(var(--nope-product-columns,3),minmax(0,1fr));gap:26px;clear:both;margin:28px 0 45px;padding:0}
body.nope-catalog-active .woocommerce ul.products:before,body.nope-catalog-active .woocommerce ul.products:after{display:none}
body.nope-catalog-active .woocommerce ul.products li.product{float:none!important;width:auto!important;margin:0!important;clear:none!important;padding:18px!important;background:var(--nope-catalog-card-bg,#202020);border:1px solid var(--nope-catalog-card-border,#444444);border-radius:12px;overflow:hidden;transition:border-color .2s,transform .2s;display:flex;flex-direction:column}
body.nope-catalog-active .woocommerce ul.products li.product:hover{border-color:var(--nope-catalog-accent);transform:translateY(-3px)}
body.nope-catalog-active .woocommerce ul.products li.product a img{width:100%;height:240px;object-fit:contain;background:var(--nope-catalog-image-bg,#eeeeee);border-radius:8px;padding:16px;box-sizing:border-box;margin:0 0 16px}
body.nope-catalog-active .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:19px!important;line-height:1.35!important;color:var(--nope-catalog-text,#f2f2f2)!important;text-align:left;margin:8px 0}
body.nope-catalog-active .woocommerce ul.products li.product a{text-decoration:none}
.nope-card-sku,.nope-single-sku,.nope-eyebrow{display:block;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--nope-catalog-accent);font-weight:700}
.nope-card-description{font-size:13px;line-height:1.65;color:var(--nope-catalog-muted,#b8b8b8);margin:8px 0 15px;text-align:left}
.nope-card-cta{display:inline-block;color:var(--nope-catalog-accent);font-size:13px;font-weight:700;margin-top:auto;padding-top:12px}
.nope-catalog-intro{padding:22px 26px;background:var(--nope-catalog-card-bg,#202020);border-left:3px solid var(--nope-catalog-accent);margin:15px 0 26px;color:var(--nope-catalog-muted,#b8b8b8)}
.nope-catalog-intro p{margin:10px 0 0;font-size:15px;line-height:1.6}
body.nope-catalog-active .woocommerce div.product .product_title{color:var(--nope-catalog-text,#f2f2f2);font-size:clamp(27px,3vw,42px);line-height:1.2}
body.nope-catalog-active .woocommerce div.product div.images img{background:var(--nope-catalog-image-bg,#eeeeee);border-radius:12px;object-fit:contain}
body.nope-catalog-active .woocommerce div.product .woocommerce-product-details__short-description{line-height:1.8;color:var(--nope-catalog-muted,#b8b8b8)}
.nope-single-sku{margin:0 0 12px}
.nope-specs{border:1px solid var(--nope-catalog-card-border,#444444);background:var(--nope-catalog-card-bg,#202020);border-radius:10px;padding:20px;margin:26px 0;clear:both}
.nope-specs h3{font-size:18px;color:var(--nope-catalog-text,#f2f2f2);margin:0 0 16px}
.nope-specs dl{margin:0}.nope-specs dl>div{display:grid;grid-template-columns:40% 60%;border-bottom:1px solid var(--nope-catalog-card-border,#444444);padding:10px 0;gap:12px}
.nope-specs dl>div:last-child{border-bottom:0}.nope-specs dt{font-weight:600;color:var(--nope-catalog-text,#f2f2f2)}.nope-specs dd{margin:0;color:var(--nope-catalog-muted,#b8b8b8)}
body.nope-catalog-active .woocommerce .woocommerce-breadcrumb{color:#a6b0ba;font-size:12px}
body.nope-catalog-active .woocommerce .woocommerce-tabs{clear:both;padding-top:28px}
@media(max-width:900px){body.nope-catalog-active .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.nope-catalog-active .woocommerce ul.products{grid-template-columns:1fr}body.nope-catalog-active .woocommerce ul.products li.product a img{height:220px}.nope-specs dl>div{grid-template-columns:1fr;gap:3px}}

/* Separate category and product grid controls */
body.nope-catalog-active .woocommerce ul.products:has(> li.product-category){grid-template-columns:repeat(var(--nope-category-columns,3),minmax(0,1fr))}
body.nope-catalog-active .woocommerce ul.products li.product a img{aspect-ratio:var(--nope-product-ratio,4/3);height:auto!important;object-fit:contain}
body.nope-catalog-active .woocommerce ul.products li.product-category a img{aspect-ratio:var(--nope-category-ratio,16/9);height:auto!important;object-fit:contain}
body.nope-catalog-active .woocommerce ul.products li.product-category .woocommerce-loop-category__title{color:var(--nope-catalog-text,#f2f2f2)!important;text-align:left}
@media(max-width:900px){body.nope-catalog-active .woocommerce ul.products,body.nope-catalog-active .woocommerce ul.products:has(> li.product-category){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.nope-catalog-active .woocommerce ul.products,body.nope-catalog-active .woocommerce ul.products:has(> li.product-category){grid-template-columns:1fr}}

/* v1.3 - catalog navigation and filters */
body.nope-catalog-active .nope-discovery{margin:22px 0 30px;clear:both;width:100%;color:var(--nope-catalog-text,#eee)}
body.nope-catalog-active .nope-cat-nav{border:1px solid var(--nope-catalog-card-border,#444);background:var(--nope-catalog-card-bg,#202020);border-radius:5px;padding:0 14px;margin-bottom:16px}
body.nope-catalog-active .nope-cat-nav>.nope-cat-level{display:inline-flex;flex-wrap:wrap;vertical-align:middle;gap:0;list-style:none;padding:0;margin:0}
body.nope-catalog-active .nope-cat-level{list-style:none;padding:0;margin:0}
body.nope-catalog-active .nope-cat-entry{position:relative;margin:0}
body.nope-catalog-active .nope-cat-entry>a{display:block;padding:13px 16px;color:var(--nope-catalog-text,#eee);text-decoration:none;white-space:nowrap}
body.nope-catalog-active .nope-cat-entry>a:hover,body.nope-catalog-active .nope-cat-entry>a[aria-current]{color:var(--nope-catalog-accent,#ddd);background:#383838}
body.nope-catalog-active .nope-cat-entry>.nope-cat-level{display:none;position:absolute;z-index:100;top:100%;left:0;min-width:205px;background:var(--nope-catalog-card-bg,#202020);border:1px solid var(--nope-catalog-card-border,#444);box-shadow:0 8px 18px #0005}
body.nope-catalog-active .nope-cat-entry:hover>.nope-cat-level,body.nope-catalog-active .nope-cat-entry:focus-within>.nope-cat-level{display:block}
body.nope-catalog-active .nope-cat-entry>.nope-cat-level .nope-cat-level{top:0;left:100%}
body.nope-catalog-active .nope-catalog-filters{display:flex;flex-wrap:wrap;align-items:end;gap:12px;padding:16px;border:1px solid var(--nope-catalog-card-border,#444);border-radius:5px;background:var(--nope-catalog-card-bg,#202020)}
body.nope-catalog-active .nope-catalog-filters label{display:flex;flex-direction:column;gap:5px;min-width:145px;flex:1;font-size:12px;color:var(--nope-catalog-muted,#bbb)}
body.nope-catalog-active .nope-catalog-filters input,body.nope-catalog-active .nope-catalog-filters select{width:100%;min-height:39px;background:#292929;color:#eee;border:1px solid #555;border-radius:3px;padding:7px 9px}
body.nope-catalog-active .nope-catalog-filters button{background:#ddd;color:#181818;border:0;border-radius:3px;min-height:39px;padding:0 18px;cursor:pointer}
body.nope-catalog-active .nope-filter-reset{padding:10px;color:#ccc;text-decoration:underline}
@media(max-width:767px){body.nope-catalog-active .nope-cat-nav{overflow-x:auto}body.nope-catalog-active .nope-cat-nav>.nope-cat-level{flex-wrap:nowrap}body.nope-catalog-active .nope-cat-entry>.nope-cat-level{position:static;box-shadow:none}body.nope-catalog-active .nope-catalog-filters label{min-width:100%}}
/* v1.4: override WooCommerce/North floats, widths and nth-child clears */
body.nope-catalog-active .woocommerce ul.products,
body.nope-catalog-active .woocommerce-page ul.products{display:grid!important;grid-template-columns:repeat(var(--nope-product-columns,3),minmax(0,1fr))!important;gap:22px!important;clear:both}
body.nope-catalog-active .woocommerce ul.products:has(>li.product-category),
body.nope-catalog-active .woocommerce-page ul.products:has(>li.product-category){grid-template-columns:repeat(var(--nope-category-columns,3),minmax(0,1fr))!important}
body.nope-catalog-active .woocommerce ul.products>li.product,
body.nope-catalog-active .woocommerce ul.products>li.product-category,
body.nope-catalog-active .woocommerce-page ul.products>li.product{float:none!important;width:auto!important;max-width:none!important;min-width:0!important;margin:0!important;clear:none!important;flex:none!important}
body.nope-catalog-active .woocommerce ul.products::before,body.nope-catalog-active .woocommerce ul.products::after{display:none!important}
body.nope-catalog-active .nope-is-loading~.woocommerce ul.products{opacity:.6}
body.nope-catalog-active .nope-ajax-status{font-size:12px;color:var(--nope-catalog-muted,#bbb);margin:5px 0}
@media(max-width:900px){body.nope-catalog-active .woocommerce ul.products,body.nope-catalog-active .woocommerce ul.products:has(>li.product-category){grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:560px){body.nope-catalog-active .woocommerce ul.products,body.nope-catalog-active .woocommerce ul.products:has(>li.product-category){grid-template-columns:minmax(0,1fr)!important}}

/* v1.5 — definitive North/WooCommerce category and product grid isolation.
   Category cards can be li.product-category without li.product; cover both. */
body.nope-catalog-active :is(.woocommerce,.woocommerce-page) ul.products {
  display:grid!important; grid-template-columns:repeat(var(--nope-product-columns,3),minmax(0,1fr))!important;
  gap:22px!important; align-items:stretch!important; list-style:none!important;
}
body.nope-catalog-active :is(.woocommerce,.woocommerce-page) ul.products:has(>li.product-category) {
  grid-template-columns:repeat(var(--nope-category-columns,3),minmax(0,1fr))!important;
}
body.nope-catalog-active :is(.woocommerce,.woocommerce-page) ul.products > li:is(.product,.product-category) {
  float:none!important; clear:none!important; width:auto!important; min-width:0!important;
  max-width:none!important; margin:0!important; padding:16px!important;
  grid-column:auto!important; grid-row:auto!important; flex:none!important;
  position:relative; box-sizing:border-box!important; display:block!important;
}
body.nope-catalog-active :is(.woocommerce,.woocommerce-page) ul.products > li:is(.product,.product-category):nth-child(n) {
  float:none!important;clear:none!important;margin:0!important;width:auto!important;
}
body.nope-catalog-active :is(.woocommerce,.woocommerce-page) ul.products > li:is(.product,.product-category) > a {display:block!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;}
body.nope-catalog-active :is(.woocommerce,.woocommerce-page) ul.products > li.product-category img,
body.nope-catalog-active :is(.woocommerce,.woocommerce-page) ul.products > li.product-category a img {
  display:block!important;width:100%!important;max-width:100%!important;
  aspect-ratio:var(--nope-category-ratio,16/9)!important;height:auto!important;
  object-fit:contain!important;object-position:center!important;
  box-sizing:border-box!important;background:var(--nope-catalog-image-bg,#eee);
  margin:0 0 14px!important;padding:12px!important;
}
body.nope-catalog-active :is(.woocommerce,.woocommerce-page) ul.products > li.product:not(.product-category) img {
  display:block!important;width:100%!important;max-width:100%!important;
  aspect-ratio:var(--nope-product-ratio,4/3)!important;height:auto!important;
  object-fit:contain!important;box-sizing:border-box!important;
}
/* Override intrinsic WooCommerce thumbnail ratio via container geometry. */
@supports (aspect-ratio:1) {
 body.nope-catalog-active :is(.woocommerce,.woocommerce-page) ul.products > li.product-category a img {height: auto!important;}
}
@media(max-width:900px){body.nope-catalog-active :is(.woocommerce,.woocommerce-page) ul.products,body.nope-catalog-active :is(.woocommerce,.woocommerce-page) ul.products:has(>li.product-category){grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:560px){body.nope-catalog-active :is(.woocommerce,.woocommerce-page) ul.products,body.nope-catalog-active :is(.woocommerce,.woocommerce-page) ul.products:has(>li.product-category){grid-template-columns:minmax(0,1fr)!important}}

/* v1.6: explicit aspect-ratio FRAME; intrinsic square WooCommerce images cannot override it. */
body.nope-catalog-active .woocommerce ul.products li .nope-image-frame,
body.nope-catalog-active .woocommerce-page ul.products li .nope-image-frame {
 display:block!important; position:relative!important; width:100%!important; height:auto!important;
 overflow:hidden!important; background:var(--nope-catalog-image-bg,#eee);
 border-radius:6px; margin:0 0 14px!important;
}
body.nope-catalog-active .woocommerce ul.products li .nope-image-frame--category,
body.nope-catalog-active .woocommerce-page ul.products li .nope-image-frame--category {aspect-ratio:var(--nope-category-ratio,16/9)!important;}
body.nope-catalog-active .woocommerce ul.products li .nope-image-frame--product,
body.nope-catalog-active .woocommerce-page ul.products li .nope-image-frame--product {aspect-ratio:var(--nope-product-ratio,4/3)!important;}
body.nope-catalog-active .woocommerce ul.products li .nope-image-frame img,
body.nope-catalog-active .woocommerce-page ul.products li .nope-image-frame img {
 position:absolute!important; inset:0!important; display:block!important;
 width:100%!important; height:100%!important; max-width:none!important; max-height:none!important;
 object-fit:contain!important; object-position:center!important;
 box-sizing:border-box!important; padding:10px!important; margin:0!important;
 border-radius:0!important; transform:none!important;
}
