/*
 * 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(28, 20, 16, 0.12));
	border-radius: 999px;
	background: var(--card-bg, #FFFFFF);
	color: var(--text-main, #1C1410);
	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, #3F352E);
	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, #3F352E); 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, #FFFFFF);
	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, #3F352E);
	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, #3F352E);
	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(28, 20, 16, 0.12));
    border-radius: 14px;
    background: var(--card-bg, #FFFFFF);
    color: var(--text-main, #1C1410);
    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, #3F352E); font-size: .73rem; margin-top: 3px; }
.nt-service-picker__summary-hint{ margin-left: auto; color: var(--text-muted, #3F352E); font-size: .78rem; }
.nt-service-picker__chevron{ color: var(--text-muted, #3F352E); 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(28, 20, 16, 0.144));
    border-radius: 14px;
    background: color-mix(in srgb, var(--card-bg, #FFFFFF) 96%, #FFFFFF);
    box-shadow: 0 20px 55px rgba(28, 20, 16, 0.119);
}

.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(28, 20, 16, 0.096));
    background: inherit;
}

.nt-service-picker__search-wrap > i{ color: var(--text-muted, #3F352E); }
.nt-service-picker__search-wrap input{
    width: 100%;
    min-width: 0;
    height: 40px;
    padding: 0 12px;
    border: 1px solid var(--glass-border, rgba(28, 20, 16, 0.144));
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.18);
    color: var(--text-main, #1C1410);
    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, #1C1410);
    text-decoration: none;
}
.nt-service-picker__item:hover,
.nt-service-picker__item:focus-visible{ background: rgba(28, 20, 16, 0.05); outline: none; }

.nt-service-picker__badge{
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid var(--glass-border, rgba(28, 20, 16, 0.108));
    border-radius: 10px;
    background: rgba(255, 255, 255, 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, #3F352E); font-size: .7rem; }
.nt-service-picker__price{ color: var(--text-main, #1C1410); font-size: .79rem; font-weight: 700; white-space: nowrap; }
.nt-service-picker__item > i{ color: var(--text-muted, #3F352E); font-size: .66rem; }
.nt-service-picker__empty{ margin: 0; padding: 28px 12px; text-align: center; color: var(--text-muted, #3F352E); 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,#3F352E);
	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(28, 20, 16, 0.12) !important;border-radius:10px !important;background:rgba(28, 20, 16, 0.023) !important;color:var(--text-main,#1C1410) !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:#1C1410 !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;}}
