/* AR Product Filter — defaults match the design; everything is adjustable in Elementor. */

.ar-pf,
.ar-pf *,
.ar-pf *::before,
.ar-pf *::after {
	box-sizing: border-box;
}

.ar-pf {
	--ar-pf-navy: #0a2540;
	--ar-pf-text: #3b4450;
	--ar-pf-muted: #8a949e;
	--ar-pf-line: #d3d9df;
	--ar-pf-box: 15px;
	--ar-pf-tick: #fff;
	width: 100%;
}

.ar-pf-notice {
	padding: 14px;
	border: 1px dashed #c3c4c7;
	font-size: 13px;
}

/* Panel */
.ar-pf .ar-pf-panel {
	margin: 0;
	padding: 18px 18px 20px;
	background: #e9edf1;
	border: 1px solid #dde3e8;
	border-radius: 8px;
}

.ar-pf .ar-pf-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 14px;
}

.ar-pf .ar-pf-title {
	color: var(--ar-pf-muted);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: .08em;
	line-height: 1.2;
	text-transform: uppercase;
}

.ar-pf .ar-pf-clear {
	-webkit-appearance: none;
	appearance: none;
	margin: 0 0 0 auto;
	padding: 0;
	background: none;
	border: 0;
	color: var(--ar-pf-navy);
	font-family: inherit;
	font-size: 11px;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: underline;
	text-underline-offset: 2px;
	cursor: pointer;
}

.ar-pf .ar-pf-clear:hover {
	background: none;
	color: #e94335;
}

.ar-pf .ar-pf-clear[hidden] {
	display: none;
}

/* Groups */
.ar-pf .ar-pf-group + .ar-pf-group {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid var(--ar-pf-line);
}

.ar-pf .ar-pf-group-head {
	-webkit-appearance: none;
	appearance: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	width: 100%;
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	color: inherit;
	font-family: inherit;
	text-align: left;
	cursor: default;
	pointer-events: none;
}

.ar-pf .ar-pf-group-head:hover,
.ar-pf .ar-pf-group-head:focus {
	background: none;
	color: inherit;
}

.ar-pf .ar-pf-group-title {
	color: var(--ar-pf-navy);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
}

.ar-pf .ar-pf-chevron {
	display: none;
	flex: none;
	width: 12px;
	height: 12px;
	color: var(--ar-pf-navy);
	transition: transform .2s ease;
}

.ar-pf .ar-pf-group.is-open .ar-pf-chevron {
	transform: rotate(180deg);
}

.ar-pf .ar-pf-options {
	padding-top: 10px;
}

/* Desktop: collapsible groups (all, or ones set to start collapsed) */
.ar-pf--desktop-collapsible .ar-pf-group-head,
.ar-pf .ar-pf-group.is-collapsible .ar-pf-group-head {
	cursor: pointer;
	pointer-events: auto;
}

.ar-pf--desktop-collapsible .ar-pf-chevron,
.ar-pf .ar-pf-group.is-collapsible .ar-pf-chevron {
	display: block;
}

.ar-pf .ar-pf-group:not(.is-open) .ar-pf-options {
	display: none;
}

/* Option list */
.ar-pf .ar-pf-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ar-pf .ar-pf-list--buttons {
	flex-direction: row;
	flex-wrap: wrap;
	gap: 6px;
}

.ar-pf .ar-pf-option {
	position: relative;
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 0;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.ar-pf .ar-pf-option.is-extra {
	display: none;
}

.ar-pf .ar-pf-options.is-expanded .ar-pf-option.is-extra {
	display: flex;
}

.ar-pf .ar-pf-option input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	margin: 0;
	pointer-events: none;
}

.ar-pf .ar-pf-option-text {
	color: var(--ar-pf-text);
	font-size: 12.5px;
	line-height: 1.35;
	transition: color .15s ease;
}

.ar-pf .ar-pf-option:hover .ar-pf-option-text {
	color: var(--ar-pf-navy);
}

.ar-pf .ar-pf-option input:checked ~ .ar-pf-option-text {
	color: var(--ar-pf-navy);
	font-weight: 500;
}

.ar-pf .ar-pf-count {
	color: var(--ar-pf-muted);
	font-weight: 400;
}

/* Checkbox & radio */
.ar-pf .ar-pf-box {
	position: relative;
	flex: none;
	width: var(--ar-pf-box);
	height: var(--ar-pf-box);
	background: #fff;
	border: 1px solid var(--ar-pf-line);
	border-radius: 3px;
	transition: background-color .15s ease, border-color .15s ease;
}

.ar-pf .ar-pf-option--radio .ar-pf-box {
	border-radius: 50%;
}

.ar-pf .ar-pf-option:hover .ar-pf-box {
	border-color: #aab3bc;
}

.ar-pf .ar-pf-option input:checked + .ar-pf-box {
	background: var(--ar-pf-navy);
	border-color: var(--ar-pf-navy);
}

.ar-pf .ar-pf-option--checkbox input:checked + .ar-pf-box::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 45%;
	width: 30%;
	height: 55%;
	border: solid var(--ar-pf-tick);
	border-width: 0 1.6px 1.6px 0;
	transform: translate(-50%, -50%) rotate(45deg);
}

.ar-pf .ar-pf-option--radio input:checked + .ar-pf-box::after {
	content: "";
	position: absolute;
	inset: 28%;
	border-radius: 50%;
	background: var(--ar-pf-tick);
}

