body {
	--mf-loader-icon: url('icons/loading.svg');
}

.mf-rental-filter {
	display: grid;
	grid-template-columns: minmax(300px, 482px) 1fr;
	gap: 80px;
	min-height: 100vh;

	--mf-filter-sticky-gutter: 108px;
	--mf-filter-reset-icon: url('data:image/svg+xml,<svg fill="none" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg"><g stroke="%23FFC88B" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" clip-path="url(%23clip0_3854_7499)"><path d="M1.21 17.005l-.053-5.743 5.476 1.832M.919 7.93a8.073 8.073 0 11.252 3.336"/></g><defs><clipPath id="clip0_3854_7499"><path fill="%23fff" d="M0 0h18v18H0z"/></clipPath></defs></svg>');
	--mf-filter-reset-icon-hover: url('data:image/svg+xml,<svg fill="none" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg"><g stroke="%23D89A47" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" clip-path="url(%23clip0_3854_7499)"><path d="M1.21 17.005l-.053-5.743 5.476 1.832M.919 7.93a8.073 8.073 0 11.252 3.336"/></g><defs><clipPath id="clip0_3854_7499"><path fill="%23fff" d="M0 0h18v18H0z"/></clipPath></defs></svg>');
	--mf-filter-reset-icon-active: url('data:image/svg+xml,<svg fill="none" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg"><g stroke="%23C38339" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" clip-path="url(%23clip0_3854_7499)"><path d="M1.21 17.005l-.053-5.743 5.476 1.832M.919 7.93a8.073 8.073 0 11.252 3.336"/></g><defs><clipPath id="clip0_3854_7499"><path fill="%23fff" d="M0 0h18v18H0z"/></clipPath></defs></svg>');

	--mf-filter-transition: visibility 0ms ease-in-out 0ms, color 250ms, box-shadow 250ms, background-color 250ms, transform 250ms, opacity 250ms, border-color 250ms;
}


/* Filter Form */
.mf-rental-filter .mf-filter-form-wrapper {
	position: sticky;
	top: var(--mf-filter-sticky-gutter);
	height: calc(100vh - var(--mf-filter-sticky-gutter));
	overflow-y: auto;
	overflow-x: hidden;
	padding: 1px;
}

