.listingsDirectory__header {
    padding-top: calc(var(--fluid--56) + var(--siteHeader-height));
    padding-bottom: var(--fluid--48);
}

/* Filter */
.listingsDirectory__filter {
    position: absolute;
    width: 100%;
    z-index: 99;
    display: flex;
    justify-content: flex-end;
    background-color: rgba(0 0 0 / 16%);
    -webkit-backdrop-filter: var(--blur--global);
    backdrop-filter: var(--blur--global);
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--duration--medium) var(--timing--ease-in-out);
}

.listingsDirectory__filter.active {
    opacity: 1;
    pointer-events: auto;
}

.listingsDirectory-filter__trigger--close-body {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.listingsDirectory-filter__panel {
    position: relative;
    z-index: 5;
    padding: 0 var(--padding--page) var(--fluid--120) var(--padding--page);
    background-color: var(--color--white);
    height: 100%;
    width: 33.33vw;
    min-width: fit-content;
}

.ld-filter__content {
    position: relative;
    z-index: 0;
    width: 100%;
    height: 100%;
    overflow-y: scroll;
    padding-right: var(--fluid--16);
}

.ld-filter__content::-webkit-scrollbar {
    width: 0.375rem;
}
   
.ld-filter__content::-webkit-scrollbar-track {
    box-shadow: none;
}
   
.ld-filter__content::-webkit-scrollbar-thumb {
    background-color: var(--color--l-grey);
    outline: none;
    border-radius: 1000px;
}

.ld-filter__form {
    width: 100%;
    padding-left: 2px;
    padding-right: 1px;
    padding-top: var(--fluid--48);
    padding-bottom: var(--fluid--32);
}

.ld-filter__form .facetwp-facet {
    margin-bottom: 0;
}

.ld-filter__field {
    margin-bottom: var(--fluid--32);
}

.ld-filter__field .facetwp-checkbox{
    background: none;
    position: relative;
    padding-left: 1.5em;
}

.ld-filter__field .facetwp-checkbox:before{
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 0.875em;
    height: 0.875em;
    border: 3px solid var(--color--white);
    background-color: transparent;
    outline: 1px solid var(--color--l-grey);
}

.ld-filter__field .facetwp-checkbox.checked {
    background: none;
}

.ld-filter__field .facetwp-checkbox.checked:before {
    background-color: var(--color--l-blue);
}

.ld-filter__field .facetwp-counter {
    display: none;
}

.ld-filter__field .facetwp-slider-label {
    font-family: var(--ff--sans);
    font-size: var(--fs--sans-b);
    letter-spacing: var(--ls--s);
}

.ld-filter__field .noUi-target {
    border: 1px solid transparent;
    background: var(--color--xl-grey);
    border-radius: 0;
}

.ld-filter__field .noUi-connects {
    border-radius: 1000px;
}

.ld-filter__field .noUi-connect {
    background: var(--color--l-blue);
}

.ld-filter__field .noUi-handle {
    outline: 1px solid var(--color--l-grey);
    border: 3px solid var(--color--white);
    border-radius: 1000px;
    background: var(--color--blue);
}

.ld-filter__field select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;

    width: 100%;
    background-color: rgba(255 255 255 / 0%);
    -webkit-backdrop-filter: var(--blur--global);
    backdrop-filter: var(--blur--global);
    block-size: auto;
    min-block-size: 46px;
    border-block-end: 1px solid var(--color--l-grey);
    border-block-start: 1px solid var(--color--l-grey);
    border-inline-end: 1px solid var(--color--l-grey);
    border-inline-start: 1px solid var(--color--l-grey);
    border-radius: 0;
    box-shadow: none;
    color: var(--color--grey);
    font-family: var(--ff--sans);
    font-size: var(--fs--sans-b);
    font-style: normal;
    font-weight: 400;
    letter-spacing: var(--ls--s);
    line-height: var(--lh--b);
    transition: all var(--duration--medium) var(--timing--ease-in);
    padding: 0.875rem 1rem 0.75rem 1rem;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22100%25%22%20height%3D%22100%25%22%20viewBox%3D%220%200%208%207%22%3E%0A%20%20%3Cpath%20id%3D%22Polygon_2%22%20data-name%3D%22Polygon%202%22%20d%3D%22M4%2C0%2C8%2C7H0Z%22%20transform%3D%22translate(8%207)%20rotate(180)%22%20fill%3D%22%23727272%22%2F%3E%0A%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-size: 10px;
    background-position: calc(100% - 1rem);
}