.ar-pf .ar-pf-option input:focus-visible + .ar-pf-box,
.ar-pf .ar-pf-option--buttons input:focus-visible ~ .ar-pf-option-text {
	outline: 2px solid var(--ar-pf-navy);
	outline-offset: 2px;
}

/* Buttons display */
.ar-pf .ar-pf-option--buttons .ar-pf-option-text {
	display: inline-block;
	padding: 6px 12px;
	background: #fff;
	border: 1px solid var(--ar-pf-line);
	border-radius: 50px;
	font-weight: 500;
}

.ar-pf .ar-pf-option--buttons input:checked ~ .ar-pf-option-text {
	background: var(--ar-pf-navy);
	border-color: var(--ar-pf-navy);
	color: #fff;
}

.ar-pf .ar-pf-option--buttons input:checked ~ .ar-pf-option-text .ar-pf-count {
	color: inherit;
	opacity: .75;
}

/* Show more */
.ar-pf .ar-pf-more {
	-webkit-appearance: none;
	appearance: none;
	margin: 10px 0 0;
	padding: 0;
	background: none;
	border: 0;
	color: var(--ar-pf-navy);
	font-family: inherit;
	font-size: 12px;
	font-weight: 500;
	text-decoration: underline;
	text-underline-offset: 2px;
	cursor: pointer;
}

.ar-pf .ar-pf-more:hover {
	background: none;
	color: #e94335;
}

/* Apply button */
.ar-pf .ar-pf-apply {
	-webkit-appearance: none;
	appearance: none;
	display: block;
	width: 100%;
	margin: 18px 0 0;
	padding: 11px 16px;
	background: var(--ar-pf-navy);
	border: 0;
	border-radius: 50px;
	color: #fff;
	font-family: inherit;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	transition: background-color .15s ease;
}

.ar-pf .ar-pf-apply:hover {
	background: #e94335;
	color: #fff;
}

/* Mobile toggle (hidden on desktop) */
.ar-pf .ar-pf-toggle {
	display: none;
}

/* Results while loading */
.ar-pf-is-loading {
	opacity: .45;
	pointer-events: none;
	transition: opacity .15s ease;
}

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
	.ar-pf--mobile-collapse .ar-pf-toggle {
		-webkit-appearance: none;
		appearance: none;
		display: flex;
		align-items: center;
		gap: 10px;
		width: 100%;
		margin: 0;
		padding: 12px 16px;
		background: #e9edf1;
		border: 1px solid #dde3e8;
		border-radius: 8px;
		color: var(--ar-pf-navy);
		font-family: inherit;
		font-size: 14px;
		font-weight: 600;
		line-height: 1.2;
		cursor: pointer;
	}

	.ar-pf--mobile-collapse .ar-pf-toggle:hover,
	.ar-pf--mobile-collapse .ar-pf-toggle:focus {
		background: #e9edf1;
		color: var(--ar-pf-navy);
	}

	.ar-pf--mobile-collapse .ar-pf-toggle > svg:first-child {
		width: 16px;
		height: 16px;
	}

	.ar-pf--mobile-collapse .ar-pf-toggle .ar-pf-chevron {
		display: block;
		margin-left: auto;
	}

	.ar-pf--mobile-collapse.is-panel-open .ar-pf-toggle .ar-pf-chevron {
		transform: rotate(180deg);
	}

	.ar-pf .ar-pf-badge {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 20px;
		height: 20px;
		padding: 0 6px;
		background: var(--ar-pf-navy);
		border-radius: 10px;
		color: #fff;
		font-size: 11px;
		font-weight: 600;
	}

	.ar-pf .ar-pf-badge[hidden] {
		display: none;
	}

	.ar-pf--mobile-collapse:not(.is-panel-open) .ar-pf-panel {
		display: none;
	}

	.ar-pf--mobile-collapse.is-panel-open .ar-pf-panel {
		margin-top: 8px;
		animation: arPfIn .18s ease-out;
	}

	/* Accordion groups: closed unless they have a selection or were opened */
	.ar-pf--mobile-accordion .ar-pf-group-head {
		min-height: 40px;
		cursor: pointer;
		pointer-events: auto;
	}

	.ar-pf--mobile-accordion .ar-pf-chevron {
		display: block;
	}

	.ar-pf--mobile-accordion .ar-pf-group + .ar-pf-group {
		margin-top: 4px;
		padding-top: 4px;
	}

	.ar-pf--mobile-accordion .ar-pf-group .ar-pf-options {
		display: none;
		padding: 4px 0 10px;
	}

	.ar-pf--mobile-accordion .ar-pf-group.is-mobile-open .ar-pf-options {
		display: block;
	}

	.ar-pf--mobile-accordion .ar-pf-group.is-open .ar-pf-chevron {
		transform: none;
	}

	.ar-pf--mobile-accordion .ar-pf-group.is-mobile-open .ar-pf-chevron {
		transform: rotate(180deg);
	}

	/* Bigger tap targets */
	.ar-pf .ar-pf-list--checkbox,
	.ar-pf .ar-pf-list--radio {
		gap: 4px;
	}

	.ar-pf .ar-pf-list--checkbox .ar-pf-option,
	.ar-pf .ar-pf-list--radio .ar-pf-option {
		min-height: 34px;
	}

	.ar-pf .ar-pf-option-text {
		font-size: 14px;
	}

	.ar-pf {
		--ar-pf-box: 18px;
	}
}

@keyframes arPfIn {
	from { opacity: 0; transform: translateY(-4px); }
	to   { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	.ar-pf *,
	.ar-pf-is-loading {
		transition: none !important;
		animation: none !important;
	}
}