.mf-rental-filter form,
.mf-rental-filter form .mf-attribute-filters,
.mf-rental-filter form .mf-form-content {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.mf-rental-filter form {
	--mf-form-padding-x: 24px;
	--mf-form-padding-y: 32px;
	padding: var(--mf-form-padding-y) 0;
	border-radius: 16px;
	border: 1px solid var(--mf-border-color);
}

.mf-rental-filter form header {
	display: flex;
	align-items: center;
	gap: 16px;
	justify-content: space-between;
	border-bottom: 1px solid var(--mf-border-color);
	padding: 0 var(--mf-form-padding-x);
	padding-bottom: 24px;
}

.mf-rental-filter form header div {
	font-family: var(--mf-font-decorative);
	font-size: 24px;
	font-weight: 300;
	line-height: 32px;
	letter-spacing: 0.72px;
}

/* Filter Form - Date Error */
.mf-rental-filter form .mf-filter-date-error {
	background-color: rgba(255, 69, 69, 0.1);
	border: 1px solid rgba(255, 69, 69, 1);
	color: rgba(255, 69, 69, 1);
	margin: 0 0 -16px 24px;
	border-radius: 8px;
	width: calc(100% - 48px);
	padding: 8px 16px;
	font-size: 14px;
	font-weight: 400;
	line-height: 22px;
}

/* Filter Form - Reset Button */
.mf-rental-filter form .mf-clear-filter {
	width: auto;
	border-radius: 8px;
	transition: var(--mf-filter-transition);
	position: relative;
	display: inline-flex;
	gap: 8px;
	background-color: transparent !important;
	border: unset !important;
	color: var(--mf-link-color);
	font-family: var(--mf-font-decorative);
	font-size: 17px;
	font-weight: 400;
	line-height: 24px;
	letter-spacing: 2.04px;
	text-transform: uppercase;
	cursor: pointer;
	padding: 0;
	background-image: var(--mf-filter-reset-icon);
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 14px;
	padding-left: calc(16px + 8px);
}

.mf-rental-filter form .mf-clear-filter:hover {
	color: var(--mf-link-color-hover);
	background-image: var(--mf-filter-reset-icon-hover);
}

.mf-rental-filter form .mf-clear-filter:active,
.mf-rental-filter form .mf-clear-filter:focus-visible {
	color: var(--mf-link-color-active);
	background-image: var(--mf-filter-reset-icon-active);
}

/* Filter Form  - General */
.mf-rental-filter form .mf-attribute-checkboxes.mf_fahrzeugtyp div label,
.mf-rental-filter form .mf-attribute-filters .mf-stepper .mf-stepper-label,
.mf-rental-filter form .mf-attribute-checkboxes.mf_ausstattung div label,
.mf-rental-filter form .mf-date-inputs>div>div span,
.mf-rental-filter form .mf-date-inputs>div>div input,
.mf-rental-filter-mobile .mf-rental-fake-date input,
.mf-rental-filter-mobile .mf-rental-fake-date label,
.mf-rental-filter form .mf-attribute-filters .mf-stepper .mf-stepper-controls .mf-stepper-value {
	font-size: 18px;
	font-weight: 400;
	line-height: 28px;
	font-family: var(--mf-font-base);
}

.mf-rental-filter form .mf-attribute-filters,
.mf-rental-filter form .mf-date-inputs {
	padding: 0 var(--mf-form-padding-x);
}

.mf-rental-filter form .mf-attribute-filters legend {
	margin: 0;
	padding: 0;
	font-family: var(--mf-font-decorative);
	font-size: 14px;
	font-weight: 500;
	line-height: 22px;
	letter-spacing: 1.12px;
	margin-bottom: 8px;
	text-transform: uppercase;
}

/* Filter Form  - Dates */
.mf-rental-filter form .mf-date-inputs {
	display: flex;
	gap: 16px;
}

.mf-rental-filter form .mf-date-inputs>div {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.mf-rental-filter form .mf-date-inputs>div label {
	font-size: 14px;
	font-weight: 500;
	line-height: 22px;
	letter-spacing: 1.12px;
	text-transform: uppercase;
	font-family: var(--mf-font-decorative);
	margin: 0;
}

.mf-rental-filter form .mf-date-inputs>div>div,
.mf-rental-filter-mobile .mf-rental-fake-date {
	position: relative;
}

.mf-rental-filter form .mf-date-inputs>div>div span,
.mf-rental-filter-mobile .mf-rental-fake-date label {
	position: absolute;
	top: 50%;
	left: 16px;
	transform: translateY(-50%);
	color: var(--mf-text-secondary);
	transform-origin: left center;
	pointer-events: none;
	transition: var(--mf-filter-transition);
}

.mf-rental-filter form .mf-date-inputs>div>div input,
.mf-rental-filter-mobile .mf-rental-fake-date input {
	width: 100%;
	height: 48px;
	padding: 14px 16px 0;
	border-radius: 8px;
	border: 1px solid var(--mf-border-color);
	background-color: var(--mf-bg-secondary);
	color: var(--mf-text-primary);
	font-weight: 600;
}
.mf-rental-filter-mobile .mf-rental-fake-date input::placeholder,
.mf-rental-filter-mobile .mf-rental-fake-date input::-webkit-input-placeholder {
	color: transparent !important;
	opacity: 0 !important;
}
.mf-rental-filter form .mf-date-inputs>div>div input:hover,
.mf-rental-filter-mobile .mf-rental-fake-date input:hover {
	border-color: var(--mf-border-color-hover);
}
.mf-rental-filter form .mf-date-inputs>div>div input:active,
.mf-rental-filter-mobile .mf-rental-fake-date input:active,
.mf-rental-filter form .mf-date-inputs>div>div input:focus-visible,
.mf-rental-filter-mobile .mf-rental-fake-date input:focus-visible {
	border-color: var(--mf-border-color-hover);
	background-color: var(--mf-bg-tertiary);
}

.mf-rental-filter form .mf-date-inputs>div>div input:focus+span,
.mf-rental-filter form .mf-date-inputs>div>div input:not(:placeholder-shown)+span,
.mf-rental-filter-mobile .mf-rental-fake-date input:not(:placeholder-shown)+label {
	transform: translateY(-24px) scale(0.6);
}

.mf-rental-filter-mobile .mf-rental-fake-date input {
	background-color: var(--mf-bg-secondary) !important;
	color: var(--mf-text-primary) !important;
	border: 1px solid var(--mf-border-color) !important;
}


/* Filter Form  - Steppers */
.mf-rental-filter form .mf-attribute-filters .mf-stepper {
	display: flex;
	align-items: center;
	gap: 16px;
	font-size: 18px;
	font-weight: 400;
	line-height: 28px;
}

.mf-rental-filter form .mf-attribute-filters .mf-stepper:not(:last-child) {
	margin-bottom: 8px;
}

.mf-rental-filter form .mf-attribute-filters .mf-stepper .mf-stepper-controls {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	gap: 8px;
}

.mf-rental-filter form .mf-attribute-filters .mf-stepper .mf-stepper-controls .mf-stepper-value {
	min-width: 58px;
	text-align: center;
	display: inline-block;
	font-size: 16px;
	font-weight: 400;
	line-height: 25px;
}

.mf-rental-filter form .mf-attribute-filters .mf-stepper .mf-stepper-controls button,
.mf-rental-filter .mf-rental-filter-mobile button.mf-button-toggler-filter {
	--mf-stepper-btn-size: 32px;
	width: var(--mf-stepper-btn-size);
	height: var(--mf-stepper-btn-size);
	border-radius: 4px;
	transition: var(--mf-filter-transition);
	position: relative;
	display: grid;
	place-items: center;
	cursor: pointer;
	background-color: var(--mf-bg-tertiary);
	border: 1px solid var(--mf-border-color);
	color: var(--mf-text-primary);
	padding: 0;
	margin: 0;
	opacity: 1;
	stroke: var(--mf-text-primary);
}

.mf-rental-filter form .mf-attribute-filters .mf-stepper .mf-stepper-controls button svg,
.mf-rental-filter .mf-rental-filter-mobile button.mf-button-toggler-filter svg {
	width: 21px;
	height: auto;
}

.mf-rental-filter form .mf-attribute-filters .mf-stepper .mf-stepper-controls button:hover,
.mf-rental-filter .mf-rental-filter-mobile button.mf-button-toggler-filter:hover {
	border-color: var(--mf-border-color-hover);
	background-color: var(--mf-bg-tertiary);
}

.mf-rental-filter form .mf-attribute-filters .mf-stepper .mf-stepper-controls button:active,
.mf-rental-filter form .mf-attribute-filters .mf-stepper .mf-stepper-controls button:focus-visible,
.mf-rental-filter .mf-rental-filter-mobile button.mf-button-toggler-filter:active,
.mf-rental-filter .mf-rental-filter-mobile button.mf-button-toggler-filter:focus-visible {
	border-color: var(--mf-text-primary);
	background-color: var(--mf-bg-secondary);
}

.mf-rental-filter form .mf-attribute-filters .mf-stepper .mf-stepper-controls button:disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

/* Filter Form  - Vehicle Type */
.mf-rental-filter form .mf-attribute-checkboxes.mf_fahrzeugtyp {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	--mf-link-color-active: #7C501F;
}

.mf-rental-filter form .mf-attribute-checkboxes.mf_fahrzeugtyp div {
	position: relative;
}

.mf-rental-filter form .mf-attribute-checkboxes.mf_fahrzeugtyp div label {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column-reverse;
	gap: 4px;
	font-size: 16px;
	font-weight: 600;
	line-height: 25px;
	cursor: pointer;
	border: 1px solid var(--mf-border-color);
	background-color: var(--mf-bg-secondary);
	padding: 16px;
	margin: 0;
	border-radius: 4px;
	transition: var(--mf-filter-transition);
}

.mf-rental-filter form .mf-attribute-checkboxes.mf_fahrzeugtyp div input {
	position: absolute;
	top: 16px;
	left: 24px;
	width: 24px;
	height: 24px;
	cursor: pointer;
	opacity: 0;
}

.mf-rental-filter form .mf-attribute-checkboxes.mf_fahrzeugtyp div label svg {
	width: auto;
	height: 24px;
}

.mf-rental-filter form .mf-attribute-checkboxes.mf_fahrzeugtyp div label:hover,
.mf-rental-filter form .mf-attribute-checkboxes.mf_fahrzeugtyp div input:focus-visible+label,
.mf-rental-filter form .mf-attribute-checkboxes.mf_fahrzeugtyp div label:active,
.mf-rental-filter form .mf-attribute-checkboxes.mf_fahrzeugtyp div input:active+label {
	border-color: var(--mf-border-color-hover);
}

.mf-rental-filter form .mf-attribute-checkboxes.mf_fahrzeugtyp div input:checked+label {
	border-color: var(--mf-link-color-active);
	background-color: var(--mf-link-color-active);
}

/* Filter Form  - Equipment */
.mf-rental-filter form .mf-attribute-checkboxes.mf_ausstattung {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	--mf-link-color-active: #7C501F;
}

.mf-rental-filter form .mf-attribute-checkboxes.mf_ausstattung div {
	position: relative;
}

.mf-rental-filter form .mf-attribute-checkboxes.mf_ausstattung div input {
	position: absolute;
	cursor: pointer;
	opacity: 0;
	left: 0;
	top: 0;
}

.mf-rental-filter form .mf-attribute-checkboxes.mf_ausstattung div label {
	margin: 0;
	position: relative;
	cursor: pointer;
	display: flex;
	flex-direction: row-reverse;
	gap: 8px;
	align-items: center;
	justify-content: flex-end;
	background-color: var(--mf-bg-tertiary);
	border: 1px solid var(--mf-border-color);
	color: var(--mf-text-primary);
	transition: var(--mf-filter-transition);
	border-radius: 4px;
	padding: 8px 12px;
}

.mf-rental-filter form .mf-attribute-checkboxes.mf_ausstattung div label svg {
	height: 18px;
	width: auto;
	flex-shrink: 0;
}

.mf-rental-filter form .mf-attribute-checkboxes.mf_ausstattung div label:hover,
.mf-rental-filter form .mf-attribute-checkboxes.mf_ausstattung div input[type="checkbox"]:focus-visible+label,
.mf-rental-filter form .mf-attribute-checkboxes.mf_ausstattung div label:active {
	border-color: var(--mf-border-color-hover);
}

.mf-rental-filter form .mf-attribute-checkboxes.mf_ausstattung div input[type="checkbox"]:checked+label {
	border-color: var(--mf-link-color-active);
	background-color: var(--mf-link-color-active);
}

.mf-rental-filter .mf-rental-filter-mobile,
.mf-rental-filter .mf-rental-filter-mobile *,
.mf-rental-filter form footer,
.mf-rental-filter form .mf-button-toggler-filter {
	display: none;
	visibility: hidden;
}

/* Results Header */
.mf-rental-filter .mf-results-container>header {
	position: sticky;
	top: calc(var(--mf-filter-sticky-gutter) + 24px);
	z-index: 10;
	min-height: 25px;
	padding-top: 24px;
	padding-bottom: 24px;
	background-color: var(--mf-bg-primary);
	font-size: 16px;
	font-weight: 400;
	line-height: 25px;
	transform: translateY(-24px);
}


/* Results */
.mf-rental-filter .mf-results-container {
	min-width: 0;
}

.mf-rental-filter .mf-results-container .mf-available-products {
	display: grid;
	padding: 1px 1px 0 1px;
	gap: 28px;
	margin-top: -24px;
}

.mf-rental-filter .mf-results-container .mf-available-products article {
	background-color: var(--mf-product-bg);
	display: flex;
	height: auto !important;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 0 0 1px var(--mf-product-border);
	transition: var(--mf-product-transition);
	width: 100%;
	position: relative;
	--mf-product-bg: var(--mf-bg-secondary);
	--mf-product-text: var(--mf-text-primary);
	--mf-product-text-muted: var(--mf-text-secondary);
	--mf-product-link: var(--mf-link-color);
	--mf-product-link-hover: var(--mf-link-color-hover);
	--mf-product-link-active: var(--mf-link-color-active);
	--mf-product-border: var(--mf-border-color);
	--mf-product-border-hover: var(--mf-border-color-hover);
	--mf-product-border-active: var(--mf-link-color-active);
	--mf-product-transition: opacity 250ms ease-in-out, stroke 250ms ease-in-out,
		border 250ms ease-in-out, color 250ms ease-in-out,
		background-color 250ms ease-in-out, box-shadow 250ms ease-in-out,
		transform 250ms ease-in-out;
}

.mf-rental-filter .mf-results-container .mf-available-products article figure {
	margin: 0;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	position: relative;
	max-width: 400px;
	min-height: 320px;
}

.mf-rental-filter .mf-results-container .mf-available-products article.swiper-slide-recommended figure:after,
.mf-rental-filter .mf-results-container .mf-available-products article figure:before {
	border-radius: 0px 0px 0px 8px;
	background: var(--mf-bg-secondary);
	display: flex;
	padding: 8px 16px;
	justify-content: center;
	align-items: center;
	color: var(--mf-text-primary);
	font-family: var(--mf-font-base);
	font-size: 14px;
	font-weight: 700;
	line-height: 22px;
	position: absolute;
	letter-spacing: 1.12px;
	text-transform: uppercase;
	top: 0;
	z-index: 3;
}

.mf-rental-filter .mf-results-container .mf-available-products article.swiper-slide-recommended figure:after {
	content: 'NEU';
	right: 0;
}

.mf-rental-filter .mf-results-container .mf-available-products article figure:before {
	left: 0;
	content: var(--mf-product-category, unset);
	background: var(--mf-link-color-active);
	border-radius: 0px 0px 8px 0px;
}

.mf-rental-filter .mf-results-container .mf-available-products article figure img {
	position: absolute;
	width: 100%;
	height: 100%;
	object-position: center;
	object-fit: cover;
	transition: var(--mf-product-transition);
}

.mf-rental-filter .mf-results-container .mf-available-products article .mf-slide__content {
	padding: 24px;
	display: flex;
	width: 100%;
	flex-grow: 1;
	flex-direction: column;
}

.mf-rental-filter .mf-results-container .mf-available-products article .mf-slide__content header {
	margin-bottom: 24px;
}

.mf-rental-filter .mf-results-container .mf-available-products article .mf-slide__content header a {
	font-size: clamp(24px, 4vw, 34px);
	margin: 0;
	font-weight: 200;
	font-family: var(--mf-font-decorative);
	letter-spacing: 0.68px;
	margin-bottom: 8px;
	color: var(--mf-product-text);
	text-decoration: none;
	display: block;
}
.mf-rental-filter .mf-results-container .mf-available-products article .mf-slide__content header a:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	width: 100%;
	height: 100%;
}

.mf-rental-filter .mf-results-container .mf-available-products article .mf-slide__content header p {
	font-size: 18px;
	margin: 0;
	width: 100%;
}

.mf-rental-filter .mf-results-container .mf-available-products article .mf-slide__content ul {
	display: flex;
	list-style: none;
	padding: 0;
	margin: 0;
	flex-wrap: wrap;
	gap: 8px 24px;
}

.mf-rental-filter .mf-results-container .mf-available-products article .mf-slide__content ul li {
	font-size: 18px;
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.mf-rental-filter .mf-results-container .mf-available-products article .mf-slide__content ul:not(.mf-slide__content-specs) li::before {
	--mf-product-spec-icon-size: 18px;
	--mf-spec-icon-visible: unset;
	--mf-spec-icon: unset;
	content: var(--mf-spec-icon-visible);
	display: flex;
	width: var(--mf-product-spec-icon-size);
	height: var(--mf-product-spec-icon-size);
	flex-shrink: 0;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	background-color: transparent;
	background-image: var(--mf-spec-icon);
}

.mf-rental-filter .mf-results-container .mf-available-products article .mf-slide__content ul.mf-slide__content-specs {
	gap: 2px 8px;
	margin-top: 16px;
}

.mf-rental-filter .mf-results-container .mf-available-products article .mf-slide__content ul.mf-slide__content-specs li,
.mf-rental-filter .mf-results-container .mf-available-products article .mf-slide__content>p {
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 22px;
	color: var(--mf-product-text-muted);
}

.mf-rental-filter .mf-results-container .mf-available-products article .mf-slide__content>p {
	margin-top: 16px;
}

.mf-rental-filter .mf-results-container .mf-available-products article .mf-slide__content ul.mf-slide__content-specs li:not(:last-child)::after {
	content: "•";
}

.mf-rental-filter .mf-results-container .mf-available-products article .mf-slide__content footer {
	display: flex;
	align-items: end;
	justify-content: space-between;
	margin-top: auto;
	padding-top: 48px;
	gap: 16px;
}

.mf-rental-filter .mf-results-container .mf-available-products article .mf-slide__content footer p {
	font-family: var(--mf-font-decorative);
	font-size: 26px;
	font-style: normal;
	font-weight: 300;
	line-height: 34px;
	letter-spacing: 0.78px;
	margin: 0;
}

.mf-rental-filter .mf-results-container .mf-available-products article .mf-slide__content footer div>span {
	color: var(--mf-text-secondary);
	font-size: 18px;
	font-weight: 400;
	line-height: 28px;
}

.mf-rental-filter .mf-results-container .mf-available-products article .mf-slide__content footer div>span>span {
	font-weight: 700;
}

.mf-rental-filter .mf-results-container .mf-available-products article .mf-slide__content footer>a {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--mf-link-color);
	stroke: var(--mf-link-color);
	flex-shrink: 0;
	font-family: var(--mf-font-decorative);
	font-size: 17px;
	font-weight: 400;
	line-height: 24px;
	letter-spacing: 2.04px;
	text-transform: uppercase;
	transition: var(--mf-product-transition);
}

.mf-rental-filter .mf-results-container .mf-available-products article .mf-slide__content footer>a svg {
	width: 16px;
	height: auto;
	flex-shrink: 0;
}

.mf-rental-filter .mf-results-container .mf-available-products article:hover {
	box-shadow: 0 0 0 1px var(--mf-product-border-hover);
}

.mf-rental-filter .mf-results-container .mf-available-products article:hover figure img {
	transform: scale(1.125);
}

.mf-rental-filter .mf-results-container .mf-available-products article:hover .mf-slide__content footer>a {
	color: var(--mf-link-color-hover);
	stroke: var(--mf-link-color-hover);
}

.mf-rental-filter .mf-results-container .mf-available-products article:active {
	box-shadow: 0 0 0 1px var(--mf-product-border-active);
}
.mf-rental-filter .mf-results-container .mf-available-products article .mf-slide__content header a:hover {
	color: var(--mf-link-color-hover);
}
.mf-rental-filter .mf-results-container .mf-available-products article .mf-slide__content header a:active {
	color: var(--mf-link-color-active);
}
.mf-rental-filter .mf-results-container .mf-available-products article:active .mf-slide__content footer>a {
	color: var(--mf-link-color-active);
	stroke: var(--mf-link-color-active);
}


/* Utils */
.mf-rental-filter .mf-filter-form-wrapper form footer .mf-button-toggler-filter,
.mf-no-results button {
	--mf-bt-radius: 8px;
	--mf-bt-transition: opacity 250ms, box-shadow 250ms;
	--mf-bt-bg: var(--mf-bt-primary-bg-gradient);
	--mf-bt-border: var(--mf-bt-primary-border-gradient);
	--mf-bt-border-hover: var(--mf-bt-primary-border-gradient-hover);
	--mf-bt-border-active: var(--mf-bt-primary-border-gradient-active);

	--mf-bt-text: var(--mf-bt-primary-text-gradient);
	--mf-bt-text-hover: var(--mf-bt-primary-text-gradient-hover);
	--mf-bt-text-active: var(--mf-bt-primary-text-gradient-active);
	--mf-bt-icon: url('data:image/svg+xml,<svg fill="none" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path stroke="%23fff" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="1.5" d="M15.003 15l-2.8-2.8m-5.603 0A5.6 5.6 0 106.6 1a5.6 5.6 0 000 11.2z"/></svg>');
	padding: 16px 24px;
	background: var(--mf-bt-bg);
	display: inline-flex;
	position: relative;
	border-radius: var(--mf-bt-radius);
	box-shadow: unset;
	outline: none;
	text-align: center;
	justify-content: center;
	text-decoration: unset !important;
	transition: var(--mf-bt-transition);
	border: unset !important;
	margin: 0;
	width: 100%;
	top: 0 !important;
}

.mf-rental-filter .mf-filter-form-wrapper form footer .mf-button-toggler-filter:before,
.mf-rental-filter .mf-filter-form-wrapper form footer .mf-button-toggler-filter:after,
.mf-no-results button:before,
.mf-no-results button:after {
	content: '';
	position: absolute;
	pointer-events: none;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: var(--mf-bt-radius);
	padding: 2px;
	opacity: 0;
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	transition: var(--mf-bt-transition);
}

.mf-rental-filter .mf-filter-form-wrapper form footer .mf-button-toggler-filter:before,
.mf-no-results button:before {
	background: var(--mf-bt-border-hover);
	z-index: 1;
}

.mf-rental-filter .mf-filter-form-wrapper form footer .mf-button-toggler-filter:after,
.mf-no-results button:after {
	background: var(--mf-bt-border);
	z-index: 2;
	opacity: 1;
}

.mf-rental-filter .mf-filter-form-wrapper form footer .mf-button-toggler-filter>span,
.mf-no-results button>span {
	background: var(--mf-bt-text);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	font-size: 15px;
	font-weight: 400;
	line-height: 22px;
	letter-spacing: 1.8px;
	text-transform: uppercase;
	font-family: var(--mf-font-decorative);
	position: relative;
	z-index: 5;
}

.mf-rental-filter .mf-filter-form-wrapper form footer .mf-button-toggler-filter>span:before,
.mf-no-results button>span:before {
	content: '';
	position: relative;
	width: 16px;
	height: 16px;
	display: inline-block;
	background-image: var(--mf-bt-icon);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	margin-right: 8px;
	vertical-align: middle;
	top: -1px;
}

.mf-rental-filter .mf-filter-form-wrapper form footer .mf-button-toggler-filter:hover:before,
.mf-no-results button:hover:before {
	opacity: 1;
}

.mf-rental-filter .mf-filter-form-wrapper form footer .mf-button-toggler-filter:hover:after,
.mf-rental-filter .mf-filter-form-wrapper form footer .mf-button-toggler-filter:active:after,
.mf-rental-filter .mf-filter-form-wrapper form footer .mf-button-toggler-filter:active:before,
.mf-rental-filter .mf-filter-form-wrapper form footer .mf-button-toggler-filter:focus-visible:after,
.mf-rental-filter .mf-filter-form-wrapper form footer .mf-button-toggler-filter:focus-visible:before,
.mf-no-results button:hover:after,
.mf-no-results button:active:after,
.mf-no-results button:active:before,
.mf-no-results button:focus-visible:after,
.mf-no-results button:focus-visible:before {
	opacity: 0;
}

.mf-rental-filter .mf-filter-form-wrapper form footer .mf-button-toggler-filter:active,
.mf-rental-filter .mf-filter-form-wrapper form footer .mf-button-toggler-filter:focus-visible,
.mf-no-results button:active,
.mf-no-results button:focus-visible {
	box-shadow: var(--mf-bt-border-active);
}

.mf-rental-filter .mf-filter-form-wrapper form footer .mf-button-toggler-filter:hover>span,
.mf-no-results button:hover>span {
	background-image: var(--mf-bt-text-hover);
}

.mf-rental-filter .mf-filter-form-wrapper form footer .mf-button-toggler-filter:active>span,
.mf-rental-filter .mf-filter-form-wrapper form footer .mf-button-toggler-filter:focus-visible>span,
.mf-no-results button:active>span,
.mf-no-results button:focus-visible>span {
	background-image: var(--mf-bt-text-active);
}

.visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border-width: 0 !important;
}

