.site-location-button { border: 0; padding: 0; background: none; color: inherit; font: inherit; cursor: pointer; }
.site-location-button:hover { text-decoration: underline; }
.location-prompt, .location-dialog { box-sizing: border-box; background: #fff; color: #292929; border: 1px solid #dedede; border-radius: 12px; box-shadow: 0 6px 26px #0002; padding: 22px; font-size: 15px; line-height: 1.45; text-align: left; }
.location-prompt { position: fixed; top: 72px; right: 20px; z-index: 1100; width: min(340px, calc(100vw - 32px)); }
.location-prompt[hidden], .location-prompt [hidden] { display: none !important; }
.location-prompt__title { padding-right: 16px; margin: 0 0 8px; font-size: 19px; font-weight: 500; }
.location-picker__hint { margin: 0 0 16px; color: #666; font-size: 14px; }
.location-picker__close { position: absolute; top: 6px; right: 8px; width: 32px; height: 32px; padding: 0; border: 0; background: transparent; color: #555; font: 26px/1 sans-serif; cursor: pointer; }
.location-picker__link { display: inline-block; border: 0; background: transparent; color: inherit; padding: 8px 0; font: inherit; text-decoration: underline; cursor: pointer; }
.location-prompt form { display: inline-block; margin-right: 10px; }
.location-prompt small { display: block; font-size: 11px; color: #777; margin-top: 8px; }
.location-dialog { position: fixed; margin: auto; width: min(510px, calc(100vw - 24px)); max-height: min(650px, calc(100dvh - 32px)); overflow-y: auto; }
.location-dialog::backdrop { background: #0005; }
.location-dialog h2 { margin: 0 0 10px; padding-right: 24px; font-size: 23px; }
.location-dialog label { display: block; font-size: 13px; margin: 8px 0 6px; }
.location-dialog input { box-sizing: border-box; width: 100%; padding: 10px 12px; border: 1px solid #bbb; border-radius: 6px; background: white; color: #222; font: inherit; font-size: 16px; }
.location-picker__result { display: block; width: 100%; padding: 10px 8px; border: 0; border-radius: 6px; background: transparent; color: inherit; text-align: left; font: inherit; cursor: pointer; }
.location-picker__result:hover, .location-picker__result:focus-visible { background: #f0f0f0; }
.location-picker__result small { display: block; color: #777; font-size: 12px; }
.location-picker__results { max-height: 330px; overflow-y: auto; }
