/* AG Client, Shop filters. Colours come from CSS variables the widgets' style controls set. */
.agc-sf {
	--agc-sf-accent: #2f6b66;
	--agc-sf-accent-hover: #24554f;
	--agc-sf-on-accent: #fff;
	--agc-sf-text: inherit;
	--agc-sf-count: #8a8580;
	--agc-sf-line: #d9d4cc;
	--agc-sf-box: #8a8580;
	--agc-sf-chip: #eef6f5;
	--agc-sf-gap: 7px;
}

/* Tick-box lists */
.agc-sf-items { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--agc-sf-gap); }
.agc-sf-item[hidden] { display: none; }
.agc-sf-list:not(.is-expanded):not(.is-searching) .agc-sf-item.is-more { display: none; }
.agc-sf-item label { display: flex; align-items: flex-start; gap: 9px; margin: 0; cursor: pointer; color: var(--agc-sf-text); font-size: 14.5px; line-height: 1.35; }
.agc-sf.agc-sf-list .agc-sf-item input[type="checkbox"] {
	-webkit-appearance: none; appearance: none; flex: none; display: grid; place-content: center;
	width: 17px; height: 17px; margin: 1px 0 0; padding: 0; border: 1.5px solid var(--agc-sf-box); border-radius: 4px; background: #fff;
	cursor: pointer; transition: background-color .15s, border-color .15s;
}
.agc-sf.agc-sf-list .agc-sf-item input[type="checkbox"]::after { content: ""; width: 9px; height: 5px; margin-top: -2px; border: 2px solid var(--agc-sf-on-accent); border-top: 0; border-right: 0; transform: rotate(-45deg) scale(0); transition: transform .12s; }
.agc-sf.agc-sf-list .agc-sf-item input[type="checkbox"]:checked { background: var(--agc-sf-accent); border-color: var(--agc-sf-accent); }
.agc-sf.agc-sf-list .agc-sf-item input[type="checkbox"]:checked::after { transform: rotate(-45deg) scale(1); }
.agc-sf.agc-sf-list .agc-sf-item input[type="checkbox"]:focus-visible { outline: 2px solid var(--agc-sf-accent); outline-offset: 2px; }
.agc-sf-item label:hover .agc-sf-name, .agc-sf-item input:checked ~ .agc-sf-text .agc-sf-name { color: var(--agc-sf-accent); }
.agc-sf-item input:checked ~ .agc-sf-text .agc-sf-name { font-weight: 600; }
.agc-sf-count { color: var(--agc-sf-count); font-size: .93em; }
.agc-sf.agc-sf-list input.agc-sf-search[type="search"] {
	display: block; width: 100%; min-height: 40px; margin: 0 0 10px; padding: 8px 12px; box-sizing: border-box;
	border: 1px solid var(--agc-sf-line); border-radius: 10px; background: #fff; font: inherit; font-size: 14px;
}
.agc-sf.agc-sf-list input.agc-sf-search[type="search"]:focus { outline: none; border-color: var(--agc-sf-accent); box-shadow: 0 0 0 3px rgba(47, 107, 102, .12); }
.agc-sf.agc-sf-list button.agc-sf-more { margin: 8px 0 0; padding: 4px 0; border: 0; background: none; color: var(--agc-sf-accent); font: inherit; font-size: 13.5px; font-weight: 600; cursor: pointer; }
.agc-sf.agc-sf-list button.agc-sf-more:hover, .agc-sf.agc-sf-list button.agc-sf-more:focus { background: none; color: var(--agc-sf-accent-hover); text-decoration: underline; }

/* Sort dropdown */
.agc-sf.agc-sf-sort select {
	-webkit-appearance: none; appearance: none; width: 100%; min-height: 44px; padding: 8px 40px 8px 16px; box-sizing: border-box;
	border: 1px solid var(--agc-sf-line); border-radius: 999px; color: var(--agc-sf-text);
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%231b1b1b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 16px center;
	font: inherit; font-size: 14px; font-weight: 600; cursor: pointer;
}
.agc-sf.agc-sf-sort select:focus-visible { outline: 2px solid var(--agc-sf-accent); outline-offset: 2px; }

/* Active filters */
.agc-sf-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.agc-sf.agc-sf-chips :is(.agc-sf-chip, .agc-sf-clear) { display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding: 6px 13px; box-sizing: border-box; border-radius: 999px; font-size: 13.5px; font-weight: 600; line-height: 1.2; text-decoration: none; transition: background-color .15s, color .15s; }
.agc-sf.agc-sf-chips .agc-sf-chip { background: var(--agc-sf-chip); color: var(--agc-sf-accent); }
.agc-sf-chip__label { font-weight: 500; opacity: .8; }
.agc-sf-chip__x { font-size: 17px; line-height: 1; }
.agc-sf.agc-sf-chips .agc-sf-chip:hover, .agc-sf.agc-sf-chips .agc-sf-chip:focus-visible { background: var(--agc-sf-accent); color: var(--agc-sf-on-accent); }
.agc-sf.agc-sf-chips .agc-sf-clear { border: 1px solid var(--agc-sf-accent); background: #fff; color: var(--agc-sf-accent); }
.agc-sf.agc-sf-chips .agc-sf-clear:hover, .agc-sf.agc-sf-chips .agc-sf-clear:focus-visible { background: var(--agc-sf-accent); color: var(--agc-sf-on-accent); }

/* Show results */
.agc-sf.agc-sf-apply-wrap button.agc-sf-apply {
	display: block; width: 100%; min-height: 50px; padding: 14px 24px; border: 1px solid var(--agc-sf-accent); border-radius: 999px;
	background: var(--agc-sf-accent); color: var(--agc-sf-on-accent); font: inherit; font-size: 16px; font-weight: 600; cursor: pointer;
	transition: background-color .15s, transform .1s;
}
.agc-sf.agc-sf-apply-wrap button.agc-sf-apply:hover, .agc-sf.agc-sf-apply-wrap button.agc-sf-apply:focus-visible { background: var(--agc-sf-accent-hover); border-color: var(--agc-sf-accent-hover); color: var(--agc-sf-on-accent); }
.agc-sf.agc-sf-apply-wrap button.agc-sf-apply:active { transform: scale(.98); }

/* While the filtered page loads */
html.agc-sf-loading .elementor-loop-container, html.agc-sf-loading .products { opacity: .45; transition: opacity .2s; pointer-events: none; }

/* Editor-only notes */
.agc-sf-note { padding: 10px 12px; border: 1px dashed #c9c4bc; border-radius: 8px; color: #6b6660; font-size: 13px; }

@media (prefers-reduced-motion: reduce) {
	.agc-sf *, .agc-sf-apply { transition: none !important; }
}