.mf-loader {
	--mf-loader-size: 350px;
	width: 100%;
	height: 100%;
	display: grid;
	place-items: center;
	position: fixed;
	top: 0;
	left: 0;
	background: rgba(24, 24, 24, 0.8);
	z-index: 99999;
	pointer-events: none;
	opacity: 0;
	transition: opacity 1ms ease-in;
}

.mf-loader>span {
	width: var(--mf-loader-size);
	height: 100%;
	background-image: var(--mf-loader-icon);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	display: block;
	font-size: 0;
	text-indent: -9999px;
}

.mf-no-results {
	display: grid;
	grid-template-columns: minmax(200px, 350px) auto;
	background-color: var(--mf-bg-secondary);
	padding: 48px 40px;
	border-radius: 16px;
	gap: 32px;
	border: 1px solid var(--mf-border-color);
	margin-top: -24px;
}
.mf-no-results figure {
	margin: 0;
}
.mf-no-results figure svg {
	width: 100%;
	height: auto;
}
.mf-no-results header {
	font-size: 34px;
	font-weight: 300;
	line-height: 42px;
	font-family: var(--mf-font-decorative);
	letter-spacing: 0.68px;
}

.mf-no-results p {
	margin: 8px 0 48px !important;
	display: block;
}

.mf-no-results button {
	width: auto;
	display: inline-flex !important;
}

