/* Scoped to More Maps; shared sidebar and map controls retain their behaviour. */
#mapSidebar #alternativeMapsMenu { background-position: right 8px center, 12px center !important; background-size: 27px, 30px; padding-left: 48px; padding-right: 37px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#mapSidebar #alternativeMaps { padding: 10px; color: #252d32; font: 13px/1.4 Arial, sans-serif; }
#alternativeMaps *, #alternativeMaps *::before, #alternativeMaps *::after,
#moreMapsProDialog *, #moreMapsProDialog *::before, #moreMapsProDialog *::after { box-sizing: border-box; }
#alternativeMaps [hidden] { display: none !important; }
#alternativeMaps button { float: none; width: auto; height: auto; margin: 0; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; }
#alternativeMaps .mm-icon, #moreMapsProDialog .mm-icon { display: block; flex: 0 0 20px; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; }
#alternativeMaps #mapSearchWrapper { display: flex; align-items: center; gap: 0; width: 100%; min-width: 0; height: 36px; margin: 0; border: 1px solid #bbc1c5; border-radius: 4px; background: #fff; }
#alternativeMaps #mapSearchWrapper:focus-within { border-color: #4787c6; box-shadow: 0 0 0 1px #4787c6; }
#alternativeMaps #mapSearchButton, #alternativeMaps #moreMapsClear { display: inline-flex; justify-content: center; align-items: center; flex: 0 0 32px; width: 32px; height: 32px; padding: 6px; color: #586572; border-radius: 3px; }
#alternativeMaps #mapSearchButton:hover, #alternativeMaps #moreMapsClear:hover { background: #edf3ed; }
#alternativeMaps #mapSearchBox { display: block; flex: 1 1 0; min-width: 0; width: 0; height: 32px; margin: 0; padding: 5px 3px !important; border: 0; border-radius: 3px; outline: 0; box-shadow: none; background: #fff; color: #252d32; font: 13px/20px Arial, sans-serif; }
#alternativeMaps #mapSearchBox::-webkit-search-cancel-button { -webkit-appearance: none; }
#alternativeMaps p.mm-hint { margin: 6px 0 9px; padding: 0; color: #626b72; font: 12px/17px Arial, sans-serif; }
#alternativeMaps .other-list-el { margin: 0; padding: 0; border-bottom: 1px solid #e0e4e5; }
#alternativeMaps .other-title { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; min-height: 34px; padding: 7px 6px; border-radius: 3px; text-align: left; font: 600 13px/19px Arial, sans-serif; }
#alternativeMaps .other-title span { min-width: 0; overflow-wrap: anywhere; }
#alternativeMaps .other-title i { display: block; flex: 0 0 7px; width: 7px; height: 7px; margin: 0 4px; border-right: 2px solid #65717a; border-bottom: 2px solid #65717a; transform: rotate(-45deg); }
#alternativeMaps .other-title:hover { background: #f0f5ef; }
#alternativeMaps .other-title[aria-expanded="true"] { background: #e9f6e9; }
#alternativeMaps .other-title[aria-expanded="true"] i { transform: rotate(45deg); border-color: #328444; }
#alternativeMaps .other-list { margin: 2px 0 5px; padding: 0; list-style: none; border: 0; }
#alternativeMaps .other-list li { float: none; margin: 0; padding: 0; border: 0; list-style: none; }
#alternativeMaps .other-list a { display: block; width: 100%; padding: 6px 8px 6px 16px; border-left: 3px solid transparent; border-radius: 2px; color: #303b45; background: transparent; text-decoration: none; font: 13px/18px Arial, sans-serif; overflow-wrap: anywhere; }
#alternativeMaps .nav-dot { display: none; }
#alternativeMaps .other-list a:hover, #alternativeMaps .mm-result:hover { background: #f1f7ee; color: #173522; }
#alternativeMaps a[aria-current="page"] { border-left-color: #1bac33; background: #e9f6e9; }
#alternativeMaps .mm-results-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 4px 8px; margin: 7px 0; color: #626b72; font-size: 12px; }
#alternativeMaps #moreMapsClearText { color: #2866ad; text-decoration: underline; text-underline-offset: 2px; }
#mapSidebar #alternativeMaps h3 { display: block; margin: 8px 0 0; padding: 7px 6px; border: 0; background: #edf0f2; color: #555e67; font: 600 11px/16px Arial, sans-serif; letter-spacing: .3px; }
#alternativeMaps .mm-result-list { margin: 0; padding: 0; list-style: none; }
#alternativeMaps .mm-result-list li { margin: 0; padding: 0; list-style: none; border-bottom: 1px solid #e0e4e5; }
#alternativeMaps .mm-result { display: flex; align-items: center; gap: 7px; width: 100%; min-height: 38px; padding: 7px 5px 7px 7px; border: 0; border-left: 3px solid transparent; border-radius: 2px; background: #fff; color: #25333e; text-decoration: none; text-align: left; font: 500 13px/18px Arial, sans-serif; }
#alternativeMaps .mm-result-name { flex: 1 1 0; min-width: 0; overflow-wrap: anywhere; }
#alternativeMaps .mm-result.mm-pro-result:hover, #alternativeMaps .mm-result.mm-pro-result:focus-visible { background: #e6f5f5; border-left-color: #008a90; color: #164d54; }
#alternativeMaps .mm-result .mm-external { flex-basis: 16px; width: 16px; height: 16px; color: #596975; }
#alternativeMaps .mm-result-chevron { flex: 0 0 7px; width: 7px; height: 7px; margin: 0 5px; border-right: 2px solid #65717a; border-bottom: 2px solid #65717a; transform: rotate(-45deg); }
#alternativeMaps .mm-pro, #moreMapsProDialog .mm-pro { display: inline-block; flex: 0 0 auto; padding: 1px 5px; border-radius: 4px; background: #d4eeee; color: #006b73; font: italic 600 12px/17px Arial, sans-serif; }
#alternativeMaps .mm-show-more { display: block; width: 100%; padding: 7px 5px; color: #2866ad; text-align: left; font-size: 12px; }
#alternativeMaps .mm-show-more:hover { text-decoration: underline; background: #f3f6f8; }
#alternativeMaps .mm-empty { margin: 14px 4px; font: 13px/19px Arial, sans-serif; }
#alternativeMaps .mm-footer { display: flex; align-items: center; justify-content: space-between; gap: 5px; margin: 10px 0 0; padding: 8px 0 0; border-top: 1px solid #d8dfe1; color: #56646e; font: italic 12px/18px Arial, sans-serif; }
#alternativeMaps .mm-footer > span { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; }
#alternativeMaps #moreMapsHelp { display: block; flex: 0 0 28px; width: 28px; height: 28px; padding: 3px; }
#alternativeMaps #moreMapsHelp img { display: block; width: 22px; height: 22px; pointer-events: none; }
#alternativeMaps #moreMapsHelpText { margin-bottom: 0; }
#alternativeMaps button:focus-visible, #alternativeMaps a:focus-visible, #moreMapsProDialog button:focus-visible, #moreMapsProDialog a:focus-visible { outline: 2px solid #426ab0; outline-offset: -2px; }

