/* Méotis public reference, 30 September 2026. Scoped to the v3 companion template. */
.meotis-locator { --meotis-navy: #061045; --meotis-green: #86be41; font-family: Quicksand, sans-serif; font-size: 15px; line-height: 1.6; font-weight: 700; }
.meotis-locator #wpsl-wrap { padding: 0; margin: 0; background: #f5f5f8; width: 100%; }
.meotis-locator #wpsl-wrap .wpsl-search { display: flow-root; float: none; padding: 12px 12px 7.578125px; margin: 50px 0 62px; background: #f0f0f0; border: 0; border-radius: 0; }
.meotis-locator #wpsl-search-wrap { width: 100%; float: none; }
.meotis-locator .map-serach { color: #061248; display: flow-root; margin: 0 0 30px; width: 100%; text-align: center; }
.meotis-locator .map-serach h2 { color: #061248; font-family: Poppins, sans-serif; font-size: 40px; font-weight: 600; line-height: 1.3; margin: 0 0 20px; }
.meotis-locator .map-serach p { margin: 0 0 7.5px; font-size: 15px; line-height: 24px; }
.meotis-locator #wpsl-search-wrap form { width: 100%; display: block; }
.meotis-locator #wpsl-wrap .map-form { display: flex; align-items: flex-start; position: relative; width: 40%; min-width: 360px; max-width: 650px; margin: 0 auto !important; float: none !important; }
.meotis-locator #wpsl-wrap .wpsl-input { width: 90%; flex: 0 0 90%; float: none; margin: 0; }
.meotis-locator #wpsl-wrap #wpsl-search-input { box-sizing: border-box; width: 100%; height: 49px; text-align: center; color: #85bd41; background: #fafafa; border: 2px solid #061045; border-radius: 30px; padding: 10.5px 80px 10.5px 30px; font: inherit; box-shadow: none; }
.meotis-locator #wpsl-wrap .wpsl-search-btn-wrap { width: 10%; flex: 0 0 10%; float: none !important; margin: 0; }
.meotis-locator #wpsl-wrap #wpsl-search-btn { appearance: none; background: #061045; color: #fff; padding: 16px 50px; margin: -2px 0 0 -70px; z-index: 1; position: relative; border: 0; border-radius: 30px; letter-spacing: 0; font: 700 15px/21.4286px Quicksand, sans-serif; height: auto; width: auto; box-shadow: none; cursor: pointer; }
.meotis-locator #wpsl-wrap #wpsl-search-input:focus-visible,
.meotis-locator #wpsl-wrap #wpsl-search-btn:focus-visible,
.meotis-locator .meotis-results-toggle:focus-visible { outline: 3px solid #86be41; outline-offset: 3px; }
.meotis-locator .meotis-map-layout { position: relative; display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 1fr); overflow: hidden; transition: grid-template-columns .3s ease-out; }
.meotis-locator .meotis-map-content { grid-column: 1; grid-row: 1; position: relative; min-width: 0; }
.meotis-locator .meotis-results { grid-column: 2; grid-row: 1; min-width: 0; background: #061045; padding: 10px 15px; height: 1000px; overflow: hidden; z-index: 2; box-sizing: border-box; }
.meotis-locator .panel-heading { color: #061248; }
.meotis-locator #wpsl-wrap #wpsl-map { width: 100% !important; height: 1000px !important; float: none; margin: 0 !important; }
.meotis-locator #wpsl-wrap #wpsl-result-list { width: 100% !important; float: none; margin: 0; padding: 0; color: #fff; background: transparent; border: 0; }
.meotis-locator #wpsl-wrap #wpsl-stores,
.meotis-locator #wpsl-wrap #wpsl-direction-details { height: 966px !important; max-height: none; overflow-y: auto; padding: 0; background: transparent; }
.meotis-locator #wpsl-stores ul { padding: 0; margin: 0; list-style: none; }
.meotis-locator #wpsl-wrap #wpsl-stores li { background: #1f2858; color: #fff; padding: 6%; margin: 15px 0 0; border: 0; border-radius: 0; font-size: 15px; }
.meotis-locator #wpsl-stores li strong { font-size: 23px; line-height: 1.6; display: block; margin-bottom: 15px; color: #fff; }
.meotis-locator #wpsl-stores li p { color: inherit; }
.meotis-locator #wpsl-stores a { color: #86be41; }
.meotis-locator #wpsl-stores .wpsl-direction-wrap { font-size: 12px; font-weight: 400; color: #86be41; }
.meotis-locator a.wpsl-directions { display: block; width: 100%; }
.meotis-locator .meotis-results-toggle { position: absolute; width: 66px; height: 170px; right: 0; top: 40%; z-index: 1; background: #111f66; color: #fff; border: 0; border-radius: 85px 0 0 85px; padding: 0; cursor: pointer; }
.meotis-locator .meotis-results-toggle span { display: block; position: absolute; left: 20px; top: 46px; font-size: 50px; line-height: 1; }
.meotis-locator .meotis-results-collapsed { grid-template-columns: minmax(0, 1fr) minmax(0, 0fr); }
.meotis-locator .meotis-results-collapsed .meotis-results { padding: 0; visibility: hidden; }
.meotis-locator .meotis-results-collapsed .meotis-results-toggle span { transform: rotate(180deg); }
.meotis-locator #wpsl-map .gm-style-iw-c { background: #061045; color: #fff; padding: 20px !important; text-align: center; }
.meotis-locator #wpsl-map .gm-style-iw-d { overflow: auto !important; }
.meotis-locator #wpsl-map .wpsl-info-window { max-width: 225px; color: #fff; }
.meotis-locator #wpsl-map .wpsl-info-window a { color: #86be41; }
.meotis-locator #wpsl-map .gm-style-iw-tc::after { background: #061045; }
@media (max-width: 767px) {
    .meotis-locator .map-serach h2 { font-size: 28px; }
    .meotis-locator #wpsl-wrap .map-form { width: 100%; min-width: 0; max-width: 520px; }
    .meotis-locator #wpsl-wrap .wpsl-input { flex: 1 1 auto; width: auto; min-width: 0; }
    .meotis-locator #wpsl-wrap .wpsl-search-btn-wrap { flex: 0 0 auto; width: auto; }
    .meotis-locator #wpsl-wrap #wpsl-search-input { padding: 10px 35px 10px 12px; }
    .meotis-locator #wpsl-wrap #wpsl-search-btn { padding: 16px 18px; margin-left: -25px; font-size: 13px; }
    .meotis-locator .meotis-map-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .meotis-locator .meotis-results-collapsed { grid-template-columns: minmax(0, 1fr) minmax(0, 0fr); }
    .meotis-locator .meotis-results { padding: 10px; }
    .meotis-locator #wpsl-stores li strong { font-size: 19px; overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) { .meotis-locator .meotis-map-layout { transition: none; } }

/* Override v3's production resets, including their !important mobile margins. */
.meotis-locator { --wpsl-font-size-location-name: 23px; }
.meotis-locator #wpsl-wrap #wpsl-search-input { height: 49px; min-height: 49px; max-height: 49px; display: block; }
.meotis-locator #wpsl-wrap #wpsl-search-btn { height: 53.421875px; min-height: 53.421875px; max-height: 53.421875px; display: block; }
.meotis-locator #wpsl-wrap #wpsl-search-wrap .wpsl-input,
.meotis-locator #wpsl-wrap #wpsl-search-wrap .wpsl-search-btn-wrap { margin: 0 !important; }
.meotis-locator #wpsl-wrap #wpsl-stores .wpsl-contact-details strong { display: inline; font-size: inherit; margin: 0; }
.meotis-locator #wpsl-wrap #wpsl-stores .wpsl-contact-details { overflow-wrap: anywhere; }
@media (max-width: 767px) { .meotis-locator { --wpsl-font-size-location-name: 19px; } }

/* Popup palette: inherit at the locator instead of WordPress's white root defaults. */
.meotis-locator #wpsl-wrap {
    --wpsl-popup-content-background: #061045;
    --wpsl-popup-content-text: #fff;
    --wpsl-popup-content-link: #86be41;
    --wpsl-popup-content-link-hover: #b4dc7f;
    --wpsl-popup-content-close: #fff;
    --wpsl-popup-content-close-hover: #86be41;
    --wpsl-popup-icons-color: #fff;
}
.meotis-locator #wpsl-wrap #wpsl-map .gm-style-iw-d {
    background: #061045;
    color: #fff;
}
.meotis-locator #wpsl-wrap #wpsl-map .gm-ui-hover-effect > span {
    background-color: #fff;
}
.meotis-locator #wpsl-wrap #wpsl-map .gm-ui-hover-effect:hover > span {
    background-color: #86be41;
}

/* Google's empty header must not reserve a 48px row above the content. */
.meotis-locator #wpsl-map .gm-style-iw-c:has(.gm-style-iw-ch:empty) {
    padding: 32px 20px 20px !important;
}
.meotis-locator #wpsl-map .gm-style-iw-chr:has(> .gm-style-iw-ch:empty) {
    height: 0;
    min-height: 0;
    padding: 0;
    margin: 0;
}
.meotis-locator #wpsl-map .gm-style-iw-ch:empty {
    display: none;
}
.meotis-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;
    display: flex !important;
    align-items: center;
    justify-content: center;
}
.meotis-locator #wpsl-map .gm-style-iw-chr:has(> .gm-style-iw-ch:empty) > .gm-ui-hover-effect > span {
    margin: 0 !important;
}
