/**
 * EuroArt Product Filter — frontend styles
 * Matches the EuroArt cream (#F3F0EE) premium hardware look.
 * All colours are CSS variables so they can be overridden via admin Custom CSS.
 */
.select-resize-ghost,
.select2-container .select2-choice,
.select2-container .select2-selection,
input[type=date],
input[type=email],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
input[type=url],
select,
textarea {
box-shadow: none !important;
} .eapf-sidebar {
	--linen: #F3F0EE;
	/* card background (cream) */
	--eapf-page: #ffffff;
	/* gaps between cards */
	--eapf-text: #1c1e1d;
	--eapf-muted: #a29a92;
	/* tick labels / counts */
	--fs-color-primary: #a79d8c;
	/* green + on parent categories */
	--eapf-track: #111;
	/* slider track & handles (black) */
	--eapf-border: #e4ded8;
	--eapf-input-bg: #ffffff;
	--eapf-radius: 4px;	--eapf-font: inherit;
	position: relative;
	font-family: var(--eapf-font);
	color: var(--eapf-text);
	max-width: 340px;
	width: 100%;
	box-sizing: border-box;
}
.eapf-sidebar *,
.eapf-sidebar *::before,
.eapf-sidebar *::after {
	box-sizing: border-box;
} /* ---------- Blocks / cards ---------- */
.eapf-block {
	background: var(--linen);
	border-radius: var(--eapf-radius);
	padding: 15px;
	margin-bottom: 14px;
}
.eapf-price-block {
	background: transparent;
	padding: 22px 8px 6px;
}
/* ============ PRICE SLIDER ============ */
.eapf-price-values {
	display: flex;
	justify-content: space-between;
	font-size: 15px;
	font-weight: 600;
	margin-bottom: 16px;
}
.eapf-price-label {
	position: relative;
}
.eapf-price-label::before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -14px;
	width: 1px;
	height: 8px;
	background: var(--eapf-track);
	transform: translateX(-50%);
}
.eapf-slider {
	position: relative;
	height: 20px;
	margin: 4px 12px 0;
}
.eapf-slider__track {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	height: 3px;
	background: var(--eapf-track);
	transform: translateY(-50%);
	border-radius: 3px;
}
.eapf-slider__range {
	position: absolute;
	top: 50%;
	height: 3px;
	background: var(--eapf-track);
	transform: translateY(-50%);
}
.eapf-slider__handle {
	position: absolute;
	top: 50%;
	width: 18px;
	height: 18px;
	margin-left: -9px;
	background: #fff;
	border: 3px solid var(--eapf-track);
	border-radius: 50%;
	transform: translateY(-50%);
	cursor: grab;
	padding: 0;
	z-index: 2;
	transition: box-shadow .15s ease;
}
.eapf-slider__handle:active {
	cursor: grabbing;
}
.eapf-slider__handle:hover,
.eapf-slider__handle:focus-visible {
	box-shadow: 0 0 0 6px rgba(20, 20, 20, .10);
	outline: none;
}
.eapf-slider__ticks {
	display: flex;
	justify-content: space-between;
	margin: 18px 4px 0;
	font-size: 12px;
	color: var(--eapf-muted);
}
/* ============ SEARCH ============ */
.eapf-search {
	position: relative;
}
.eapf-search__input {
	width: 100%;
	height: 46px;
	padding: 0 16px;
	background: var(--eapf-input-bg);
	border: 1px solid var(--eapf-border);
	border-radius: var(--eapf-radius);
	font-size: 15px;
	color: var(--eapf-text);
}
.eapf-search__input::placeholder {
	color: #b6ada4;
}
.eapf-search__input:focus {
	outline: none;
	border-color: var(--fs-color-primary);
}
.eapf-search__results {
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	right: 0;
	background: #fff;
	border: 1px solid var(--eapf-border);
	border-radius: var(--eapf-radius);
	box-shadow: 0 8px 24px rgba(0, 0, 0, .08);
	z-index: 30;
	max-height: 360px;
	overflow-y: auto;
	display: none;
}
.eapf-search__results.is-open {
	display: block;
}
.eapf-search__result {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 14px;
	text-decoration: none;
	color: var(--eapf-text);
	border-bottom: 1px solid #f2eee9;
}
.eapf-search__result:last-child {
	border-bottom: none;
}
.eapf-search__result:hover {
	background: var(--linen);
}
.eapf-search__result img {
	width: 40px;
	height: 40px;
	object-fit: cover;
	border-radius: 3px;
}
.eapf-search__result-title {
	font-size: 13px;
	line-height: 1.3;
}
.eapf-search__result-price {
	font-size: 12px;
	color: var(--eapf-muted);
}
.eapf-search__empty {
	padding: 14px;
	font-size: 13px;
	color: var(--eapf-muted);
}
/* ============ ACCORDION ============ */
.eapf-accordion__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	background: none;
	border: none;
	padding: 0;
	margin: 0;
	cursor: pointer;
	font-size: 14px;
	font-weight: 600;
	line-height: 28px;
	color: var(--eapf-text);
	text-align: left;
	font-family: inherit;
}
.eapf-accordion__icon {
	position: relative;
	width: 16px;
	height: 16px;
	flex: 0 0 16px;
}
.eapf-accordion__icon::before,
.eapf-accordion__icon::after {
	content: "";
	position: absolute;
	background: var(--eapf-text);
	transition: transform .25s ease, opacity .25s ease;
}
.eapf-accordion__icon::before {
	/* horizontal */
	top: 50%;
	left: 0;
	right: 0;
	height: 2px;
	transform: translateY(-50%);
}
.eapf-accordion__icon::after {
	/* vertical */
	left: 50%;
	top: 0;
	bottom: 0;
	width: 2px;
	transform: translateX(-50%);
}
.eapf-accordion.eapf-open .eapf-accordion__icon::after {
	opacity: 0;
	transform: translateX(-50%) rotate(90deg);
}
.eapf-accordion__body {
	max-height: 0;
	overflow: hidden;
	transition: max-height .3s ease;
}
.eapf-accordion.eapf-open .eapf-accordion__body {
	max-height: 640px;
}
/* Search By Finish — sirf CEO-approved finishes dikhao, baaki hide */
.eapf-accordion[data-attr-taxonomy="pa_finish"] .eapf-attr-item {
	display: none;
}
.eapf-accordion[data-attr-taxonomy="pa_finish"] .eapf-attr-item:has(input[value="black-pvd"]),
.eapf-accordion[data-attr-taxonomy="pa_finish"] .eapf-attr-item:has(input[value="urban-bronze"]),
.eapf-accordion[data-attr-taxonomy="pa_finish"] .eapf-attr-item:has(input[value="gun-metal"]),
.eapf-accordion[data-attr-taxonomy="pa_finish"] .eapf-attr-item:has(input[value="matt-antique-brass"]),
.eapf-accordion[data-attr-taxonomy="pa_finish"] .eapf-attr-item:has(input[value="satin-champagne-gold"]),
.eapf-accordion[data-attr-taxonomy="pa_finish"] .eapf-attr-item:has(input[value="satin-stainless-steel"]),
.eapf-accordion[data-attr-taxonomy="pa_finish"] .eapf-attr-item:has(input[value="satin-brass"]) {
	display: list-item;
}
/* ============ CATEGORY & ATTRIBUTE LISTS ============ */
.eapf-cat-list,
.eapf-attr-list,
.eapf-subcat-list {
	list-style: none;
	margin: 16px 0 0;
	padding: 0;
}
.eapf-cat-list,
.eapf-attr-list {
	max-height: 300px;
	overflow-y: auto;
	padding-right: 6px;
}
/* Custom scrollbar to match the screenshot */
.eapf-cat-list::-webkit-scrollbar,
.eapf-attr-list::-webkit-scrollbar {
	width: 6px;
}
.eapf-cat-list::-webkit-scrollbar-thumb,
.eapf-attr-list::-webkit-scrollbar-thumb {
	background: #cfc7bf;
	border-radius: 3px;
}
.eapf-cat-list::-webkit-scrollbar-track,
.eapf-attr-list::-webkit-scrollbar-track {
	background: #e7e1db;
}
.eapf-cat-item {
	margin-bottom: 0;
	margin-left: 0 !important;
}
.eapf-cat-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.eapf-subcat-list {
	margin: 0px 0 0px 8px !important;
	max-height: 0;
	overflow: hidden;
	transition: max-height .25s ease;
}
.eapf-cat-item.is-open>.eapf-subcat-list {
	max-height: 400px;
}
/* Parent-category expand toggle (green +) */
.eapf-child-toggle {
	background: none;
	border: none;
	color: var(--fs-color-primary);
	font-size: 20px;
	line-height: 20px;
	cursor: pointer;
	padding: 0 4px;
	font-weight: 400;
	flex: 0 0 auto;
	margin: 0 !important;
	min-height: 36px !important;
}
.eapf-cat-item.is-open>.eapf-cat-row .eapf-child-toggle {
	color: var(--eapf-muted);
}
/* ============ CHECKBOXES ============ */
.eapf-check {
	display: flex;
	align-items: center;
	gap: 12px;
	cursor: pointer;
	padding: 7px 0;
	font-size: 14px;
	line-height: 24px;
	flex: 1;
	position: relative;
	/* anchor for the overlaid input */
}
label.eapf-check {
	font-size: 14px;
	font-weight: 600;
	margin-bottom: 0;
}
/* Overlay the real input directly on top of its visible box.
   Keeping it in place (not 0x0 absolute) stops the browser from
   scrolling the page when the input receives focus on click. */
