/* Autocomplétion d’adresse partagée entre l’application et le backoffice. */
.autocomplete-field{position:relative;min-width:0}
.autocomplete-results{position:absolute;z-index:80;top:calc(100% + 7px);left:0;right:0;max-height:min(390px,48vh);overflow:auto;padding:7px;border:1px solid #e7d6dc;border-radius:16px;background:rgba(255,255,255,.98);box-shadow:0 22px 55px rgba(70,10,31,.18),0 4px 14px rgba(15,23,42,.08);backdrop-filter:blur(14px);overscroll-behavior:contain}
.autocomplete-caption{display:grid;gap:2px;padding:8px 10px 10px;border-bottom:1px solid #f0e4e8}
.autocomplete-caption>span{color:#172033;font-size:.73rem;font-weight:900;letter-spacing:.055em;text-transform:uppercase}
.autocomplete-caption small{color:#687084;font-size:.7rem;font-weight:650;line-height:1.35}
.address-suggestion{width:100%;min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;margin-top:4px;padding:11px 10px;border:0;border-radius:12px;background:transparent;color:#172033;text-align:left;transition:background .14s ease,box-shadow .14s ease,transform .14s ease}
.address-suggestion:hover,.address-suggestion.is-active{background:linear-gradient(135deg,#fff0f3 0%,#fff7f8 100%);box-shadow:inset 0 0 0 1px #fecdd3;transform:translateX(2px)}
.address-suggestion:focus-visible{outline:2px solid #b91c2c;outline-offset:-2px}
.address-suggestion-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#fff1f2;color:#b91c2c;font-size:1.15rem;font-weight:900}
.address-suggestion-copy{min-width:0;display:grid;gap:3px}
.address-suggestion-copy strong{overflow-wrap:anywhere;color:#172033;font-size:.84rem;line-height:1.3}
.address-suggestion-copy small{min-width:0;display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:#687084;font-size:.72rem;font-weight:650}
.address-suggestion-distance{padding:3px 7px;border-radius:999px;background:#ecfdf3;color:#067647;font-size:.66rem;font-weight:850;white-space:nowrap}
.address-suggestion-arrow{color:#98a2b3;font-size:1rem;font-weight:900;transition:color .14s ease,transform .14s ease}
.address-suggestion:hover .address-suggestion-arrow,.address-suggestion.is-active .address-suggestion-arrow{color:#b91c2c;transform:translateX(2px)}
.autocomplete-status{min-height:70px;display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:11px;padding:12px;color:#687084}
.autocomplete-status>span:last-child{display:grid;gap:2px}
.autocomplete-status strong{color:#172033;font-size:.8rem}
.autocomplete-status small{font-size:.7rem;font-weight:600;line-height:1.35}
.autocomplete-status-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#fff1f2}
.autocomplete-status.is-loading .autocomplete-status-icon{border:3px solid #fecdd3;border-top-color:#b91c2c;background:transparent;animation:address-autocomplete-spin .8s linear infinite}
.autocomplete-status.is-empty .autocomplete-status-icon::before{content:"?";color:#b91c2c;font-weight:900}
.autocomplete-status.is-error .autocomplete-status-icon::before{content:"!";color:#b91c2c;font-weight:900}
@keyframes address-autocomplete-spin{to{transform:rotate(360deg)}}
@media(max-width:560px){.autocomplete-results{left:-2px;right:-2px;max-height:min(340px,52vh);border-radius:14px}.address-suggestion{grid-template-columns:34px minmax(0,1fr);gap:10px;padding:10px 9px}.address-suggestion-icon{width:34px;height:34px;border-radius:10px}.address-suggestion-arrow{display:none}.address-suggestion-copy strong{font-size:.8rem}}
