#cerca-luogo{position:relative;flex:0 1 390px;min-width:260px;margin-left:auto;z-index:1100;text-shadow:none}
#cerca-luogo form{margin:0}
#cerca-luogo button[type=submit]{display:grid;place-items:center;width:44px;height:44px;padding:8px;cursor:pointer;background:#fffefa;color:#334f91}
#cerca-luogo svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2}
#cerca-luogo section{position:absolute;right:0;top:54px;width:min(430px,calc(100vw - 32px));max-height:65vh;overflow:auto;background:#fffefa;color:#253445;padding:16px;box-shadow:0 8px 26px #23375a40;border-top:3px solid #334f91}
.luogo-input{display:flex;gap:6px}.luogo-input input{min-width:0;width:100%;height:44px;padding:8px 10px;font-size:14px;background:#fffefa;color:#253445;border:1px solid #d7d8cd;border-radius:0}.luogo-input button{flex:none}
#cerca-luogo input:focus-visible,#cerca-luogo button:focus-visible{outline:2px solid #fff;outline-offset:2px}
#cerca-luogo section[hidden]{display:none}
@media(max-width:800px){header{flex-wrap:wrap}#cerca-luogo{flex:1 0 100%;min-width:0;margin:0}#cerca-luogo input{font-size:16px}#cerca-luogo section{width:100%;box-sizing:border-box;max-height:45dvh}}
#cerca-luogo .luogo-stato{color:#253445;font-size:13px;margin:10px 0}
.luogo-risultati{display:grid;gap:6px}.luogo-risultati button{text-align:left;white-space:normal}
#cerca-luogo small{display:block;margin-top:12px;font-size:11px}#cerca-luogo a{color:#334f91}
.luogo-pin{width:22px;height:22px;border:3px solid white;border-radius:50%;background:#d82727;box-shadow:0 0 0 2px #a41c1c,0 2px 8px #0006;pointer-events:none}