.listingsDirectory-filter__hidden-inputs {
    display: none;
}

.ld-filter__form .form-label {
    color: var(--color--grey);
    display: block;
    font-family: var(--ff--serif-capt);
    font-size: var(--fs--serif-s);
    font-style: normal;
    font-weight: 500;
    letter-spacing: 0;
    line-height: var(--lh--b);
    margin-bottom: var(--fluid--8);
}

.radio-toolbar {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    grid-template-rows: minmax(0, 1fr);
    border-right: 1px solid var(--color--l-grey);
}

.radio-button {
    position: relative;
}

.radio-toolbar input[type="radio"] {
    opacity: 0;
    position: absolute;
    width: 100%;
    height: 100%;
    cursor: pointer;
    padding: 0;
    margin: 0;
}

.radio-toolbar label {
    display: block;
    background-color: var(--color--white);
    padding: var(--fluid--16);
    font-family: var(--ff--sans);
    font-size: var(--fs--sans-b);
    letter-spacing: var(--ls--s);
    border: 1px solid var(--color--l-grey);
    border-right: none;
    border-radius: 0;
    width: 100%;
    text-align: center;
}

.radio-button:hover label {
    background-color: var(--color--xl-grey);
}

.radio-toolbar input[type="radio"]:focus + label {
    background-color: var(--color--xl-grey);
}

.radio-toolbar input[type="radio"]:checked + label {
    background-color: var(--color--l-blue);
}

.ld-filter__actions {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 10;
    flex-wrap: nowrap !important;
    padding: var(--fluid--32) var(--padding--page) var(--fluid--48) var(--padding--page);
    width: 100%;
    background-color: var(--color--white);
}

.ld-filter__actions button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;

    background: transparent;
    border: none;
    padding: 0;
    width: 100%;
}

/* Content */
.listingsDirectory__panels {
    position: relative;
    width: 100%;
}

.listingsDirectory__tab-panel {
    position: relative;
    z-index: 5;
    overflow: hidden;
}

#listingsDirectory-view--map {
    position: absolute;
    z-index: 10;
    top: 0;
    left: 0;
    width: 100%;
    height: 90vh;
    max-height: 100vw;
}

.listingsDirectory__sort-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    column-gap: var(--col-gap--base);
    row-gap: var(--fluid--24);
}

.listingsDirectory__list {
    width: 100%;
    max-width: 1024px;
}

.listingsDirectory__item {
    width: 100%;
    display: flex;
    align-items: stretch;
    background-color: var(--color--white);
    border: 1px solid var(--color--xl-grey);
    margin-bottom: var(--fluid--32);
    box-shadow: none;
    transition: box-shadow var(--duration--medium) var(--timing--ease-in-out);
}

.listingsDirectory-item__left {
    width: 50%;
}

.swiper.listingsDirectory-item__slider {
    height: 100%;
    overflow-x: auto;
    overflow-y: hidden;
}

.listingsDirectory-item__slider .swiper-wrapper {
    display: flex;
}

.listingsDirectory-item__slider .swiper-slide {
    flex-shrink: 0;
    position: relative;
    width: 100%;
    padding-top: 66.66666666666667%;
    background-color: var(--color--l-grey);
}

.listingsDirectory-item__slider .swiper-slide img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.listingsDirectory-item__nav .swiper-button-next:after, 
.listingsDirectory-item__nav .swiper-button-prev:after {
    content: '' !important;
}

