@keyframes l3 {
    to {
        transform: rotate(1turn);
    }
}

.dealer-list-page {
    padding-bottom: 3.125rem;
}

.dealer-list-page .search-box {
        padding-block: 1rem 1.625rem;
        padding-inline: 1.875rem;
        background-color: var(--color-primary);
        border-radius: 0.5rem;
    }

.dealer-list-page .search-box .title {
            color: #fff;
            font-size: 1.25rem;
            line-height: 1.875rem;
            font-weight: 400;
        }

.dealer-list-page .search-box .search-container {
            position: relative;
            margin-top: 0.75rem;
        }

.dealer-list-page .search-box .search-container .place-autocomplete-input {
                padding-inline: 1.25rem 2.5rem;
                padding-block: 0.625rem 0.875rem;
                font-size: 1rem;
                line-height: 1.375rem;
                font-family: inherit;
                width: 100%;
                border-radius: 0.3125rem;
                border: none;
                outline-color: var(--color-primary);
            }

.dealer-list-page .search-box .search-container .icon-search {
                position: absolute;
                top: 50%;
                right: 0.9375rem;
                color: #000;
                transform: translateY(-50%);
                line-height: 1;
            }

.dealer-list-page .search-box .current-location-container {
            margin-top: 0.75rem;
            display: flex;
            align-items: center;
            gap: 0.5rem;
            cursor: pointer;
        }

.dealer-list-page .search-box .current-location-container:hover .current-location-label {
                text-decoration: underline;
            }

.dealer-list-page .search-box .current-location-container .icon {
                color: white;
                line-height: 1;
                width: 1.125rem;
                height: 1.125rem;
            }

.dealer-list-page .search-box .current-location-container .current-location-label {
                color: white;
                font-size: 0.9375rem;
                line-height: 1.25rem;
                transform: translateY(-8%);
                letter-spacing: 0.009375rem;
            }

.dealer-list-page .search-box .department-container {
            padding-top: 1.25rem;
        }

.dealer-list-page .search-box .department-container .select-department-wrapper {
                position: relative;
            }

.dealer-list-page .search-box .department-container .select-department-wrapper .trigger {
                    display: flex;
                    justify-content: space-between;
                    align-items: center;
                    -webkit-user-select: none;
                    -moz-user-select: none;
                    user-select: none;
                    cursor: pointer;
                    gap: 0.25rem;
                    width: 100%;
                    color: white;
                    padding-inline: 1.25rem;
                    padding-block: 0.625rem 0.875rem;
                    border: 0.09375rem solid #5b6679;
                    border-radius: 0.3125rem;
                }

.dealer-list-page .search-box .department-container .select-department-wrapper .trigger .label {
                        font-size: 1rem;
                        line-height: 1.5rem;
                        font-weight: 400;
                    }

.dealer-list-page .search-box .department-container .select-department-wrapper .trigger .chevron {
                        transform: rotate(90deg) translateX(28%);
                    }

.dealer-list-page .search-box .department-container .select-department-wrapper .trigger .chevron.rotate-180 {
                            transform: rotate(270deg) translateX(-28%);
                        }

.dealer-list-page .search-box .department-container .select-department-wrapper .options {
                    position: absolute;
                    top: 3.375rem;
                    left: 0;
                    right: 0;
                    z-index: 10;
                    margin: 0;
                    padding: 0.625rem;
                    list-style: none;
                    background: #fff;
                    border-radius: 0.3125rem;
                    overflow: hidden;
                    box-shadow: 0 0.0625rem 0.1875rem #0000003b;
                }

.dealer-list-page .search-box .department-container .select-department-wrapper .options .option {
                        font-size: 1rem;
                        line-height: 2;
                        font-weight: 400;
                        text-decoration: none;
                        color: #000;
                        cursor: pointer;
                        padding-inline: 0.625rem;
                        border-radius: 0.3125rem;
                    }

.dealer-list-page .search-box .department-container .select-department-wrapper .options .option:hover {
                            background-color: var(--color-primary);
                            color: #fff;
                        }

.dealer-list-page .toggler-container {
        display: flex;
        padding-block: 1.375rem;
        padding-inline: 0.625rem;
    }

.dealer-list-page .toggler-container .component-toggler.dealer-locator {
                background-color: #f2f2f2;
                padding: 0.25rem;
            }

.dealer-list-page .list-container {
        display: none;
        padding-inline: 0.625rem;
    }

.dealer-list-page .list-container.active {
            display: block;
        }

.dealer-list-page .list-container .counter {
            padding-block: 0.875rem 0.625rem;
            font-size: 0.9375rem;
            line-height: 1.375rem;
            color: #343d4c;
        }

.dealer-list-page .list-container .counter .dealer-count-label {
                display: none;
            }

.dealer-list-page .list-container .counter .dealer-count-label.active {
                    display: inline;
                }

.dealer-list-page .map-container {
        position: relative;
        display: none;
        height: 25rem;
        background-color: #e8e8e8;
        border-radius: 0.5rem;
        overflow: hidden;
    }

.dealer-list-page .map-container.active {
            display: block;
        }

.dealer-list-page .map-container.loading .loading-overlay {
                display: flex;
            }

.dealer-list-page .map-container .loading-overlay {
            position: absolute;
            inset: 0;
            background: #00000054;
            z-index: 1;
            display: none;
            justify-content: center;
            align-items: center;
        }

.dealer-list-page .map-container .loading-overlay .loader {
                width: 3.125rem;
                padding: 0.5rem;
                aspect-ratio: 1;
                border-radius: 50%;
                background: var(--color-primary);
                --_m: conic-gradient(#0000 10%, #000), linear-gradient(#000 0 0) content-box;
                -webkit-mask: var(--_m);
                mask: var(--_m);
                -webkit-mask-composite: source-out;
                mask-composite: subtract;
                animation: l3 1s infinite linear;
            }

.dealer-list-page .map-container .dealer-locator-map {
            width: 100%;
            height: 100%;
        }

.dealer-list-page .hidden {
        display: none;
    }

@media screen and (min-width: 48rem) {
        .dealer-list-page .page-container {
            display: flex;
            gap: 0.625rem;
        }

            .dealer-list-page .page-container .sidebar {
                flex-basis: 19.625rem;
                flex-shrink: 0;
            }

                .dealer-list-page .page-container .sidebar .search-box {
                    padding-inline: 1.25rem;
                }
                .dealer-list-page .page-container .sidebar .toggler-container {
                    display: none;
                }
                .dealer-list-page .page-container .sidebar .list-container {
                    position: relative;
                    display: block;
                }

                    .dealer-list-page .page-container .sidebar .list-container::after {
                        content: "";
                        position: absolute;
                        bottom: calc(-1 * 0.625rem);
                        height: 4.375rem;
                        background: linear-gradient(to bottom, transparent, white);
                        left: 0;
                        right: 1.5rem;
                    }
            .dealer-list-page .page-container .map-container {
                flex-basis: 100%;
                height: 37.5rem;
                display: block;
            }
}

@media screen and (min-width: 64rem) {
        .dealer-list-page .page-container {
            gap: 1rem;
        }
}

@media screen and (min-width: 96rem) {
            .dealer-list-page .page-container .map-container {
                height: 46.875rem;
            }
}
