/*
 * Catalog layer (11.1.0).
 * Compact product card with a square brand badge, derived-group filter chips,
 * and the featured grid. Loaded after card-art.css.
 */

/* Beats the card's own display:flex !important. */
.products-grid .is-filtered-out { display: none !important; }

/* ------------------------------------------------------- 1. Filter chips */

.nt-toolfilter {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 20px;
}

.nt-toolfilter__chip {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 8px 14px;
	border: 1px solid var(--glass-border, rgba(255, 255, 255, 0.1));
	border-radius: 999px;
	background: var(--card-bg, #27272a);
	color: var(--text-main, #e4e4e7);
	font: inherit;
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	transition: border-color 0.2s ease, background 0.2s ease;
}

.nt-toolfilter__chip span {
	color: var(--text-muted, #a1a1aa);
	font-size: 0.6875rem;
	font-variant-numeric: tabular-nums;
}

.nt-toolfilter__chip:hover { border-color: var(--primary-color, #fd7702); }

.nt-toolfilter__chip.is-active {
	background: var(--primary-color, #fd7702);
	border-color: var(--primary-color, #fd7702);
	color: #fff;
}

.nt-toolfilter__chip.is-active span { color: rgba(255, 255, 255, 0.78); }

.nt-toolfilter__chip:focus-visible { outline: 2px solid var(--primary-soft, #fdba74); outline-offset: 2px; }

.nt-empty-filter { color: var(--text-muted, #a1a1aa); font-size: 0.875rem; margin: 8px 0 0; }

.nt-section-foot { display: flex; justify-content: center; margin-top: 28px; }
.nt-section-foot .bm-btn { min-width: 220px; justify-content: center; }

/* --------------------------------------------- 2. Compact card head row */

.nt-product-card-v6--compact {
	display: flex !important;
	flex-direction: column;
	gap: 12px;
	padding: 16px !important;
}

.nt-product-card-v6__head {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
}

/* The square. Same brand plate as before, sized to sit beside the title. */
.nt-product-card-v6__badge {
	position: relative;
	flex: 0 0 auto;
	width: 56px;
	height: 56px;
	border-radius: 14px;
	overflow: hidden;
	background: var(--surface-raised, #3f3f46);
	display: grid;
	place-items: center;
}

.nt-product-card-v6__badge img,
.nt-product-card-v6__badge .nt-product-image,
.nt-product-card-v6__badge .nt-curated-product-img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	padding: 6px;
}

.nt-product-card-v6__headmeta {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.nt-product-card-v6--compact .nt-product-card-v6__eyebrow {
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--primary-color, #fd7702) !important;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* The status pill is in the flow now, not floating over a banner. */
.nt-product-card-v6--compact .nt-product-card-v6__status {
	position: static !important;
	inset: auto !important;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	width: max-content !important;
	height: auto !important;
	padding: 2px 0 !important;
	background: transparent !important;
	border: 0 !important;
	font-size: 0.6875rem;
	font-weight: 600;
}

.nt-product-card-v6--compact .nt-product-card-v6__status i {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: currentColor;
	display: block;
}

.nt-product-card-v6--compact .nt-product-card-v6__discount {
	position: absolute;
	top: 0;
	right: 0;
	background: var(--primary-color, #fd7702);
	color: #fff;
	border-radius: 999px;
	padding: 3px 9px;
	font-size: 0.6875rem;
	font-weight: 700;
}

/* ------------------------------------------------------ 3. Compact body */

.nt-product-card-v6--compact .nt-product-card-v6__body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	padding: 0 !important;
	min-width: 0;
}

.nt-product-card-v6--compact .nt-product-card-v6__body h3 {
	font-size: 1rem !important;
	line-height: 1.3 !important;
	font-weight: 650;
	margin: 0 0 6px !important;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.nt-product-card-v6--compact .nt-product-card-v6__body > p {
	margin: 0;
	color: var(--text-muted, #a1a1aa);
	font-size: 0.8125rem !important;
	line-height: 1.6 !important;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.nt-product-card-v6--compact .nt-product-card-v6__rating {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin-top: 8px;
	color: var(--text-muted, #a1a1aa);
	font-size: 0.75rem;
}

.nt-product-card-v6--compact .nt-product-card-v6__rating i { color: var(--accent-color, #f59e0b); }

.nt-product-card-v6--compact .nt-product-card-v6__price-row { margin-top: auto; padding-top: 14px; }
.nt-product-card-v6--compact .nt-product-card-v6__actions { margin-top: 12px; }

/* ------------------------------------------------------ 4. Small screens */

@media (max-width: 639px) {
	.nt-product-card-v6--compact { padding: 12px !important; gap: 10px; }
	.nt-product-card-v6__badge { width: 44px; height: 44px; border-radius: 11px; }
	.nt-product-card-v6--compact .nt-product-card-v6__body h3 { font-size: 0.875rem !important; }
	.nt-product-card-v6--compact .nt-product-card-v6__body > p { -webkit-line-clamp: 2; font-size: 0.75rem !important; }
	.nt-toolfilter { gap: 6px; margin-bottom: 14px; }
	.nt-toolfilter__chip { padding: 6px 11px; font-size: 0.75rem; }
	.nt-section-foot .bm-btn { width: 100%; }
}


/* 11.2.1: full-catalog homepage filter loading state. */
.is-catalog-filter-loading [data-nt-filter-target] { opacity: 0.55; pointer-events: none; }
.is-catalog-filter-loading .nt-toolfilter__chip { cursor: progress; }
[data-nt-filter-target][aria-busy="true"] { transition: opacity 0.16s ease; }


/* ---------------------------------------------------- 11.2.3 service picker */
.nt-service-picker-wrap {
    position: relative;
    z-index: 24;
    margin: 0 0 14px;
}

.nt-service-picker {
    position: relative;
    max-width: 100%;
}

.nt-service-picker__summary {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 58px;
    padding: 10px 14px;
    border: 1px solid var(--glass-border, rgba(255,255,255,.1));
    border-radius: 14px;
    background: var(--card-bg, #27272a);
    color: var(--text-main, #e4e4e7);
    cursor: pointer;
    list-style: none;
    user-select: none;
}

.nt-service-picker__summary::-webkit-details-marker { display: none; }
.nt-service-picker__summary:hover { border-color: color-mix(in srgb, var(--primary-color, #fd7702) 55%, transparent); }
.nt-service-picker[open] .nt-service-picker__summary { border-color: var(--primary-color, #fd7702); border-bottom-left-radius: 10px; border-bottom-right-radius: 10px; }

.nt-service-picker__summary-icon {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: color-mix(in srgb, var(--primary-color, #fd7702) 18%, transparent);
    color: var(--primary-color, #fd7702);
}

.nt-service-picker__summary-copy { display: flex; flex-direction: column; min-width: 0; }
.nt-service-picker__summary-copy strong { font-size: .94rem; line-height: 1.2; }
.nt-service-picker__summary-copy small { color: var(--text-muted, #a1a1aa); font-size: .73rem; margin-top: 3px; }
.nt-service-picker__summary-hint { margin-left: auto; color: var(--text-muted, #a1a1aa); font-size: .78rem; }
.nt-service-picker__chevron { color: var(--text-muted, #a1a1aa); font-size: .76rem; transition: transform .18s ease; }
.nt-service-picker[open] .nt-service-picker__chevron { transform: rotate(180deg); }

.nt-service-picker__panel {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 7px);
    z-index: 100;
    overflow: hidden;
    border: 1px solid var(--glass-border, rgba(255,255,255,.12));
    border-radius: 14px;
    background: color-mix(in srgb, var(--card-bg, #27272a) 96%, #000);
    box-shadow: 0 20px 55px rgba(0,0,0,.34);
}

.nt-service-picker__search-wrap {
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 12px;
    border-bottom: 1px solid var(--glass-border, rgba(255,255,255,.08));
    background: inherit;
}

.nt-service-picker__search-wrap > i { color: var(--text-muted, #a1a1aa); }
.nt-service-picker__search-wrap input {
    width: 100%;
    min-width: 0;
    height: 40px;
    padding: 0 12px;
    border: 1px solid var(--glass-border, rgba(255,255,255,.12));
    border-radius: 10px;
    background: rgba(0,0,0,.18);
    color: var(--text-main, #e4e4e7);
    font: inherit;
    font-size: .84rem;
    outline: none;
}
.nt-service-picker__search-wrap input:focus { border-color: var(--primary-color, #fd7702); }

.nt-service-picker__list {
    max-height: min(54vh, 470px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 6px;
    scrollbar-width: thin;
}

.nt-service-picker__item {
    display: grid;
    grid-template-columns: 38px minmax(0,1fr) auto 16px;
    align-items: center;
    gap: 10px;
    min-height: 54px;
    padding: 7px 10px;
    border-radius: 10px;
    color: var(--text-main, #e4e4e7);
    text-decoration: none;
}
.nt-service-picker__item:hover,
.nt-service-picker__item:focus-visible { background: rgba(255,255,255,.055); outline: none; }

.nt-service-picker__badge {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid var(--glass-border, rgba(255,255,255,.09));
    border-radius: 10px;
    background: rgba(0,0,0,.2);
    color: var(--primary-color, #fd7702);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .02em;
}

.nt-service-picker__item-copy { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.nt-service-picker__item-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .84rem; }
.nt-service-picker__item-copy small { color: var(--text-muted, #a1a1aa); font-size: .7rem; }
.nt-service-picker__price { color: var(--text-main, #e4e4e7); font-size: .79rem; font-weight: 700; white-space: nowrap; }
.nt-service-picker__item > i { color: var(--text-muted, #a1a1aa); font-size: .66rem; }
.nt-service-picker__empty { margin: 0; padding: 28px 12px; text-align: center; color: var(--text-muted, #a1a1aa); font-size: .82rem; }

@media (max-width: 680px) {
    .nt-service-picker__summary-hint { display: none; }
    .nt-service-picker__panel { position: relative; top: 6px; }
    .nt-service-picker__list { max-height: 58vh; }
    .nt-service-picker__item { grid-template-columns: 36px minmax(0,1fr) auto; }
    .nt-service-picker__item > i { display: none; }
    .nt-service-picker__price { font-size: .72rem; }
}

/* --------------------------------------------------- 11.4.4 availability ordering */
.nt-product-card-v6--compact .nt-product-card-v6__status.is-low-stock{
	color:var(--primary-color,#fd7702)!important;
}
.nt-product-card-v6--compact .nt-product-card-v6__status.is-low-stock i{
	background:currentColor!important;
	box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color,#fd7702) 16%,transparent);
}
.nt-service-picker__item.is-low-stock .nt-service-picker__item-copy small em{
	color:var(--primary-color,#fd7702);
}
.nt-service-picker__item.is-out-of-stock{
	opacity:.58;
}
.nt-service-picker__item-copy small em{
	font-style:normal;
	font-weight:700;
}

/* Progressive reveal replaces numbered WooCommerce pagination. */
.nt-autoload-hidden{display:none!important;}
.nt-autoload-control{
	position:relative;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:10px;
	min-height:72px;
	margin:24px 0 4px;
}
.nt-autoload-control.is-complete{
	min-height:34px;
	margin-top:16px;
}
.nt-autoload-control__button{min-width:180px;justify-content:center;}
.nt-autoload-control__status{
	color:var(--text-muted,#a1a1aa);
	font-size:.76rem;
	font-weight:600;
	letter-spacing:.01em;
}
.nt-autoload-control__sentinel{
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	height:1px;
	pointer-events:none;
}
.bm-shop .woocommerce-pagination{display:block!important;}
.bm-shop-pagination{display:flex;justify-content:center;width:100%;margin:34px 0 8px;clear:both;}
.bm-shop-pagination .woocommerce-pagination{margin:0!important;}
.bm-shop-pagination .page-numbers{display:flex!important;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;}
.bm-shop-pagination .page-numbers li{border:0!important;margin:0!important;}
.bm-shop-pagination .page-numbers a,
.bm-shop-pagination .page-numbers span{min-width:42px;height:42px;display:inline-flex!important;align-items:center;justify-content:center;padding:0 12px!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:10px!important;background:rgba(255,255,255,.025)!important;color:var(--text-main,#e4e4e7)!important;font-size:.82rem!important;font-weight:700!important;line-height:1!important;}
.bm-shop-pagination .page-numbers a:hover{border-color:rgba(253,119,2,.55)!important;color:#fff!important;background:rgba(253,119,2,.08)!important;}
.bm-shop-pagination .page-numbers .current{border-color:var(--primary-color,#fd7702)!important;background:var(--primary-color,#fd7702)!important;color:#fff!important;}
@media(max-width:639px){.bm-shop-pagination{margin-top:24px}.bm-shop-pagination .page-numbers{gap:6px}.bm-shop-pagination .page-numbers a,.bm-shop-pagination .page-numbers span{min-width:38px;height:38px;padding:0 10px!important;font-size:.76rem!important;}}