.eapf-check input {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 22px;
	height: 22px;
	margin: 0;
	padding: 0;
	opacity: 0;
	cursor: pointer;
	z-index: 1;
}
.eapf-check__box {
	flex: 0 0 22px;
	width: 22px;
	height: 22px;
	border: 1px solid #cfc7bf;
	border-radius: 0;
	background: #fff;
	position: relative;
	transition: background .15s ease, border-color .15s ease;
}
.eapf-check input:checked+.eapf-check__box {
	background: var(--fs-color-primary);
	border-color: var(--fs-color-primary);
}
.eapf-check input:checked+.eapf-check__box::after {
	content: "";
	position: absolute;
	left: 7px;
	top: 3px;
	width: 5px;
	height: 10px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}
.eapf-check input:focus-visible+.eapf-check__box {
	box-shadow: 0 0 0 3px rgba(46, 191, 158, .25);
}
.eapf-check__label {
	color: var(--eapf-text);
}
.eapf-count {
	color: var(--eapf-muted);
	font-size: 14px;
}
li.eapf-attr-item{
margin-left: 0 !important;
margin-bottom: 0;
}
/* Dynamic facet states */
.eapf-attr-item.eapf-unavailable .eapf-check__label {
	color: var(--eapf-muted);
}
.eapf-attr-empty {
	list-style: none;
	padding: 8px 0;
	font-size: 14px;
	color: var(--eapf-muted);
}
/* ============ RESET & LOADING ============ */
.eapf-reset {
	display: none;
	/* only shown once a filter is active */
	margin-top: 4px;
	background: none;
	border: none;
	color: var(--eapf-muted);
	font-size: 13px;
	text-decoration: underline;
	cursor: pointer;
	padding: 4px 0;
}
.eapf-sidebar.eapf-has-active .eapf-reset {
	display: inline-block;
}
.eapf-reset:hover {
	color: var(--eapf-text);
}
@keyframes eapf-spin {
	to {
		transform: rotate(360deg);
	}
}
/* Non-blocking loading spinner — small, centred, never captures clicks */
.eapf-overlay {
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 100001;
	pointer-events: none;
	/* critical: never blocks interaction */
	opacity: 0;
	visibility: hidden;
	transition: opacity .15s ease, visibility .15s ease;
}
.eapf-overlay.is-active {
	opacity: 1;
	visibility: visible;
}
.eapf-overlay__box {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	background: rgba(255, 255, 255, .96);
	border-radius: 12px;
	box-shadow: 0 6px 24px rgba(0, 0, 0, .14);
}
.eapf-overlay__spinner {
	width: 30px;
	height: 30px;
	border: 3px solid #e7e1db;
	border-top-color: var(--fs-color-primary, #2ebf9e);
	border-radius: 50%;
	animation: eapf-spin .7s linear infinite;
}
/* Gentle fade of the grid while results update */
.eapf-grid-loading {
	opacity: .55;
	transition: opacity .2s ease;
	pointer-events: none;
}
/* ============ SHOP PAGINATION ============ */
.woocommerce nav.woocommerce-pagination,
.eapf-pagination {
	width: 100%;
	margin: 34px 0 10px;
	text-align: center;
	border: 0;
}
.woocommerce nav.woocommerce-pagination ul,
.eapf-pagination ul {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
	border: 0;
}
.woocommerce nav.woocommerce-pagination ul li,
.eapf-pagination ul li {
	display: inline-flex;
	margin: 0;
	border: 0;
	overflow: visible;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span,
.eapf-pagination ul li a,
.eapf-pagination ul li span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 12px;
	margin: 0;
	background: #fff;
	border: 1px solid var(--eapf-border, #e4ded8);
	border-radius: var(--eapf-radius, 4px);
	color: var(--eapf-text, #2b2b2b);
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	transition: background .18s ease, color .18s ease, border-color .18s ease;
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.eapf-pagination ul li a:hover {
	background: var(--linen, #F3F0EE);
	border-color: #cfc7bf;
	color: var(--eapf-text, #2b2b2b);
}
/* Current page */
.woocommerce nav.woocommerce-pagination ul li span.current,
.eapf-pagination ul li span.current {
	background: var(--eapf-track, #141414);
	border-color: var(--eapf-track, #141414);
	color: #fff;
}
/* Prev / next arrows */
.woocommerce nav.woocommerce-pagination ul li a.prev,
.woocommerce nav.woocommerce-pagination ul li a.next,
.eapf-pagination ul li a.prev,
.eapf-pagination ul li a.next {
	font-weight: 400;
	color: var(--eapf-text, #2b2b2b);
}
.woocommerce nav.woocommerce-pagination ul li span.dots,
.eapf-pagination ul li span.dots {
	background: transparent;
	border-color: transparent;
	min-width: 24px;
	padding: 0;
}
@media (max-width: 549px) {
	.woocommerce nav.woocommerce-pagination ul li a,
	.woocommerce nav.woocommerce-pagination ul li span,
	.eapf-pagination ul li a,
	.eapf-pagination ul li span {
		min-width: 40px;
		height: 40px;
		font-size: 14px;
	}
}
/* ============ RESPONSIVE — mobile / tablet drawer ============ */
.eapf-mobile-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	padding: 13px;
	background: var(--eapf-track);
	color: #fff;
	border: none;
	border-radius: var(--eapf-radius);
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	margin-bottom: 16px;
}
.eapf-mobile-toggle__icon {
	font-size: 15px;
	line-height: 1;
}
/* Drawer chrome is desktop-hidden */
.eapf-drawer-head,
.eapf-drawer-apply {
	display: none;
}
@media (max-width: 849px) {
	/* Toggle button visible on tablet & phone — only exists when built (own drawer on) */
	.eapf-mobile-toggle {
		display: flex;
	}
	/* Everything below only applies when the plugin's OWN drawer is enabled.
	   With it off (default), .eapf-sidebar stays plain, static content so it
	   behaves correctly inside the theme's own off-canvas/filter panel. */
	.eapf-sidebar.eapf-own-drawer {
		position: fixed;
		top: 0;
		left: 0;
		bottom: 0;
		width: 90%;
		max-width: 380px;
		margin: 0;
		padding: 0 0 84px;
		/* room for sticky apply button */
		background: #fff;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		z-index: 100000;
		/* above theme header / off-canvas */
		transform: translateX(-100%);
		transition: transform .3s ease;
		box-shadow: 4px 0 30px rgba(0, 0, 0, .18);
	}
	.eapf-sidebar.eapf-own-drawer.is-open-mobile {
		transform: translateX(0);
	}
	/* Sticky header with title + close */
	.eapf-own-drawer .eapf-drawer-head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		position: sticky;
		top: 0;
		z-index: 3;
		padding: 15px 18px;
		background: var(--eapf-track);
		color: #fff;
		font-size: 16px;
		font-weight: 700;
	}
	.eapf-drawer-close {
		background: none;
		border: none;
		color: #fff;
		font-size: 26px;
		line-height: 1;
		cursor: pointer;
		padding: 0 4px;
	}
	/* Inner spacing inside the drawer */
	.eapf-own-drawer .eapf-filter-form {
		padding: 16px;
	}
	.eapf-own-drawer .eapf-block {
		margin-bottom: 12px;
	}
	/* Sticky "View results" button */
	.eapf-own-drawer .eapf-drawer-apply {
		display: block;
		position: fixed;
		bottom: 0;
		left: 0;
		width: 90%;
		max-width: 380px;
		padding: 15px;
		background: var(--fs-color-primary);
		color: #fff;
		border: none;
		font-size: 15px;
		font-weight: 700;
		cursor: pointer;
		z-index: 4;
		box-shadow: 0 -4px 14px rgba(0, 0, 0, .08);
		transform: translateX(-100%);
		transition: transform .3s ease;
	}
	.eapf-sidebar.eapf-own-drawer.is-open-mobile .eapf-drawer-apply {
		transform: translateX(0);
	}
	.eapf-backdrop {
		position: fixed;
		inset: 0;
		background: rgba(0, 0, 0, .45);
		z-index: 99998;
		opacity: 0;
		visibility: hidden;
		transition: opacity .3s ease;
	}
	.eapf-backdrop.is-visible {
		opacity: 1;
		visibility: visible;
	}
	/* Lock the page behind the open drawer */
	body.eapf-drawer-open {
		overflow: hidden;
	}
}
/* Full-width drawer on small phones */
@media (max-width: 480px) {
	.eapf-sidebar.eapf-own-drawer {
		width: 100%;
		max-width: 100%;
	}
	.eapf-own-drawer .eapf-drawer-apply {
		width: 100%;
		max-width: 100%;
	}
}