.mf-no-results button > span {
	font-size: 17px;
	line-height: 24px;
	letter-spacing: 2.04px;
}
.mf-no-results button > span::before {
	--mf-bt-icon: url('data:image/svg+xml,<svg fill="none" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><g stroke="%23E6E6E6" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" clip-path="url(%23clip0_5936_11492)"><path d="M1.078 15.115L1.03 10.01l4.867 1.629M.82 7.048a7.176 7.176 0 11.224 2.966"/></g></svg>');
}

.mf-no-results[style="display: none;"],
.mf-no-results[style="display: none;"] * {
	display: none !important;
	visibility: hidden !important;
}

.mf-loader.is-active {
	opacity: 1 !important;
	pointer-events: unset !important;
}


@media (max-width: 1560px) {
	.mf-rental-filter {
		--mf-filter-sticky-gutter: 74px;
		gap: 40px;
		grid-template-columns: minmax(200px, 352px) 1fr;
	}
}

@media (max-width: 1400px) {

	/* Results */
	.mf-rental-filter .mf-results-container .mf-available-products article {
		flex-direction: column;
	}

	.mf-rental-filter .mf-results-container .mf-available-products article figure {
		max-width: 100%;
		height: auto;
		aspect-ratio: 16 / 8;
		min-height: 0;
	}
	.mf-rental-filter .mf-results-container .mf-available-products article .mf-slide__content footer {
		flex-wrap: wrap;
	}
	.mf-rental-filter .mf-results-container .mf-available-products article .mf-slide__content footer>span {
		flex-shrink: 0;
		margin-left: auto;
	}

	.mf-no-results {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		text-align: center;
		gap: 24px;
	}
	.mf-no-results figure {
		width: 100%;
		max-width: 350px;
	}
}