.listingsDirectory-item__nav .swiper-button-next, 
.listingsDirectory-item__nav .swiper-button-prev {
    width: 1.75rem;
    height: 1.75rem;
    margin-top: 0;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0.5;
    transition: opacity var(--duration--medium) var(--timing--ease-in-out);
}

.listingsDirectory-item__nav .swiper-button-next:hover, 
.listingsDirectory-item__nav .swiper-button-prev:hover {
    opacity: 1;
}

.listingsDirectory-item__nav .swiper-button-next {
    right: var(--fluid--16);
}

.listingsDirectory-item__nav .swiper-button-prev {
    left: var(--fluid--16);
}

.listingsDirectory-item__slider.swiper-horizontal>.swiper-pagination-bullets, 
.listingsDirectory-item__slider .swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: var(--fluid--8);
}

.listingsDirectory-item__slider .swiper-pagination-bullet {
    background: var(--color--white);
    opacity: 0.5;
}

.listingsDirectory-item__slider .swiper-pagination-bullet-active {
    background: var(--color--white);
    opacity: 1;
}

.listingsDirectory-item__nav--fill {
    fill: var(--color--white);
}

.listingsDirectory-item__nav--stroke {
    stroke: var(--color--grey);
}

.listingsDirectory-item__right {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 50%;
    padding: var(--fluid--32) var(--fluid--24) var(--fluid--24);
}

.listingsDirectory__type {
    font-family: var(--ff--sans);
    font-size: var(--fs--sans-xxs);
    font-weight: 500;
    line-height: 1em;
    letter-spacing: var(--ls--m);
    text-transform: uppercase;
}

a.listingsDirectory__title {
    display: block;
    text-decoration: none !important;
}

a.listingsDirectory__title::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    cursor: pointer;
}

.listingsDirectory__price {
    font-family: var(--ff--sans);
    font-size: var(--fs--sans-m);
    line-height: var(--lh--s);
    letter-spacing: var(--ls--s);
}

.listingsDirectory__details,
.listingsDirectory__location {
    font-family: var(--ff--sans);
    font-size: var(--fs--sans-s);
    line-height: var(--lh--body);
    letter-spacing: var(--ls--s);
}

.listingsDirectory__details {
    display: flex;
}

.listingsDirectory-details__item:after{
    content: '/';
    display: inline-block;
    margin: 0 0.5em 0 0;
}

.listingsDirectory-details__item:last-child:after{
    display: none;
}

/* Map View */
.listings-marker {
    background-image: url('/wp-content/themes/alys-beach/assets/images/home-marker.svg');
    background-size: cover;
    width: clamp(18px, 2vw, 24px);
    height: clamp(18px, 2vw, 24px);
    cursor: pointer;
    background-color: transparent;
    transition: max-width var(--duration--medium) var(--timing--ease-in-out), max-height var(--duration--medium) var(--timing--ease-in-out);
}

.listings-marker.active {
    z-index: 999;
    background-image: url('/wp-content/themes/alys-beach/assets/images/home-marker-active.svg');
}

.listings-popup__holder {
    position: absolute;
    bottom: var(--fluid--32);
    left: 0;
    right: 0;
    z-index: 999;
    width: 100%;
    display: flex;
    justify-content: center;
    pointer-events: none;
}

.listings-popup {
    position: relative;
    background-color: var(--color--white);
    border: 1px solid var(--color--xl-grey);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--duration--medium) var(--timing--ease-in-out);
}

.listings-popup.active {
    opacity: 1;
    pointer-events: auto;
}

#listings-popup__content {
    display: flex;
    align-items: stretch;
}

.listings-popup--left {
    width: calc(50vw - var(--padding--page));
    max-width: 600px;
}

.swiper.listings-slider-popup {
    height: 100%;
}

.swiper-slide.lsp__slide {
    position: relative;
    width: 100%;
    padding-top: 66.66666666666667%;
}

.lsp__slide img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.listings-slider-popup .swiper-button-next:after, 
.listings-slider-popup .swiper-button-prev:after {
    content: '' !important;
}

