/* =========================================================
   Locator Variables (scoped)
   ========================================================= */

.adh-locator {
    --adh-radius: 25px;
    --adh-shadow: 3px 3px 9px rgba(0 0 0 / 25%);
    --adh-shadow-inset: inset 3px 3px 9px rgba(0 0 0 / 25%);

    --adh-panel-bg: #f3f3f3;
    --adh-card-bg: #fff;

    --adh-gap: 12px;
    --adh-section-padding: 3%;
    --adh-search-padding: 5%;

    --adh-border-color: #069ED6;
	--adh-btn-prev-color: #777;
	--adh-btn-hover-bg: #0F4A80;

    display: flex;
    flex-direction: column;
    margin: 5% auto;
}



.adh-locator > div:nth-of-type(-n + 2) {
    margin-bottom: 1rem;
}

.adh-locator .adh-locator__results {
    margin-top: 1rem;
}

@media(768px <= width) {
	.adh-locator > div:not(:nth-of-type(-n + 2)) {
		margin-bottom: 0;
	}
}



/* =========================================================
   Shared panels
   ========================================================= */

.adh-locator .adh-locator__search,
.adh-locator .adh-locator__map,
.adh-locator .adh-locator__results {
    width: 100%;
    border-radius: var(--adh-radius);
    box-shadow: var(--adh-shadow);
	overflow: hidden;
}

/* =========================================================
   Search
   ========================================================= */

.adh-locator .adh-locator__search {
    align-items: stretch;
	background: var(--adh-panel-bg);
	display: flex;
	justify-content: center;
    padding: var(--adh-search-padding);
}

.adh-locator .adh-map-search-controls {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.adh-locator .adh-locator__search .adh-control:not(:last-of-type) {
    margin-bottom: 0.875rem;
}

.adh-locator .adh-locator__search input,
.adh-locator .adh-locator__search select,
.adh-pagination select {
    background: var(--adh-card-bg);
    box-shadow: var(--adh-shadow-inset);
}

.adh-locator .adh-search-btn {
	border-radius: var(--adh-radius);
	display: block;
	margin: 0 auto;
	max-width: 200px;
    width: 100%;
}

/* =========================================================
   Map
   ========================================================= */

.adh-locator .adh-locator__map {
    overflow: hidden;
}

.adh-services-map {
	height: 100%;
	min-height: 300px;
}

.adh-services-map button {
    min-width: unset;
}

/* Info window */

.adh-info-window {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.adh-info-window div {
    margin-bottom: 0.75rem;
	text-align: center;
}

/* =========================================================
   Results
   ========================================================= */

.adh-results-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--adh-gap);
    padding: var(--adh-section-padding);
    background: var(--adh-panel-bg);
}

/* Result card */

.results_entry {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: var(--adh-section-padding);
    cursor: pointer;
    background: var(--adh-card-bg);
    border: 3px solid var(--adh-border-color);
    border-radius: var(--adh-radius);
    box-shadow: var(--adh-shadow);
}

.results_entry:hover {
    background: transparent;
    transition: all 0.3s ease-in-out;
}

/* Image */

.adh-locator .result_image img {
    display: block;
    max-width: 200px;
    margin: 0 auto 0.875rem;
    border-radius: var(--adh-radius);
}

/* Rows */

.results_row.results_row_top {
    margin-bottom: 0.875rem;
}

.results_row.results_row_mid {
    margin-top: auto;
    margin-bottom: 0.875rem;
}

/* Text */

.results_entry .location_name {
    font-size: 16px;
    font-weight: 600;
}

.results_entry .result_address {
    font-size: 14px;
}

.results_entry .result_phone {
	font-size: 14px;
}

/* Alignment */

.results_entry > div:not(:last-of-type) {
	align-items: center;
    display: flex;
	flex-direction: column;
    justify-content: center;
}

.results_entry > div > span {
    display: block;
    text-align: center;
}

.results_empty {
    grid-column: span 1;
}

/* =========================================================
   Responsive
   ========================================================= */

@media (768px <= width) {
    .adh-locator {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .adh-locator .adh-locator__search {
        width: 44%;
    }

    .adh-locator .adh-locator__map {
        width: 55%;
    }

    .adh-locator .adh-locator__results {
        width: 100%;
    }

    .adh-locator .adh-results-list {
        grid-template-columns: repeat(12, 1fr);
    }

    .adh-locator .results_entry {
        grid-column: span 4;
    }

    .results_empty {
        grid-column: span 12;
    }
}

@media (992px <= width) {
    .adh-locator .results_entry {
        grid-column: span 3;
    }
}

/* =========================================================
   Pagination
   ========================================================= */

.adh-pagination {
	background-color: var(--adh-panel-bg);
	display: flex;
	justify-content: center;
	padding: var(--adh-section-padding);
}

.adh-pagination select {
	background-color: #fff;
	box-shadow: var(--adh-shadow-inset);
	margin: 0 8px;
    width: 75px;
}

.adh-pagination button.adh-page-btn {
    min-width: unset;
}

.adh-pagination .adh-page-btn.prev {
	background-color: transparent;
	border: 2px solid var(--adh-border-color);
	color: #777;
}

.adh-pagination .adh-page-btn.prev:hover {
	border: 2px solid var(--adh-border-color);
}

.adh-pagination .adh-page-btn.prev:not([disabled]):hover {
	background-color: var(--adh-btn-hover-bg);
	border-color: var(--adh-btn-hover-bg);
	color: #fff;
}