/* Scoped to the two shop locator pages; overrides v3 layered and theme styles. */
.amelie-locator #wpsl-wrap {
    position: relative; display: block; width: 100%; margin: 0 0 20px; padding: 0;
    color: #6f6f6f; font: 300 17px/1.58 "futura-pt", sans-serif;
    --wpsl-popup-content-background: #000;
    --wpsl-popup-content-text: #fff;
    --wpsl-popup-content-link: #fff;
    --wpsl-popup-content-link-hover: #d15252;
    --wpsl-popup-content-close: #fff;
    --wpsl-popup-content-close-hover: #d15252;
    --wpsl-popup-icons-color: #fff;
    --wpsl-listings-store-title-font-size: 17px;
}
.amelie-locator #aa-map, .amelie-locator #aa-map * { box-sizing: border-box; }
.amelie-locator #wpsl-wrap #wpsl-map {
    display: block; float: none; width: 100%; height: 100vh !important;
    min-height: 650px; margin: 0; padding: 0; border-radius: 0;
}
.amelie-locator #wpsl-wrap #aa-map {
    position: absolute; z-index: 3; left: 10%; top: 10%; width: 430px;
    max-width: 80%; height: auto !important; pointer-events: none;
}
.amelie-locator #aa-map > * { pointer-events: auto; }
.amelie-locator #wpsl-wrap .aa-search {
    display: block; width: 350px; max-width: 100% !important; padding: 10px 10px 10px 20px;
    background: #000; border: 0; border-radius: 20px; margin: 0;
    box-shadow: 0 13px 27px -5px #32325d40, 0 8px 16px -8px #0000004d;
}
.amelie-locator #wpsl-wrap #wpsl-search-wrap,
.amelie-locator #wpsl-wrap #wpsl-search-wrap form {
    display: block; position: static; width: 100%; margin: 0; padding: 0; background: none;
}
.amelie-locator #wpsl-wrap .wpsl-input {
    display: block; float: none; width: 100%; padding: 0; margin: 0 !important;
}
.amelie-locator #wpsl-wrap .aa-titre-add { display: block; margin: 0; }
.amelie-locator #wpsl-wrap .aa-titre-add label {
    display: flex; align-items: center; width: 100%; margin: 0; padding: 0;
    color: #fff; font: 700 25px/32px "futura-pt", sans-serif;
}
.amelie-locator .aa-titre-add .marker { width: 20px; height: auto; margin-right: 10px; }
.amelie-locator #wpsl-wrap .aa-line-add {
    display: flex; flex-wrap: nowrap; align-items: center; justify-content: center;
    gap: 0; width: 100%; margin: 15px 0;
}
.amelie-locator #wpsl-wrap #wpsl-search-input {
    display: block; flex: 0 1 179px; width: 179px; min-width: 0; max-width: 100%;
    height: 42px; min-height: 42px; max-height: 42px;
    margin: 0 !important; padding: 7px 12px; border: 1px solid #ccc; border-radius: 0;
    background: #fff !important; color: #333; box-shadow: none;
    font: 300 17px/25.5px "futura-pt", sans-serif;
}
.amelie-locator #wpsl-wrap .wpsl-search-btn-wrap {
    display: block; flex: 0 0 auto; float: none; width: auto;
    margin: 0 !important; padding: 0;
}
.amelie-locator #wpsl-wrap #wpsl-search-btn {
    display: block; width: auto; height: 43px; min-height: 43px; max-height: 43px;
    margin: 0 !important; padding: 7px 10px; border: 0; border-radius: 0;
    color: #fff; background: #d15252 !important; box-shadow: none;
    text-transform: none; letter-spacing: normal; font: 400 18px/26px "futura-pt", sans-serif;
}
.amelie-locator #wpsl-wrap #wpsl-search-btn:hover { background: #b84242 !important; }
.amelie-locator #wpsl-wrap #wpsl-search-input:focus-visible,
.amelie-locator #wpsl-wrap #wpsl-search-btn:focus-visible { outline: 2px solid #d15252; outline-offset: 3px; }
.amelie-locator #wpsl-wrap .wpsl-select-wrap { margin: 10px 0; color: #fff; }
.amelie-locator #wpsl-wrap #aa-result {
    width: 430px; max-width: 100%; margin: 20px 0 0; padding: 20px;
    background: #fff; border-radius: 20px; overflow: hidden;
    box-shadow: 0 13px 27px -5px #32325d40, 0 8px 16px -8px #0000004d;
}
.amelie-locator #wpsl-wrap #aa-titre-pdv { color: #d15252; text-transform: uppercase; font-weight: 700; }
.amelie-locator #wpsl-wrap #wpsl-result-list {
    display: block; float: none; width: 100%; margin: 0; padding: 0; background: #fff;
}
.amelie-locator #wpsl-wrap #wpsl-stores,
.amelie-locator #wpsl-wrap #wpsl-direction-details {
    width: 100%; height: 350px !important; max-height: none; margin: 0; padding: 0; overflow-y: auto;
}
.amelie-locator #wpsl-wrap #wpsl-stores ul { margin: 0; padding: 0; list-style: none; }
.amelie-locator #wpsl-wrap #wpsl-stores li {
    padding: 20px; margin: 0; border: 0; border-bottom: 1px solid #eee;
    background: #fff; border-radius: 0; list-style: none;
}
.amelie-locator #wpsl-wrap .wpsl-store-location { color: #000 !important; font: 400 17px/1.58 "futura-pt", sans-serif; }
.amelie-locator #wpsl-wrap .wpsl-store-location p { margin: 0 0 17px; padding: 0; font: inherit; }
.amelie-locator #wpsl-wrap .wpsl-store-location p > strong,
.amelie-locator #wpsl-wrap .wpsl-store-location .wpsl-store-header {
    display: block; width: 100%; margin: 0; font: 700 17px/1.58 "futura-pt", sans-serif; color: #000;
}
.amelie-locator #wpsl-wrap .wpsl-store-location p > span { display: inline; }
.amelie-locator #wpsl-wrap .wpsl-store-location p > span::after { content: " - "; }
.amelie-locator #wpsl-wrap .wpsl-store-location p > span:last-child::after { content: ""; }
.amelie-locator #wpsl-wrap .wpsl-direction-wrap {
    display: flex; justify-content: space-between; gap: 10px; margin: 0;
    color: #6f6f6f; font: 300 13px/26.86px "futura-pt", sans-serif;
}
.amelie-locator #wpsl-wrap .wpsl-direction-wrap a { color: inherit; text-decoration: none; }
.amelie-locator #wpsl-wrap #wpsl-map .gm-style-iw-c,
.amelie-locator #wpsl-wrap #wpsl-map .gm-style-iw-d,
.amelie-locator #wpsl-wrap .wpsl-info-window { background: #000; color: #fff; }
.amelie-locator #wpsl-wrap #wpsl-map .gm-style-iw-tc::after { background: #000 !important; }
.amelie-locator #wpsl-wrap .wpsl-info-window p,
.amelie-locator #wpsl-wrap .wpsl-info-window strong { color: #fff; }
.amelie-locator #wpsl-wrap .wpsl-info-window a { color: #fff !important; text-decoration: underline; }
.amelie-locator #wpsl-wrap #wpsl-map .gm-style-iw-d { overflow: auto !important; padding: 0; }
.amelie-locator #wpsl-wrap #wpsl-map .gm-ui-hover-effect > span { background-color: #fff; }
/* Google Maps' empty header must not create an extra 48px row. */
.amelie-locator #wpsl-map .gm-style-iw-c:has(.gm-style-iw-ch:empty) { padding: 32px 20px 20px !important; }
.amelie-locator #wpsl-map .gm-style-iw-chr:has(> .gm-style-iw-ch:empty) { height: 0; min-height: 0; padding: 0; margin: 0; }
.amelie-locator #wpsl-map .gm-style-iw-ch:empty { display: none; }
.amelie-locator #wpsl-map .gm-style-iw-chr:has(> .gm-style-iw-ch:empty) > .gm-ui-hover-effect {
    position: absolute !important; top: 2px; right: 2px; width: 32px !important; height: 32px !important;
    margin: 0 !important; padding: 0; border: 0; background: transparent;
    display: flex !important; align-items: center; justify-content: center;
}
.amelie-locator #wpsl-map .gm-ui-hover-effect > span { margin: 0 !important; }
@media (max-width: 640px) {
    .amelie-locator #wpsl-wrap #aa-map { position: static !important; width: 100%; max-width: 100%; padding: 0; }
    .amelie-locator #wpsl-wrap .aa-search { width: 350px; }
    .amelie-locator #wpsl-wrap #aa-result { width: 430px; margin-bottom: 20px; }
    .amelie-locator #wpsl-wrap #wpsl-map { min-height: 400px; height: 65vh !important; }
    .amelie-locator #wpsl-wrap #wpsl-search-wrap div { margin-top: 0; }
    .amelie-locator #wpsl-wrap #wpsl-search-wrap .aa-line-add { margin: 15px 0; }
    .amelie-locator #wpsl-wrap #wpsl-stores li { padding: 16px 12px; }
}
/* Neutralize legacy floats inside the new nested search row. */
.amelie-locator #wpsl-wrap #wpsl-search-wrap div { float: none; margin-inline-end: 0; }
.amelie-locator #wpsl-wrap .aa-titre-add label { width: 100% !important; }
.amelie-locator #wpsl-wrap.wpsl-gdpr-checkpoint #aa-map { display: none; }
.amelie-locator #wpsl-wrap .wpsl-location-content { color: #000; }
.amelie-locator #wpsl-wrap .wpsl-store-location .wpsl-location-content > strong { display: block; font-size: 17px; }
.amelie-locator #wpsl-wrap .wpsl-store-location .wpsl-location-content > span { display: inline; }
.amelie-locator #wpsl-wrap .wpsl-store-location .wpsl-location-content > span::after { content: " - "; }
.amelie-locator #wpsl-wrap .wpsl-store-location .wpsl-location-content > span:last-child::after { content: ""; }
/* V3 gives all direct input wrappers a fixed 40px height; these are two rows. */
.amelie-locator #wpsl-wrap #wpsl-search-wrap .wpsl-input > .aa-titre-add {
    display: block; height: 32px; min-height: 32px; max-height: none;
}
.amelie-locator #wpsl-wrap #wpsl-search-wrap .wpsl-input > .aa-line-add {
    height: 43px; min-height: 43px; max-height: none;
}
.amelie-locator #wpsl-wrap #wpsl-stores .wpsl-store-location,
.amelie-locator #wpsl-wrap #wpsl-stores .wpsl-store-location p,
.amelie-locator #wpsl-wrap #wpsl-stores .wpsl-store-location p span {
    font: 400 17px/26.86px "futura-pt", sans-serif;
}
.amelie-locator #wpsl-wrap #wpsl-search-btn { min-width: 105px; }
/* Keep provider-managed autocomplete containers inside the same input column. */
.amelie-locator #wpsl-wrap .aa-line-add .wpsl-autocomplete-search-container,
.amelie-locator #wpsl-wrap .aa-line-add #mapbox-autocomplete.wpsl-geocoder-active {
    flex: 0 1 179px; width: 179px; min-width: 0; margin: 0;
}
.amelie-locator #wpsl-wrap { --wpsl-font-size-base: 17px; }
.amelie-locator #wpsl-wrap #aa-map .aa-search { padding: 10px 10px 10px 20px; }
.amelie-locator #wpsl-wrap #wpsl-stores .wpsl-direction-wrap,
.amelie-locator #wpsl-wrap #wpsl-stores .wpsl-direction-wrap * { font-size: 13px !important; }