.listings-slider-popup .swiper-button-next, 
.listings-slider-popup .swiper-button-prev {
    width: 1.75rem;
    height: 1.75rem;
    margin-top: 0;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0.5;
    transition: opacity var(--duration--medium) var(--timing--ease-in-out);
}

.listings-slider-popup .swiper-button-next:hover, 
.listings-slider-popup .swiper-button-prev:hover {
    opacity: 1;
}

.listings-slider-popup .swiper-button-next {
    right: var(--fluid--16);
}

.listings-slider-popup .swiper-button-prev {
    left: var(--fluid--16);
}

.listings-slider-popup.swiper-horizontal>.swiper-pagination-bullets, 
.listings-slider-popup .swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: var(--fluid--8);
}

.listings-slider-popup .swiper-pagination-bullet {
    background: var(--color--white);
    opacity: 0.5;
}

.listings-slider-popup .swiper-pagination-bullet-active {
    background: var(--color--white);
    opacity: 1;
}

.listings-popup--right {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: calc(50vw - var(--padding--page));
    max-width: 600px;
    padding: var(--fluid--32) var(--fluid--24) var(--fluid--24);
}

.lpop-type {
    font-family: var(--ff--sans);
    font-size: var(--fs--sans-xxs);
    font-weight: 500;
    line-height: 1em;
    letter-spacing: var(--ls--m);
    text-transform: uppercase;
}

a.lpop-title {
    display: block;
    text-decoration: none !important;
}

a.lpop-title::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    cursor: pointer;
}

.lpop-price {
    font-family: var(--ff--sans);
    font-size: var(--fs--sans-m);
    line-height: var(--lh--s);
    letter-spacing: var(--ls--s);
}

.lpop-details,
.lpop-location {
    font-family: var(--ff--sans);
    font-size: var(--fs--sans-s);
    line-height: var(--lh--body);
    letter-spacing: var(--ls--s);
}

@media (max-width: 767px) {
    .listingsDirectory__header {
        padding-top: calc(var(--fluid--56) + var(--siteHeader-height));
    }

    .listingsDirectory-filter__panel {
        width: 100%;
    }

    #listingsDirectory-view--map {
        height: 100vh;
        max-height: none;
    }

    .listingsDirectory__sort-wrap {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
    }

    .listingsDirectory__item {
        flex-direction: column;
    }

    .listingsDirectory-item__left,
    .listingsDirectory-item__right {
        width: 100%;
    }

    .listingsDirectory-item__nav .swiper-button-next, 
    .listingsDirectory-item__nav .swiper-button-prev {
        width: 1.375rem;
        height: 1.375rem;
    }

    .listingsDirectory-item__slider.swiper-horizontal>.swiper-pagination-bullets, 
    .slistingsDirectory-item__slider .swiper-pagination-bullets.swiper-pagination-horizontal {
        bottom: var(--fluid--8);
    }

    /* Map View */
    .listings-popup {
        width: calc(100% - (var(--padding--page) * 2));
        max-width: 60vh;
    }

    #listings-popup__content {
        flex-direction: column;
    }

    .listings-popup--left {
        width: 100%;
        max-width: none;
    }

    .listings-popup--right {
        width: 100%;
        max-width: none;
    }
}

@media (min-width: 2400px) {
    .listingsDirectory__list {
        max-width: none;
    }

    .listingsDirectory__sort-wrap {
        padding-left: var(--fluid--120);
        padding-right: var(--fluid--120);
        margin-left: auto;
        margin-right: auto;
        max-width: 2800px;
        width: 100%;
    }

    .listingsDirectory__wrap {
        padding-left: var(--fluid--120);
        padding-right: var(--fluid--120);
        display: flex;
        flex-wrap: wrap;
        column-gap: var(--fluid--32);
        max-width: 2800px;
        margin-left: auto;
        margin-right: auto;
    }

    .listingsDirectory__item {
        width: calc(50% - (var(--fluid--32) / 2));
    }
}

/**
FACET WP Filter
*/
.facetwp-type-number_range .facetwp-submit {
    display: none;
}