@media (max-width: 1024px) {

	/* Filter Form */
	.mf-rental-filter {
		grid-template-columns: 1fr;
		gap: 16px;
		min-height: 0;
	}

	.mf-rental-filter form header .mf-clear-filter {
		display: none;
		visibility: hidden;
	}

	.mf-rental-filter .mf-rental-filter-mobile,
	.mf-rental-filter .mf-rental-filter-mobile *,
	.mf-rental-filter form footer,
	.mf-rental-filter form .mf-button-toggler-filter {
		display: inline-flex;
		visibility: visible;
	}

	.mf-rental-filter .mf-filter-form-wrapper {
		position: fixed;
		background-color: var(--mf-bg-primary);
		bottom: 0;
		z-index: 991;
		left: 0;
		width: 100%;
		min-height: 0;
		height: calc(100vh - (var(--mf-filter-sticky-gutter) + 120px));
		padding: 0;
		top: unset;
		overflow: unset;
		border-radius: 16px 16px 0 0;
		transform: translateY(100%);
		opacity: 0;
		visibility: hidden;
		border: 1px solid var(--mf-border-color);
		transition: var(--mf-filter-transition);
	}

	.mf-rental-filter .mf-filter-form-wrapper form {
		overflow: hidden;
		max-height: 100%;
		height: 100%;
		display: flex;
		flex-direction: column;
		width: 100%;
		padding: 0;
		background-color: transparent;
		border: none;
		gap: 0;
	}

	.mf-rental-filter .mf-filter-form-wrapper form header {
		flex-shrink: 0;
		align-items: center;
		padding: 24px var(--mf-form-padding-x) 16px;
	}

	.mf-rental-filter .mf-filter-form-wrapper form .mf-form-content {
		overflow-y: auto;
		flex: 1 1 auto;
		padding: 32px 0;
	}

	.mf-rental-filter .mf-filter-form-wrapper form footer {
		display: flex;
		flex-direction: column;
		border-top: 1px solid var(--mf-border-color);
		padding: 16px var(--mf-form-padding-x) 24px;
		gap: 16px;
		align-items: center;
		justify-content: center;
	}

	.mf-rental-filter .mf-filter-form-wrapper form footer .mf-clear-filter {
		font-size: 15px;
		line-height: 22px;
		letter-spacing: 1.8px;
		text-transform: uppercase;
	}

	/** Mobile Header */
	.mf-rental-filter .mf-rental-filter-mobile {
		gap: 12px;
	}

	.mf-rental-filter .mf-rental-filter-mobile button.mf-button-toggler-filter {
		width: 56px;
		height: 56px;
		flex-shrink: 0;
		background-color: var(--mf-bg-secondary);
		border-radius: 8px;
	}

	.mf-rental-filter .mf-rental-filter-mobile button.mf-button-toggler-filter svg {
		width: 24px;
		height: auto;
	}

	.mf-rental-filter .mf-rental-filter-mobile button.mf-button-toggler-filter:hover {
		background-color: var(--mf-bg-secondary);
		border-color: var(--mf-border-color-hover);
	}

	.mf-rental-filter .mf-rental-filter-mobile button.mf-button-toggler-filter:active,
	.mf-rental-filter .mf-rental-filter-mobile button.mf-button-toggler-filter:focus-visible {
		background-color: var(--mf-bg-primary);
		border-color: var(--mf-text-primary);
	}


	.mf-rental-filter .mf-rental-filter-mobile {
		border-bottom: 1px solid var(--mf-border-color);
		background-color: var(--mf-bg-primary);
		padding: 16px 48px;
		transform: translateY(-16px);
		top: calc(74px + 16px);
		position: sticky;
		z-index: 20;
		margin: 0 -48px;
	}

	.mf-rental-filter .mf-rental-filter-mobile .mf-rental-fake-date {
		width: 100%;
	}

	.mf-rental-filter .mf-rental-filter-mobile input.mf-button-toggler-filter {
		background-color: var(--mf-bg-secondary);
		min-height: 56px;
		border-radius: 8px;
		max-height: 56px;
		width: 100%;
	}

	.mf-rental-filter .mf-filter-form-wrapper form header .mf-button-toggler-filter {
		appearance: none;
		color: var(--mf-text-primary);
		background-color: transparent !important;
		border: none !important;
	}



	/* Utils */
	.mf-loader {
		--mf-loader-size: 250px;
	}


	/** Is active Filter */
	.mf-rental-filter .mf-filter-form-wrapper.is-active {
		transform: translateY(0);
		opacity: 1;
		visibility: visible;
		transition-delay: 0s;
	}

	body.is-filter-active {
		overflow: hidden;
	}

	body:not(.is-filter-active) .mf-rental-filter .mf-filter-form-wrapper form footer .mf-button-toggler-filter,
	body:not(.is-filter-active) .mf-rental-filter .mf-filter-form-wrapper form header .mf-button-toggler-filter {
		visibility: hidden !important;
	}

	body.is-filter-active .datepicker {
		width: calc(100% - 350px);
	}

	body.is-filter-active::before {
		content: '';
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(24, 24, 24, 0.8);
		z-index: 990;
	}


	/** Reults Header */
	.mf-rental-filter .mf-results-container>header {
		top: 0;
		position: relative;
		transform: translateY(0);
		padding: 0;
		background-color: transparent;
		z-index: 1;
	}

	/* Results */
	.mf-rental-filter .mf-results-container .mf-available-products {
		padding: 0;
		margin-top: 12px;
		gap: 16px;
	}

	.mf-no-results {
		margin-top: 12px;
		padding: 32px 24px;
	}

	.mf-no-results header {
		font-size: 24px;
		line-height: 32px;
		letter-spacing: 0.72px;
	}

	.mf-no-results p {
		margin: 8px 0 32px !important;
	}

	.mf-no-results button {
		font-size: 15px;
		line-height: 22px;
		letter-spacing: 1.8px;
	}
}

@media (max-width: 768px) {

	/** Is active Filter */
	body.is-filter-active .datepicker {
		width: calc(100% - 180px);
	}

	.mf-rental-filter .mf-rental-filter-mobile {
		padding: 16px 20px;
		margin: 0 -12px;
	}
}


@media (max-width: 480px) {

	/* Filter Form */
	.mf-rental-filter .mf-filter-form-wrapper {
		height: calc(100vh - (var(--mf-filter-sticky-gutter) + 16px));
	}

	/** Is active Filter */
	body.is-filter-active .datepicker {
		width: calc(100% - 80px);
		padding: 16px;
	}
}