/* Product category catalog — reference-matched layout, scoped to Woo archives. */
body.nbd-catalog-archive {
	--nbd-archive-navy: #0b2a5b;
	--nbd-archive-blue: #287dca;
	--nbd-archive-sky: #3fa9f5;
	--nbd-archive-yellow: #ffbd19;
	--nbd-archive-red: #ef1728;
	--nbd-archive-ink: #27446b;
	--nbd-archive-muted: #74849a;
	--nbd-archive-line: #dce8f3;
	--nbd-archive-columns: 4;
	--nbd-archive-copy-size: 14px;
	--nbd-archive-meta-size: 12px;
	background: #f5faff;
}
body.nbd-catalog-archive #main { background: linear-gradient(180deg, #f7fbff 0%, #eef7fd 100%); }
body.nbd-catalog-archive :is(.nbd-cat-hero, .nbd-cat-brands, .category-page-row) * { box-sizing: border-box; }
body.nbd-catalog-archive :is(.nbd-cat-hero, .nbd-cat-brands, .nbd-cat-promo, .nbd-cat-toolbar, .nbd-catalog-filter, .nbd-cat-values) svg { width: 1.35em; height: 1.35em; }

/* Full-width category hero. */
body.nbd-catalog-archive .shop-page-title.category-page-title.page-title { padding: 0; border: 0; background: #eef7ff; color: var(--nbd-archive-navy); }
body.nbd-catalog-archive .shop-page-title .page-title-bg,
body.nbd-catalog-archive .shop-page-title .page-title-inner > .flex-col:last-child,
body.nbd-catalog-archive .shop-page-title .breadcrumbs:not(.nbd-cat-breadcrumb) { display: none !important; }
body.nbd-catalog-archive .shop-page-title .page-title-inner { display: block !important; width: 100%; max-width: none !important; min-height: 0; padding: 0 !important; }
body.nbd-catalog-archive .shop-page-title .page-title-inner > .flex-col:first-child { display: block; width: 100%; max-width: none; padding: 0; }
body.nbd-catalog-archive .nbd-cat-hero {
	position: relative;
	display: block;
	min-height: clamp(330px, 31vw, 425px);
	padding: 0;
	background-image: linear-gradient(90deg, rgba(238, 248, 255, .1), rgba(238, 248, 255, 0) 64%), var(--nbd-cat-hero-image);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	overflow: hidden;
}
body.nbd-catalog-archive .nbd-cat-hero__inner { position: relative; display: flex; min-height: inherit; align-items: center; padding-top: 28px; padding-bottom: 28px; }
body.nbd-catalog-archive .nbd-cat-hero__copy { position: relative; z-index: 2; width: min(44%, 520px); text-align: left; }
body.nbd-catalog-archive .nbd-cat-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin: 0 0 20px; color: #315b8d; font-family: var(--nbd-body-font, "Be Vietnam Pro", sans-serif); font-size: var(--nbd-archive-breadcrumb, 13px); font-weight: 500; line-height: 1.4; }
body.nbd-catalog-archive .nbd-cat-breadcrumb a { color: #2e609b; text-decoration: none; }
body.nbd-catalog-archive .nbd-cat-breadcrumb a:hover { color: var(--nbd-archive-sky); }
body.nbd-catalog-archive .nbd-archive-heading__title { margin: 0; color: var(--nbd-archive-navy); font-family: var(--nbd-heading-font, "Manrope", sans-serif); font-size: var(--nbd-archive-page-title, 44px) !important; font-weight: 600; line-height: 1.08; letter-spacing: -.035em; text-transform: none; }
body.nbd-catalog-archive .nbd-archive-heading__intro { max-width: 44ch; margin: 13px 0 0; color: #506d91; font-family: var(--nbd-body-font, "Be Vietnam Pro", sans-serif); font-size: var(--nbd-archive-copy-size); line-height: 1.65; }
body.nbd-catalog-archive .nbd-cat-hero__services { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; margin-top: 29px; }
body.nbd-catalog-archive .nbd-cat-hero__services > div { display: flex; flex-direction: column; align-items: center; gap: 7px; min-width: 0; text-align: center; }
body.nbd-catalog-archive .nbd-cat-hero__services > div > span { display: grid; width: 40px; height: 40px; place-items: center; color: #0d4289; }
body.nbd-catalog-archive .nbd-cat-hero__services svg { width: 30px; height: 30px; stroke-width: 1.7; }
body.nbd-catalog-archive .nbd-cat-hero__services p { margin: 0; color: #274d7f; font-size: var(--nbd-archive-meta-size); line-height: 1.25; }
body.nbd-catalog-archive .nbd-cat-hero__services :is(strong, small) { display: block; font: inherit; }
body.nbd-catalog-archive .nbd-cat-hero__slogan { position: absolute; z-index: 2; top: var(--nbd-archive-slogan-top, 54px); left: var(--nbd-archive-slogan-left, 42%); margin: 0; color: var(--nbd-archive-slogan-color, #123d7c); -webkit-text-stroke: 2px #fff; paint-order: stroke fill; font-family: "Great Vibes", "Lovers Quarrel", cursive !important; font-size: var(--nbd-archive-slogan, 39px) !important; font-style: italic; font-weight: 400; line-height: 1.35; text-align: center; transform: rotate(-6deg); }
body.nbd-catalog-archive .nbd-cat-hero__slogan::after { content: ""; display: block; width: 80px; height: 3px; margin: 7px auto 0; border-radius: 999px; background: #184b91; transform: rotate(-7deg); }
body.nbd-catalog-archive .nbd-cat-hero__logo { position: absolute; z-index: 3; top: 18px; right: 15px; width: 185px; padding: 9px 14px; border-radius: 0 0 13px 13px; background: rgba(255,255,255,.93); box-shadow: 0 7px 24px rgba(11,42,91,.08); }
body.nbd-catalog-archive .nbd-cat-hero__logo :is(a, img) { display: block; width: 100%; height: auto; }

/* Brand strip under hero. */
body.nbd-catalog-archive .nbd-cat-brands { width: 100%; padding: 5px 0; border-top: 1px solid rgba(214,229,243,.8); border-bottom: 1px solid #dbe8f4; background: rgba(255,255,255,.96); }
body.nbd-catalog-archive .nbd-cat-brands__track { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 5px; width: 100%; margin: 0 auto; }
body.nbd-catalog-archive .nbd-cat-brand { display: grid; grid-template-rows: 57px minmax(30px,auto); align-items: center; justify-items: center; min-width: 0; min-height: 100px; padding: 5px; border: 1px solid #e2ecf5; border-radius: 9px; background: #fff; box-shadow: 0 4px 15px rgba(11,42,91,.035); color: #0b3471; text-decoration: none; transition: .18s ease; }
body.nbd-catalog-archive .nbd-cat-brand:hover { border-color: #8dc8f3; box-shadow: 0 7px 19px rgba(11,42,91,.08); transform: translateY(-2px); }
body.nbd-catalog-archive .nbd-cat-brand.is-active { border-color: #ffbd19; background: linear-gradient(150deg, #0b2a5b, #1d66b2); box-shadow: 0 8px 20px rgba(11,42,91,.18); color: #fff; }
body.nbd-catalog-archive .nbd-cat-brand__logo { display: grid; width: 64px; height: 48px; place-items: center; color: currentColor; }
body.nbd-catalog-archive .nbd-cat-brand__logo :is(img, .nbd-brand-logo-placeholder) { display: block; width: 100%; height: 100%; object-fit: contain; }
body.nbd-catalog-archive .nbd-cat-brand__logo .nbd-brand-logo-placeholder small { display: none; }
body.nbd-catalog-archive .nbd-cat-brand__logo .nbd-brand-logo-placeholder > span,
body.nbd-catalog-archive .nbd-cat-brand-initial { display: grid; width: 46px; height: 40px; place-items: center; border: 1px solid currentColor; border-radius: 8px; font-size: 20px; font-weight: 600; }
body.nbd-catalog-archive .nbd-cat-brand__logo--all svg { width: 38px; height: 38px; }
body.nbd-catalog-archive .nbd-cat-brand__name { display: flex; width: 100%; min-height: 30px; align-items: center; justify-content: center; padding: 2px 2px 0; border: 0; overflow: hidden; font-size: var(--nbd-archive-meta-size); font-weight: 600; line-height: 1.2; text-align: center; }

/* The shop retains its sidebar; product categories override this grid below. */
body.nbd-catalog-archive .category-page-row { display: grid !important; grid-template-columns: 238px minmax(0, 1fr); gap: 20px; width: 100%; margin: 0 auto !important; padding: 24px 15px 50px; }
body.nbd-catalog-archive.nbd-catalog-is-loading .category-page-row { position: relative; min-height: 360px; opacity: .55; pointer-events: none; }
body.nbd-catalog-archive.nbd-catalog-is-loading .category-page-row::before { content: ""; position: absolute; z-index: 20; top: 120px; left: calc(50% + 90px); width: 38px; height: 38px; border: 4px solid #d7e9f7; border-top-color: #176db8; border-radius: 50%; animation: nbd-catalog-spin .7s linear infinite; }
@keyframes nbd-catalog-spin { to { transform: rotate(360deg); } }
body.nbd-catalog-archive .category-page-row > .col { float: none !important; width: 100% !important; max-width: none !important; min-width: 0; padding: 0 !important; flex-basis: auto !important; }
body.nbd-catalog-archive .category-page-row > .large-3 { grid-column: 1; grid-row: 1; }
body.nbd-catalog-archive .category-page-row > .large-9 { grid-column: 2; grid-row: 1; }
body.nbd-catalog-archive .category-page-row > .col:has(#shop-sidebar) { display: flex; grid-column: 1; grid-row: 1; align-self: stretch; flex-direction: column; }
body.nbd-catalog-archive .category-page-row > .col:not(:has(#shop-sidebar)) { grid-column: 2; grid-row: 1; }
body.nbd-catalog-archive #shop-sidebar { width: 100%; height: 100%; padding: 0 !important; overflow: visible; }
body.nbd-catalog-archive #shop-sidebar > .widget { display: none !important; }
body.nbd-catalog-archive .nbd-catalog-sidebar-stack { position: static; height: 100%; max-height: none; padding: 0; overflow: visible; }
body.nbd-catalog-archive .category-page-row > .col:has(#shop-sidebar) > .is-sticky-column { flex: 1 1 auto; }
body.nbd-catalog-archive .category-page-row > .col:has(#shop-sidebar) :is(.is-sticky-column,.is-sticky-column__inner) { width: 100%; min-height: 100%; position: static !important; top: auto !important; overflow: visible !important; transform: none !important; }
body.nbd-catalog-archive .nbd-catalog-filter { position: static; width: 100%; border: 1px solid #d9e7f3; border-radius: 11px; background: #fff; box-shadow: 0 9px 28px rgba(11,42,91,.06); overflow: hidden; }
body.nbd-catalog-archive .nbd-catalog-filter > header { display: flex; align-items: center; gap: 9px; min-height: 48px; padding: 11px 13px; background: linear-gradient(105deg, #eaf4ff, #f8fbff); color: var(--nbd-archive-navy); }
body.nbd-catalog-archive .nbd-catalog-filter > header strong { flex: 1; font-size: var(--nbd-archive-meta-size); font-weight: 600; }
body.nbd-catalog-archive .nbd-catalog-filter > header > span { display: grid; place-items: center; color: #1d67b8; }
body.nbd-catalog-archive .nbd-catalog-filter > header > button { display: none; width: 32px; height: 32px; margin: 0; padding: 0; border: 0; border-radius: 50%; background: #edf5fd; color: #0b2a5b; font-size: 23px; line-height: 1; }
body.nbd-catalog-archive .nbd-catalog-filter__body { padding: 0 13px 14px; }
body.nbd-catalog-archive .nbd-filter-group { margin: 0; padding: 12px 0; border-bottom: 1px solid #e7eef6; }
body.nbd-catalog-archive .nbd-filter-group summary { position: relative; display: flex; align-items: center; justify-content: space-between; color: #173e73; font-size: var(--nbd-archive-meta-size); font-weight: 600; cursor: pointer; list-style: none; }
body.nbd-catalog-archive .nbd-filter-group summary::-webkit-details-marker { display: none; }
body.nbd-catalog-archive .nbd-filter-group__caret { display: grid; width: 18px; height: 18px; flex: 0 0 18px; place-items: center; color: #1c5ca7; transition: transform .18s ease; }
body.nbd-catalog-archive .nbd-filter-group__caret svg { display: block; width: 16px; height: 16px; stroke-width: 2.3; }
body.nbd-catalog-archive .nbd-filter-group[open] .nbd-filter-group__caret { transform: rotate(180deg); }
body.nbd-catalog-archive .nbd-filter-group__items { display: grid; gap: 7px; padding-top: 10px; }
body.nbd-catalog-archive .nbd-filter-group__items label { display: flex; align-items: center; gap: 7px; margin: 0; color: #466284; font-size: var(--nbd-archive-meta-size); line-height: 1.35; cursor: pointer; }
body.nbd-catalog-archive .nbd-filter-group__items input { flex: 0 0 14px; width: 14px; height: 14px; margin: 0; border-color: #c6d7e8; accent-color: #1260aa; }
body.nbd-catalog-archive .nbd-filter-group__items small { color: #8290a3; font-size: inherit; }
body.nbd-catalog-archive .nbd-price-range { --nbd-price-left: 0%; --nbd-price-right: 0%; padding-top: 13px; }
body.nbd-catalog-archive .nbd-price-range__tracks { position: relative; height: 20px; }
body.nbd-catalog-archive .nbd-price-range__tracks::before { content: ""; position: absolute; top: 8px; right: var(--nbd-price-right); left: var(--nbd-price-left); height: 4px; border-radius: 999px; background: #ffbd19; }
body.nbd-catalog-archive .nbd-price-range input[type="range"] { position: absolute; top: 0; left: 0; width: 100%; height: 20px; margin: 0; padding: 0; background: transparent; pointer-events: none; appearance: none; }
body.nbd-catalog-archive .nbd-price-range input[type="range"]::-webkit-slider-thumb { width: 15px; height: 15px; border: 2px solid #123f7f; border-radius: 50%; background: #ffbd19; pointer-events: auto; appearance: none; cursor: pointer; }
body.nbd-catalog-archive .nbd-price-range input[type="range"]::-moz-range-thumb { width: 13px; height: 13px; border: 2px solid #123f7f; border-radius: 50%; background: #ffbd19; pointer-events: auto; cursor: pointer; }
body.nbd-catalog-archive .nbd-price-range__values { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: #536a89; font-size: var(--nbd-archive-meta-size); font-weight: 600; }
body.nbd-catalog-archive .nbd-filter-submit { display: flex; width: 100%; min-height: 41px; align-items: center; justify-content: center; gap: 7px; margin: 14px 0 9px; padding: 8px 12px; border: 0; border-radius: 7px; background: linear-gradient(135deg, #ffc526, #f3aa0c); box-shadow: 0 6px 15px rgba(226,156,0,.18); color: #0b2a5b; font-size: var(--nbd-archive-meta-size); font-weight: 600; line-height: 1.2; }
body.nbd-catalog-archive .nbd-filter-submit:hover { background: linear-gradient(135deg, #ffd24c, #ffb515); }
body.nbd-catalog-archive .nbd-filter-reset { display: block; color: #356aa5; font-size: var(--nbd-archive-meta-size); text-align: center; text-decoration: underline; }
body.nbd-catalog-archive .nbd-catalog-sidebar-categories { position: sticky !important; z-index: 5; top: 86px !important; width: 100%; margin-top: 12px; padding: 12px 13px; border: 1px solid #d9e7f3; border-radius: 11px; background: #fff; box-shadow: 0 9px 28px rgba(11,42,91,.05); }
body.nbd-catalog-archive #shop-sidebar .nbd-catalog-sidebar-categories > h2 { margin: 0 0 9px !important; padding: 0 0 9px !important; border-bottom: 1px solid #e6eef6; color: #0b2a5b; font-family: var(--nbd-heading-font, "Manrope", sans-serif) !important; font-size: 15px !important; font-weight: 600 !important; line-height: 1.35 !important; letter-spacing: 0 !important; text-transform: uppercase !important; }
body.nbd-catalog-archive .nbd-catalog-sidebar-categories ul { margin: 0; padding: 0; list-style: none; }
body.nbd-catalog-archive .nbd-catalog-sidebar-categories li { margin: 0; border-bottom: 1px solid #edf2f7; }
body.nbd-catalog-archive .nbd-catalog-sidebar-categories li:last-child { border-bottom: 0; }
body.nbd-catalog-archive .nbd-catalog-sidebar-categories a { display: grid; grid-template-columns: minmax(0,1fr) auto 15px; gap: 5px; align-items: center; min-height: 35px; color: #3e5d82; font-size: var(--nbd-archive-meta-size); font-weight: 600; text-decoration: none; }
body.nbd-catalog-archive .nbd-catalog-sidebar-categories a:hover,
body.nbd-catalog-archive .nbd-catalog-sidebar-categories .is-current a { color: #0d61ad; }
body.nbd-catalog-archive .nbd-catalog-sidebar-categories small { display: grid; min-width: 21px; height: 21px; place-items: center; border-radius: 999px; background: #edf5fc; color: #6d829b; font-size: 9px; }
body.nbd-catalog-archive .nbd-catalog-sidebar-categories svg { width: 14px; height: 14px; transform: rotate(-90deg); }

/* Promotional banner + complete toolbar. */
body.nbd-catalog-archive .nbd-cat-promo { position: relative; display: flex; align-items: center; justify-content: flex-end; min-height: 175px; margin: 0 0 20px; padding: 18px 7%; border: 1px solid #d9e7dd; border-radius: 11px; background-image: var(--nbd-cat-promo-image); background-position: center; background-size: cover; overflow: hidden; }
body.nbd-catalog-archive .nbd-cat-promo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,255,255,0) 34%, rgba(245,255,245,.45) 51%, rgba(245,255,245,.94) 70%); pointer-events: none; }
body.nbd-catalog-archive .nbd-cat-promo__copy { position: relative; z-index: 1; width: 50%; color: #164f24; text-align: left; }
body.nbd-catalog-archive .nbd-cat-promo h2 { margin: 0 0 12px; color: #154d25; font-size: 21px !important; font-weight: 600; line-height: 1.18; }
body.nbd-catalog-archive .nbd-cat-promo h2 small { display: block; color: inherit; font-size: .86em; font-weight: 600; }
body.nbd-catalog-archive .nbd-cat-promo__copy > div { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px 18px; }
body.nbd-catalog-archive .nbd-cat-promo__copy span { display: flex; align-items: center; gap: 7px; color: #315c3c; font-size: var(--nbd-archive-meta-size); font-weight: 600; }
body.nbd-catalog-archive .nbd-cat-promo__copy span svg { flex: 0 0 18px; width: 18px; height: 18px; }
body.nbd-catalog-archive .nbd-cat-toolbar { display: flex; align-items: center; gap: 13px; min-height: 52px; margin-bottom: 15px; }
body.nbd-catalog-archive .nbd-cat-toolbar__filter { display: none; min-height: 37px; align-items: center; gap: 6px; margin: 0; padding: 7px 11px; border: 1px solid #d4e2f0; border-radius: 7px; background: #fff; color: #15457e; font-size: var(--nbd-archive-meta-size); font-weight: 600; }
body.nbd-catalog-archive .nbd-cat-toolbar__sort { display: flex; flex: 1; align-items: center; gap: 6px; min-width: 0; }
body.nbd-catalog-archive .nbd-cat-toolbar__sort > span { flex: 0 0 auto; color: #526b88; font-size: var(--nbd-archive-meta-size); }
body.nbd-catalog-archive .nbd-cat-toolbar__sort a { display: inline-flex; flex: 0 0 auto; min-height: 36px; align-items: center; padding: 7px 11px; border: 1px solid transparent; border-radius: 6px; background: #edf4fb; color: #294d7a; font-size: var(--nbd-archive-meta-size); font-weight: 600; line-height: 1.2; text-decoration: none; }
body.nbd-catalog-archive .nbd-cat-toolbar__sort a:hover { border-color: #9acdf1; color: #0b2a5b; }
body.nbd-catalog-archive .nbd-cat-toolbar__sort a.is-active { border-color: #e8a807; background: linear-gradient(135deg,#ffcd3c,#ffb20d); box-shadow: 0 4px 10px rgba(224,153,0,.14); color: #0b2a5b; }
body.nbd-catalog-archive .nbd-cat-toolbar__view { display: flex; flex: 0 0 auto; align-items: center; gap: 5px; }
body.nbd-catalog-archive .nbd-cat-toolbar__view > span { margin-right: 3px; color: #526b88; font-size: var(--nbd-archive-meta-size); }
body.nbd-catalog-archive .nbd-cat-toolbar__view button { display: grid; width: 36px; height: 36px; place-items: center; margin: 0; padding: 0; border: 1px solid #d7e5f2; border-radius: 6px; background: #f2f7fc; color: #3f6896; }
body.nbd-catalog-archive .nbd-cat-toolbar__view button.is-active { border-color: #ffbd19; background: #fff3ca; color: #0b4e93; }
body.nbd-catalog-archive .nbd-cat-toolbar__view select { width: 82px; height: 36px; margin: 0; padding: 4px 24px 4px 8px; border: 1px solid #cadbea; border-radius: 6px; background-color: #fff; color: #244d7f; font-size: var(--nbd-archive-meta-size); font-weight: 600; }
body.nbd-catalog-archive .nbd-catalog-products-anchor { position: relative; top: -80px; display: block; visibility: hidden; }
body.nbd-catalog-archive :is(.woocommerce-result-count, .woocommerce-ordering) { display: none !important; }

/* Product grid and reference-style cards. */
body.nbd-catalog-archive .category-page-row .products.row:not(.row-slider) { display: grid; grid-template-columns: repeat(var(--nbd-archive-columns), minmax(0,1fr)); gap: 12px 10px; margin: 0; }
body.nbd-catalog-archive .category-page-row .products.row:not(.row-slider) > .col { float: none; width: 100%; max-width: none; min-width: 0; margin: 0; padding: 0 !important; flex-basis: auto; }
body.nbd-catalog-archive .category-page-row .products.row:not(.row-slider) > .product-small.col > .col-inner { height: 100%; }
body.nbd-catalog-archive.nbd-product-ui .category-page-row .product-small.box:not(.box-vertical) { position: relative; display: flex; height: 100%; flex-direction: column; border: 1px solid #dfe8f1; border-radius: 9px; background: #fff; box-shadow: 0 5px 16px rgba(11,42,91,.055); overflow: hidden; transform: none; }
body.nbd-catalog-archive.nbd-product-ui .category-page-row .product-small.box:not(.box-vertical):hover { border-color: #8bc4ef; box-shadow: 0 10px 24px rgba(11,42,91,.105); transform: translateY(-2px); }
body.nbd-catalog-archive.nbd-product-ui .category-page-row .product-small.box:not(.box-vertical) .box-image { width: 100%; aspect-ratio: 4/3; border-radius: 8px 8px 0 0 !important; background: #eef4f8 !important; overflow: hidden; }
body.nbd-catalog-archive.nbd-product-ui .category-page-row .product-small.box:not(.box-vertical) .box-image :is(.image-zoom_in, a) { display: block; width: 100%; height: 100%; }
body.nbd-catalog-archive.nbd-product-ui .category-page-row .product-small.box:not(.box-vertical) .box-image img { width: 100%; height: 100%; object-fit: cover; }
body.nbd-catalog-archive.nbd-product-ui .category-page-row .product-small.box:not(.box-vertical) .box-text { display: flex; min-height: 0; flex: 1 1 auto; padding: 9px 9px 10px !important; background: #fff; text-align: left; }
body.nbd-catalog-archive.nbd-product-ui .category-page-row .product-small.box:not(.box-vertical) .box-text-inner { display: flex; width: 100%; min-width: 0; flex: 1 1 auto; flex-flow: row wrap; align-content: flex-start; }
body.nbd-catalog-archive.nbd-product-ui .category-page-row .product-small.box:not(.box-vertical) :is(.category,.nbd-product-card__category) { display: none !important; }
body.nbd-catalog-archive.nbd-product-ui .category-page-row .product-small.box:not(.box-vertical) .product-title { min-height: 38px !important; margin: 0 0 5px; font-size: var(--nbd-archive-product-title, 13px) !important; font-weight: 600; line-height: 1.25; }
body.nbd-catalog-archive.nbd-product-ui .category-page-row .product-small.box:not(.box-vertical) .product-title a { color: #0b3470 !important; -webkit-line-clamp: 2; }
body.nbd-catalog-archive.nbd-product-ui .category-page-row .product-small.box:not(.box-vertical) .price-wrapper { display: flex; flex: 0 0 100%; flex-direction: row; align-content: flex-start; align-items: center; margin: auto 0 0; padding: 0; }
body.nbd-catalog-archive.nbd-product-ui .category-page-row .product-small.box:not(.box-vertical) .star-rating { flex: 0 0 auto; margin: 0 4px 5px 0; font-size: var(--nbd-archive-meta-size); }
body.nbd-catalog-archive.nbd-product-ui .category-page-row .product-small.box:not(.box-vertical) .review-count { flex: 0 0 auto; margin-bottom: 5px; color: #5f7187 !important; font-size: var(--nbd-archive-meta-size); }
body.nbd-catalog-archive.nbd-product-ui .category-page-row .product-small.box:not(.box-vertical) .price { display: flex; flex: 0 0 100%; align-items: baseline; gap: 3px 5px; margin: 6px 0 0; padding: 7px 0 0; border: 0; border-top: 1px solid #e5edf5; color: #cf1020 !important; font-size: var(--nbd-archive-product-price, 15px) !important; font-weight: 600; white-space: nowrap; }
body.nbd-catalog-archive .nbd-price-from { font-size: .68em; font-weight: 600; }
body.nbd-catalog-archive.nbd-product-ui .category-page-row .price :is(ins,ins .amount) { color: #cf1020 !important; font-size: inherit; }
body.nbd-catalog-archive.nbd-product-ui .category-page-row .price :is(del,del .amount) { color: #5f7187 !important; font-size: var(--nbd-archive-meta-size); font-weight: 500; }
body.nbd-catalog-archive .nbd-product-card__actions-v2 { display: none !important; }
body.nbd-catalog-archive .category-page-row .product-small.col > .col-inner > .badge-container .badge-inner { min-width: 43px; padding: 6px 7px; border-radius: 0 0 7px 0 !important; background: linear-gradient(135deg,#f41629,#ff3a3a) !important; box-shadow: none; font-size: var(--nbd-archive-meta-size); font-weight: 600; }
body.nbd-catalog-archive .category-page-row .woocommerce-pagination { margin: 25px 0 0; }
body.nbd-catalog-archive .category-page-row .woocommerce-pagination .page-number { min-width: 35px; height: 35px; border: 0; border-radius: 6px; background: #fff; box-shadow: 0 3px 11px rgba(11,42,91,.04); color: #244f82; font-size: var(--nbd-archive-meta-size); line-height: 35px; }
body.nbd-catalog-archive .category-page-row .woocommerce-pagination .page-number.current { background: linear-gradient(135deg,#0b2a5b,#286bb6); color: #fff; }

body.nbd-catalog-archive.nbd-catalog-list-view .category-page-row .products.row:not(.row-slider) { grid-template-columns: repeat(2,minmax(0,1fr)); }
body.nbd-catalog-archive.nbd-catalog-list-view .category-page-row .product-small.box:not(.box-vertical) { display: grid; grid-template-columns: minmax(135px,42%) minmax(0,1fr); }
body.nbd-catalog-archive.nbd-catalog-list-view .category-page-row .product-small.box:not(.box-vertical) .box-image { height: 100%; min-height: 215px; border-radius: 8px 0 0 8px !important; }
body.nbd-catalog-archive.nbd-catalog-list-view .category-page-row .product-small.box:not(.box-vertical) .box-text { min-height: 215px; }

/* Bottom feature strip and editable taxonomy content. */
body.nbd-catalog-archive .nbd-cat-values { display: grid; grid-template-columns: minmax(290px, .85fr) 1.25fr; gap: 12px; margin-top: 28px; }
body.nbd-catalog-archive .nbd-cat-values__feature { display: flex; min-height: 170px; flex-direction: column; align-items: flex-start; justify-content: center; padding: 24px 28px; border-radius: 10px; background: linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.8) 49%,rgba(255,255,255,.05) 100%), var(--nbd-cat-value-image) left center/cover; color: #0b3471; text-decoration: none; }
body.nbd-catalog-archive .nbd-cat-values__feature span { font-size: var(--nbd-archive-copy-size); font-weight: 600; }
body.nbd-catalog-archive .nbd-cat-values__feature strong { max-width: 12ch; font-size: 24px; line-height: 1.15; }
body.nbd-catalog-archive .nbd-cat-values__feature em { margin-top: 15px; padding: 8px 13px; border-radius: 6px; background: #ffbd19; color: #0b2a5b; font-size: var(--nbd-archive-meta-size); font-style: normal; font-weight: 600; }
body.nbd-catalog-archive .nbd-cat-values__items { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; padding: 14px; border: 1px solid #e0ebf5; border-radius: 10px; background: #fff; }
body.nbd-catalog-archive .nbd-cat-values__items > div { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 11px; min-width: 0; min-height: 140px; padding: 13px 8px; border: 1px solid #e9f0f6; border-radius: 8px; background: #fff; box-shadow: 0 5px 14px rgba(11,42,91,.035); text-align: center; }
body.nbd-catalog-archive .nbd-cat-values__items > div > span { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 50%; background: #eff7ff; color: #0e4b91; }
body.nbd-catalog-archive .nbd-cat-values__items svg { width: 29px; height: 29px; }
body.nbd-catalog-archive .nbd-cat-values__items strong { color: #173e73; font-size: var(--nbd-archive-meta-size); font-weight: 600; line-height: 1.3; }
body.nbd-catalog-archive .nbd-cat-values__items small { display: block; color: inherit; font-size: inherit; font-weight: inherit; }
body.nbd-catalog-archive .nbd-category-content { margin-top: 25px; padding: 22px; border: 1px solid #dce8f3; border-radius: 11px; background: #fff; box-shadow: 0 8px 24px rgba(11,42,91,.045); }
body.nbd-catalog-archive .nbd-category-content > header span { color: #2978c3; font-size: var(--nbd-archive-meta-size); font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
body.nbd-catalog-archive .nbd-category-content > header h2 { margin: 4px 0 13px; color: #0b2a5b; font-size: var(--nbd-archive-section-title,22px) !important; }
body.nbd-catalog-archive .nbd-category-content__body { color: #3e5877; font-size: 14px; line-height: 1.75; }
body.nbd-catalog-archive .nbd-category-content__body img { border-radius: 10px; }

/* Shop category groups retained from the existing requirement. */
body.nbd-catalog-archive .nbd-shop-groups { margin-bottom: 25px; }
body.nbd-catalog-archive .nbd-shop-groups__intro,
body.nbd-catalog-archive .nbd-shop-group__heading { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
body.nbd-catalog-archive .nbd-shop-groups__intro { margin-bottom: 14px; padding: 16px 18px; border: 1px solid #dce8f3; border-radius: 10px; background: #fff; }
body.nbd-catalog-archive .nbd-shop-groups__intro :is(h2,p) { margin: 0; }
body.nbd-catalog-archive .nbd-shop-groups__intro h2 { color: #0b2a5b; font-size: 22px; }
body.nbd-catalog-archive .nbd-shop-groups__intro span { color: #3184d2; font-size: var(--nbd-archive-meta-size); font-weight: 600; text-transform: uppercase; }
body.nbd-catalog-archive .nbd-shop-groups__intro p { max-width: 48ch; color: #637894; font-size: var(--nbd-archive-meta-size); }
body.nbd-catalog-archive .nbd-shop-group { margin-bottom: 18px; padding: 15px; border: 1px solid #dce8f3; border-radius: 10px; background: #fff; }
body.nbd-catalog-archive .nbd-shop-group__heading { margin-bottom: 12px; }
body.nbd-catalog-archive .nbd-shop-group__heading :is(h3,span) { margin: 0; }
body.nbd-catalog-archive .nbd-shop-group__heading h3 { color: #0b2a5b; font-size: 19px; }
body.nbd-catalog-archive .nbd-shop-group__heading span { color: #7a8ba0; font-size: var(--nbd-archive-meta-size); }
body.nbd-catalog-archive .nbd-shop-group__heading > a { color: #226db5; font-size: var(--nbd-archive-meta-size); font-weight: 600; }
.nbd-catalog-filter-overlay { display: none; }

@media (min-width: 850px) {
	body.nbd-catalog-archive .category-page-row > .col:has(#shop-sidebar) { display: block; position: relative !important; overflow: visible !important; }
	body.nbd-catalog-archive .category-page-row > .col:has(#shop-sidebar) > .is-sticky-column,
	body.nbd-catalog-archive .category-page-row > .col:has(#shop-sidebar) > .is-sticky-column > .is-sticky-column__inner,
	body.nbd-catalog-archive .category-page-row > .col:has(#shop-sidebar) #shop-sidebar,
	body.nbd-catalog-archive .category-page-row > .col:has(#shop-sidebar) .nbd-catalog-sidebar-stack { display: contents !important; }
	body.nbd-catalog-archive .nbd-catalog-sidebar-categories { align-self: start; }
}

@media (max-width: 1120px) {
	body.nbd-catalog-archive { --nbd-archive-columns: 3; }
	body.nbd-catalog-archive .nbd-cat-hero__copy { width: 48%; }
	body.nbd-catalog-archive .nbd-cat-hero__slogan { top: var(--nbd-archive-slogan-top-mobile, var(--nbd-archive-slogan-top, 54px)); left: var(--nbd-archive-slogan-left-mobile, var(--nbd-archive-slogan-left, 45%)); font-size: var(--nbd-archive-slogan-mobile, var(--nbd-archive-slogan, 25px)) !important; }
	body.nbd-catalog-archive .nbd-cat-brands__track { grid-template-columns: repeat(12, 115px); gap: 5px; overflow-x: auto; scrollbar-width: thin; }
	body.nbd-catalog-archive .category-page-row { grid-template-columns: 220px minmax(0,1fr); gap: 15px; }
	body.nbd-catalog-archive .nbd-cat-toolbar__sort { overflow-x: auto; scrollbar-width: none; }
	body.nbd-catalog-archive .nbd-cat-toolbar__sort::-webkit-scrollbar { display: none; }
	body.nbd-catalog-archive .nbd-cat-toolbar__view > span { display: none; }
}

@media (max-width: 849px) {
	body.nbd-catalog-archive .nbd-cat-hero { min-height: 390px; background-position: 58% center; }
	body.nbd-catalog-archive .nbd-cat-hero__inner { padding: 24px 22px; }
	body.nbd-catalog-archive .nbd-cat-hero::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg,rgba(239,248,255,.98) 0%,rgba(239,248,255,.94) 44%,rgba(239,248,255,.25) 100%); }
	body.nbd-catalog-archive .nbd-cat-hero__copy { width: min(68%,520px); }
	body.nbd-catalog-archive .nbd-cat-hero__slogan,
	body.nbd-catalog-archive .nbd-cat-hero__logo { display: none; }
	body.nbd-catalog-archive .nbd-cat-brands { padding: 5px; overflow: hidden; }
	body.nbd-catalog-archive .nbd-cat-brands__track {
		width: 100%;
		max-width: none;
		grid-template-columns: none;
		grid-template-rows: repeat(2, 94px);
		grid-auto-flow: column;
		grid-auto-columns: calc((100% - 15px) / 4);
		gap: 5px;
		margin: 0;
		padding: 0 0 2px;
		overflow-x: auto;
		overflow-y: hidden;
		overscroll-behavior-inline: contain;
		scroll-behavior: smooth;
		scroll-snap-type: inline mandatory;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}
	body.nbd-catalog-archive .nbd-cat-brands--single-row .nbd-cat-brands__track { grid-template-rows: 94px; }
	/* Read the first eight brands left-to-right, then continue swiping for more. */
	body.nbd-catalog-archive .nbd-cat-brand:nth-child(1) { grid-area: 1 / 1; }
	body.nbd-catalog-archive .nbd-cat-brand:nth-child(2) { grid-area: 1 / 2; }
	body.nbd-catalog-archive .nbd-cat-brand:nth-child(3) { grid-area: 1 / 3; }
	body.nbd-catalog-archive .nbd-cat-brand:nth-child(4) { grid-area: 1 / 4; }
	body.nbd-catalog-archive .nbd-cat-brand:nth-child(5) { grid-area: 2 / 1; }
	body.nbd-catalog-archive .nbd-cat-brand:nth-child(6) { grid-area: 2 / 2; }
	body.nbd-catalog-archive .nbd-cat-brand:nth-child(7) { grid-area: 2 / 3; }
	body.nbd-catalog-archive .nbd-cat-brand:nth-child(8) { grid-area: 2 / 4; }
	body.nbd-catalog-archive .nbd-cat-brands__track::-webkit-scrollbar { display: none; }
	body.nbd-catalog-archive .nbd-cat-brand { grid-template-rows: 55px minmax(28px,auto); min-height: 94px; scroll-snap-align: start; scroll-snap-stop: normal; }
	body.nbd-catalog-archive .nbd-cat-brand__logo { width: min(100%, 54px); height: 50px; }
	body.nbd-catalog-archive .nbd-cat-brand__name { min-height: 28px; padding-top: 2px; font-size: 9px; }
	body.nbd-catalog-archive .category-page-row { display: block !important; padding: 16px 12px 32px; }
	body.nbd-catalog-archive .category-filtering.category-filter-row { display: none !important; }
	body.nbd-catalog-archive #shop-sidebar { display: none !important; }
	body.nbd-catalog-archive .nbd-catalog-sidebar-stack { position: static; height: auto; max-height: none; padding-right: 0; overflow: visible; }
	body.nbd-catalog-archive .nbd-catalog-filter { position: static; }
	body.nbd-catalog-archive .nbd-catalog-sidebar-categories { position: static !important; top: auto !important; }
	body.nbd-catalog-archive .nbd-catalog-filter > header > button { display: grid; place-items: center; }
	body.nbd-catalog-archive .nbd-catalog-filter > header > span { display: none; }
	body.nbd-catalog-archive .nbd-catalog-filter-overlay { display: none !important; }
	body.nbd-catalog-archive .nbd-cat-toolbar { flex-wrap: wrap; gap: 8px; }
	body.nbd-catalog-archive .nbd-cat-toolbar__filter { display: none !important; }
	body.nbd-catalog-archive .nbd-cat-toolbar__sort {
		order: 3;
		flex-basis: 100%;
		padding: 0 18px 5px 0;
		scrollbar-width: thin;
		scrollbar-color: #82add4 transparent;
		-webkit-mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 22px), transparent 100%);
		mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 22px), transparent 100%);
	}
	body.nbd-catalog-archive .nbd-cat-toolbar__sort::-webkit-scrollbar { display: block; height: 3px; }
	body.nbd-catalog-archive .nbd-cat-toolbar__sort::-webkit-scrollbar-thumb { border-radius: 999px; background: #82add4; }
	body.nbd-catalog-archive .nbd-cat-toolbar__view { margin-left: auto; }
	body.nbd-catalog-archive .nbd-cat-promo { min-height: 145px; padding: 15px 4%; }
	body.nbd-catalog-archive .nbd-cat-promo__copy { width: 56%; }
	body.nbd-catalog-archive .nbd-cat-promo h2 { font-size: 17px !important; }
	body.nbd-catalog-archive .nbd-cat-promo__copy span { font-size: 9px; }
	body.nbd-catalog-archive .nbd-cat-values { grid-template-columns: 1fr; }
}

@media (max-width: 549px) {
	body.nbd-catalog-archive { --nbd-archive-columns: 2; }
	body.nbd-catalog-archive .nbd-cat-hero { min-height: 420px; background-position: 64% center; }
	body.nbd-catalog-archive .nbd-cat-hero__inner { padding: 18px 15px; }
	body.nbd-catalog-archive .nbd-cat-hero::after { background: linear-gradient(90deg,rgba(240,249,255,.99) 0%,rgba(240,249,255,.94) 66%,rgba(240,249,255,.42) 100%); }
	body.nbd-catalog-archive .nbd-cat-hero__copy { width: 82%; }
	body.nbd-catalog-archive .nbd-cat-breadcrumb { margin-bottom: 14px; font-size: var(--nbd-archive-breadcrumb-mobile,var(--nbd-archive-breadcrumb,11px)); }
	body.nbd-catalog-archive .nbd-archive-heading__title { font-size: var(--nbd-archive-page-title-mobile,var(--nbd-archive-page-title,30px)) !important; }
	body.nbd-catalog-archive .nbd-archive-heading__intro { max-width: 35ch; font-size: var(--nbd-archive-meta-size); }
	body.nbd-catalog-archive .nbd-cat-hero__services { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 7px; margin-top: 22px; }
	body.nbd-catalog-archive .nbd-cat-hero__services > div { flex-direction: row; text-align: left; }
	body.nbd-catalog-archive .nbd-cat-hero__services > div > span { width: 31px; height: 31px; }
	body.nbd-catalog-archive .nbd-cat-hero__services svg { width: 24px; height: 24px; }
	body.nbd-catalog-archive .nbd-cat-promo { justify-content: flex-start; min-height: 155px; padding: 14px; background-position: 32% center; }
	body.nbd-catalog-archive .nbd-cat-promo::after { background: linear-gradient(90deg,rgba(250,255,250,.95),rgba(250,255,250,.8) 63%,rgba(250,255,250,.24)); }
	body.nbd-catalog-archive .nbd-cat-promo__copy { width: 80%; }
	body.nbd-catalog-archive .nbd-cat-promo__copy > div { gap: 5px 9px; }
	body.nbd-catalog-archive .nbd-cat-toolbar__view select { display: none; }
	body.nbd-catalog-archive .category-page-row .products.row:not(.row-slider) { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 9px 7px; }
	body.nbd-catalog-archive.nbd-product-ui .category-page-row .product-small.box:not(.box-vertical) .box-text { min-height: 0; padding: 7px 7px 10px !important; }
	body.nbd-catalog-archive.nbd-product-ui .category-page-row .product-small.box:not(.box-vertical) .product-title { min-height: 34px !important; font-size: var(--nbd-archive-product-title-mobile,var(--nbd-archive-product-title,11px)) !important; }
	body.nbd-catalog-archive.nbd-product-ui .category-page-row .product-small.box:not(.box-vertical) .price { font-size: var(--nbd-archive-product-price-mobile,var(--nbd-archive-product-price,13px)) !important; white-space: normal; }
	body.nbd-catalog-archive.nbd-catalog-list-view .category-page-row .products.row:not(.row-slider) { grid-template-columns: 1fr !important; }
	body.nbd-catalog-archive.nbd-catalog-list-view .category-page-row .product-small.box:not(.box-vertical) { grid-template-columns: 118px minmax(0,1fr); }
	body.nbd-catalog-archive.nbd-catalog-list-view .category-page-row .product-small.box:not(.box-vertical) .box-image { min-height: 180px; }
	body.nbd-catalog-archive .nbd-cat-values__feature { min-height: 150px; padding: 20px; }
	body.nbd-catalog-archive .nbd-cat-values__feature strong { font-size: 21px; }
	body.nbd-catalog-archive .nbd-cat-values__items { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 9px; }
	body.nbd-catalog-archive .nbd-cat-values__items > div { min-height: 115px; }
	body.nbd-catalog-archive .nbd-category-content { margin-right: -12px; margin-left: -12px; padding: 12px; border-radius: 0; }
	body.nbd-catalog-archive .nbd-shop-groups__intro { display: block; }
	body.nbd-catalog-archive .nbd-shop-groups__intro p { margin-top: 8px; }
}

@media (prefers-reduced-motion: reduce) {
	body.nbd-catalog-archive :is(.nbd-cat-brand,.product-small.box,#shop-sidebar,.nbd-catalog-filter-overlay) { transition: none !important; }
}

/* Product-category archives use the theme's normal row width, without a sidebar. */
body.tax-product_cat.nbd-catalog-archive .category-page-row { box-sizing: border-box; grid-template-columns: minmax(0, 1fr); gap: 0; }
body.tax-product_cat.nbd-catalog-archive .category-page-row > .large-3 { display: none !important; }
body.tax-product_cat.nbd-catalog-archive .category-page-row > .large-9 { grid-column: 1; grid-row: 1; }
body.tax-product_cat.nbd-catalog-archive .category-page-row > .col:has(#shop-sidebar),
body.tax-product_cat.nbd-catalog-archive #shop-sidebar { display: none !important; }
body.tax-product_cat.nbd-catalog-archive .category-page-row > .col:not(:has(#shop-sidebar)) { grid-column: 1; grid-row: 1; }
body.tax-product_cat.nbd-catalog-archive.nbd-catalog-is-loading .category-page-row::before { left: calc(50% - 19px); }
body.tax-product_cat.nbd-catalog-archive.nbd-catalog-five-columns .category-page-row .product-small.box:not(.box-vertical) .price { flex-wrap: wrap; white-space: normal; }

/* Compact, horizontal quick filters sit above the existing sort/view toolbar. */
body.tax-product_cat.nbd-catalog-archive .nbd-cat-quick-filters {
	position: relative;
	z-index: 12;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 9px;
	margin: 0 0 14px;
	padding: 12px 14px;
	border: 1px solid #dce8f3;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 5px 18px rgba(11,42,91,.045);
}
body.tax-product_cat.nbd-catalog-archive .nbd-cat-quick-filters,
body.tax-product_cat.nbd-catalog-archive .nbd-cat-quick-filters :is(summary, label, span, small, input, button, a) {
	font-family: var(--nbd-body-font, "Be Vietnam Pro", sans-serif) !important;
}
body.tax-product_cat.nbd-catalog-archive .nbd-cat-quick-filters__heading {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 5px;
	margin: 0 9px 0 0;
	color: var(--nbd-archive-navy);
	font-family: var(--nbd-heading-font, "Manrope", "Be Vietnam Pro", sans-serif) !important;
	font-size: var(--nbd-archive-meta-size);
	font-weight: 600;
	line-height: 1.4;
}
body.tax-product_cat.nbd-catalog-archive .nbd-cat-quick-filters__heading svg { width: 17px; height: 17px; }
body.tax-product_cat.nbd-catalog-archive .nbd-cat-quick-filter { position: relative; flex: 0 0 auto; min-width: 132px; margin: 0; }
body.tax-product_cat.nbd-catalog-archive .nbd-cat-quick-filter summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 36px;
	padding: 7px 11px;
	border: 1px solid #d6e5f2;
	border-radius: 7px;
	background: #f5f9fd;
	color: #244d7f;
	font-size: var(--nbd-archive-meta-size);
	font-weight: 600;
	line-height: 1.3;
	list-style: none;
	cursor: pointer;
}
body.tax-product_cat.nbd-catalog-archive .nbd-cat-quick-filter summary::-webkit-details-marker { display: none; }
body.tax-product_cat.nbd-catalog-archive .nbd-cat-quick-filter summary svg { width: 14px; height: 14px; flex: 0 0 14px; margin-left: auto; transition: transform .18s ease; }
body.tax-product_cat.nbd-catalog-archive .nbd-cat-quick-filter summary small { display: grid; min-width: 17px; height: 17px; place-items: center; border-radius: 50%; background: #dceeff; color: #0c559c; font-size: 9px; }
body.tax-product_cat.nbd-catalog-archive .nbd-cat-quick-filter[open] summary,
body.tax-product_cat.nbd-catalog-archive .nbd-cat-quick-filter summary:hover { border-color: #8fc5ef; background: #eef7ff; color: #0c559c; }
body.tax-product_cat.nbd-catalog-archive .nbd-cat-quick-filter[open] summary svg { transform: rotate(180deg); }
body.tax-product_cat.nbd-catalog-archive .nbd-cat-quick-filter summary:focus-visible,
body.tax-product_cat.nbd-catalog-archive .nbd-cat-quick-filters :is(button,a,input):focus-visible { outline: 2px solid #0c70c4; outline-offset: 2px; }
body.tax-product_cat.nbd-catalog-archive .nbd-cat-quick-filter__options {
	position: absolute;
	z-index: 20;
	top: calc(100% + 6px);
	left: 0;
	width: max(100%, 210px);
	max-height: 310px;
	padding: 10px;
	border: 1px solid #d6e5f2;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 12px 30px rgba(11,42,91,.16);
	overflow-y: auto;
}
body.tax-product_cat.nbd-catalog-archive .nbd-cat-quick-filter:last-of-type .nbd-cat-quick-filter__options { right: 0; left: auto; }
body.tax-product_cat.nbd-catalog-archive .nbd-cat-quick-filter__options label { display: flex; align-items: center; gap: 8px; margin: 0; padding: 5px 3px; color: #3c5d80; font-size: var(--nbd-archive-meta-size); line-height: 1.4; cursor: pointer; }
body.tax-product_cat.nbd-catalog-archive .nbd-cat-quick-filter__options input[type="checkbox"] { width: 15px; height: 15px; flex: 0 0 15px; margin: 0; accent-color: #1260aa; }
body.tax-product_cat.nbd-catalog-archive .nbd-cat-quick-filters__reset { margin-left: auto; color: #356aa5; font-size: var(--nbd-archive-meta-size); font-weight: 600; text-decoration: underline; white-space: nowrap; }
body.tax-product_cat.nbd-catalog-archive .nbd-cat-quick-filters__submit {
	min-height: 36px;
	margin: 0;
	padding: 7px 15px;
	border: 0;
	border-radius: 7px;
	background: linear-gradient(135deg, #ffc526, #f3aa0c);
	color: #0b2a5b;
	font-size: var(--nbd-archive-meta-size);
	font-weight: 600;
	line-height: 1.3;
}
body.tax-product_cat.nbd-catalog-archive .nbd-cat-quick-filters__submit:hover { background: linear-gradient(135deg, #ffd24c, #ffb515); }

@media (max-width: 849px) {
	body.tax-product_cat.nbd-catalog-archive .category-page-row > .col:not(:has(#shop-sidebar)) { width: 100% !important; }
	body.tax-product_cat.nbd-catalog-archive .nbd-cat-toolbar__view label:has([data-nbd-columns]) { display: none; }
	body.tax-product_cat.nbd-catalog-archive .nbd-cat-quick-filters { gap: 8px; padding: 10px; }
	body.tax-product_cat.nbd-catalog-archive .nbd-cat-quick-filters__heading { flex-basis: 100%; margin: 0; }
	body.tax-product_cat.nbd-catalog-archive .nbd-cat-quick-filter { flex: 1 1 132px; }
	body.tax-product_cat.nbd-catalog-archive .nbd-cat-quick-filters__reset { margin-left: 0; }
	body.tax-product_cat.nbd-catalog-archive .category-page-row .products.row:not(.row-slider) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	body.tax-product_cat.nbd-catalog-archive.nbd-catalog-list-view .category-page-row .products.row:not(.row-slider) { grid-template-columns: 1fr; }
}

@media (max-width: 549px) {
	body.tax-product_cat.nbd-catalog-archive .nbd-cat-quick-filter { flex-basis: calc(50% - 4px); min-width: 0; }
	body.tax-product_cat.nbd-catalog-archive .nbd-cat-quick-filter__options { position: static; width: 100%; max-height: 220px; margin-top: 5px; box-shadow: 0 6px 14px rgba(11,42,91,.1); }
	body.tax-product_cat.nbd-catalog-archive .nbd-cat-quick-filters__submit { margin-left: auto; }
}

/* Foam and spring photographs reserve their left half for copy. Keep the mattress visible on the right. */
body.nbd-catalog-archive:is(.term-nem-foam, .term-nem-lo-xo) .nbd-cat-promo {
	justify-content: flex-start;
	padding-inline: clamp(22px, 4vw, 64px);
	border-color: #d6e4f1;
	background-color: #f5faff;
	background-position: center;
}
body.nbd-catalog-archive:is(.term-nem-foam, .term-nem-lo-xo) .nbd-cat-promo::after {
	background: linear-gradient(90deg, rgba(246,250,255,.97) 0%, rgba(246,250,255,.86) 25%, rgba(246,250,255,.48) 40%, rgba(246,250,255,0) 62%);
}
body.nbd-catalog-archive:is(.term-nem-foam, .term-nem-lo-xo) .nbd-cat-promo__copy {
	width: min(44%, 610px);
	color: #163b68;
}
body.nbd-catalog-archive:is(.term-nem-foam, .term-nem-lo-xo) .nbd-cat-promo h2 { color: #123766; }
body.nbd-catalog-archive:is(.term-nem-foam, .term-nem-lo-xo) .nbd-cat-promo__copy span { color: #315477; }

@media (max-width: 849px) {
	body.nbd-catalog-archive:is(.term-nem-foam, .term-nem-lo-xo) .nbd-cat-promo__copy { width: 48%; }
}

@media (max-width: 649px) {
	body.nbd-catalog-archive:is(.term-nem-foam, .term-nem-lo-xo) .nbd-cat-promo {
		display: block;
		min-height: 0;
		padding: 137px 15px 15px;
		background-image: none;
	}
	body.nbd-catalog-archive:is(.term-nem-foam, .term-nem-lo-xo) .nbd-cat-promo::before {
		content: "";
		position: absolute;
		inset: 0 0 auto;
		height: 124px;
		background: var(--nbd-cat-promo-image) center / cover no-repeat;
	}
	body.nbd-catalog-archive:is(.term-nem-foam, .term-nem-lo-xo) .nbd-cat-promo::after { display: none; }
	body.nbd-catalog-archive:is(.term-nem-foam, .term-nem-lo-xo) .nbd-cat-promo__copy { width: 100%; }
}

/* Skip layout and paint for product cards that are still far below the fold. */
@supports (content-visibility: auto) {
	body.nbd-catalog-archive .category-page-row .products.row:not(.row-slider) > .product-small.col {
		content-visibility: auto;
		contain-intrinsic-block-size: auto 430px;
	}

	body.nbd-catalog-archive :is(.nbd-category-content, .nbd-cat-values, .nbd-showrooms) {
		content-visibility: auto;
		contain-intrinsic-block-size: auto 720px;
	}
}