/* A native modal keeps keyboard focus and clicks out of the map until dismissed. */
#moreMapsProDialog { box-sizing: border-box; position: fixed; inset: 0; width: min(430px, calc(100vw - 24px)); max-width: none; max-height: calc(100dvh - 24px); margin: auto; padding: 20px; overflow: auto; border: 1px solid #aeb9bc; border-top: 4px solid #e8ac25; border-radius: 7px; background: #fff; color: #283640; box-shadow: 0 8px 30px #0005; font: 14px/1.45 Arial, sans-serif; }
#moreMapsProDialog:not([open]) { display: none; }
#moreMapsProDialog::backdrop { background: #17344366; }
#moreMapsProDialog button, #moreMapsProDialog a { box-sizing: border-box; cursor: pointer; font: 600 14px/20px Arial, sans-serif; text-decoration: none; }
#moreMapsProDialog .mm-dialog-close { position: absolute; right: 2px; top: 2px; z-index: 2; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; margin: 0; padding: 0; border: 0; border-radius: 4px; background: transparent; color: #586572; }
#moreMapsProDialog .mm-dialog-close:hover { background: #edf0f2; color: #172c3b; }
#moreMapsProDialog .mm-dialog-heading { display: flex; align-items: center; gap: 11px; padding-right: 20px; }
#moreMapsProDialog .mm-destination-icon { display: flex; flex: 0 0 36px; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 5px; background: #d4eeee; color: #006b73; }
#moreMapsProDialog #moreMapsProTitle { width: auto; margin: 0; padding: 0; border: 0; background: none; color: #25333e; font: 600 20px/25px Arial, sans-serif; cursor: default; }
#moreMapsProDialog p { margin: 13px 0; padding: 0; font: inherit; }
#moreMapsProDialog .mm-destination { padding: 11px 12px; border: 1px solid #cbd1d6; border-radius: 4px; background: #f7f9fa; }
#moreMapsProDialog .mm-destination > div { display: flex; align-items: center; gap: 8px; }
#moreMapsProDialog .mm-destination strong { min-width: 0; overflow-wrap: anywhere; font-weight: 600; }
#moreMapsProDialog .mm-destination > span { display: flex; align-items: center; gap: 7px; margin-top: 4px; color: #5d6b76; font-size: 13px; }
#moreMapsProDialog .mm-destination .mm-icon { flex-basis: 15px; width: 15px; height: 15px; }
#moreMapsProDialog #moreMapsProReminder { display: flex; align-items: center; gap: 8px; padding: 9px 10px; border-radius: 4px; background: #fff4d3; color: #4c442e; font-size: 12px; }
#moreMapsProDialog #moreMapsProReminder span { flex: 0 0 18px; width: 18px; height: 18px; border-radius: 50%; background: #c58a00; color: #fff; text-align: center; font: bold 13px/18px Arial, sans-serif; }
#moreMapsProDialog .mm-dialog-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
#moreMapsProDialog #moreMapsStay, #moreMapsProDialog #moreMapsProOpen { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 36px; margin: 0; padding: 7px 12px; border: 1px solid #abb6c0; border-radius: 4px; background: #fff; color: #354958; }
#moreMapsProDialog #moreMapsStay:hover { background: #edf1f4; }
#moreMapsProDialog #moreMapsProOpen { background: #099d22; border-color: #078319; color: #fff; }
#moreMapsProDialog #moreMapsProOpen:hover { background: #07851d; }
@media (max-width: 420px) { #moreMapsProDialog { padding: 16px; } #moreMapsProDialog #moreMapsProTitle { font-size: 18px; } }
