.geo-modal__backdrop{position:fixed;inset:0;z-index:6100;background:rgba(0,0,0,.3);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.geo-modal__positioner{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:6101;width:100%;max-width:340px;padding:0 16px}.geo-modal__box{position:relative;overflow:visible;background:var(--white-color);border:1px solid var(--border);border-radius:16px;padding:2rem 1.75rem;text-align:center;box-shadow:0 24px 56px rgba(0,0,0,.14);display:flex;flex-direction:column;align-items:center;gap:.75rem}.geo-modal__close{position:absolute;top:-14px;right:-14px;width:36px;height:36px;border-radius:50%;border:none;background:var(--primary-color);color:#fff;font-size:.9rem;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.22);transition:opacity .15s;z-index:1}.geo-modal__close:hover{opacity:.82}.geo-modal__icon{font-size:1.6rem;color:var(--primary-color)}.geo-modal__title{font-family:var(--font-heading);font-size:1.05rem;font-weight:700;color:var(--primary-color);margin:0;text-transform:uppercase}.geo-modal__text{font-family:var(--font-body);font-size:.82rem;color:var(--text-muted);line-height:1.5;margin:0}.geo-modal__btn{width:100%;padding:.75rem 1.5rem;border-radius:999px;border:1.5px solid var(--primary-color);background:var(--primary-color);color:var(--white);font-family:var(--font-body);font-size:.9rem;font-weight:700;letter-spacing:.04em;cursor:pointer;transition:background .18s,border-color .18s;margin-top:.25rem}.geo-modal__btn:hover{background:var(--primary-color);border-color:var(--primary-color)}.addr-modal__backdrop{position:fixed;inset:0;z-index:6000;width:100vw;min-height:100dvh;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;padding:1rem;overflow-y:auto;animation:addr-fade-in .18s ease}@keyframes addr-fade-in{0%{opacity:0}to{opacity:1}}.addr-modal__box{background:var(--white-color);border:1px solid var(--border);border-radius:16px;width:100%;max-width:540px;min-width:0;box-sizing:border-box;padding:1.75rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:1rem;box-shadow:0 24px 56px rgba(0,0,0,.14);position:relative;animation:addr-slide-up .2s ease}@keyframes addr-slide-up{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.addr-modal__close-btn{position:absolute;top:-14px;right:-14px;width:36px;height:36px;border-radius:50%;border:none;background:var(--primary-color);color:#fff;font-size:.9rem;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.22);transition:opacity .15s;z-index:1}.addr-modal__close-btn:hover{opacity:.82}.addr-modal__title{font-family:var(--font-heading);font-size:1.25rem;font-weight:700;color:var(--primary-color);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .25rem}.addr-modal__field{display:flex;flex-direction:column;gap:.4rem;position:relative;min-width:0}.addr-modal__label{font-family:var(--font-body);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.addr-modal__req{color:var(--red-dark);margin-left:2px}.addr-modal__search-wrap{display:flex;align-items:center;border:1.5px solid var(--border);border-radius:var(--radius-xs);background:var(--surface);padding:0 .75rem;gap:.5rem;transition:border-color .18s}.addr-modal__search-wrap:focus-within{border-color:var(--primary-color)}.addr-modal__search-pin{color:var(--primary-color);font-size:.9rem;flex-shrink:0}.addr-modal__search-input{flex:1 1;border:none;outline:none;font-family:var(--font-body);font-size:.88rem;padding:.72rem 0;color:var(--text);background:transparent}.addr-modal__search-input::placeholder{color:var(--text-muted)}.addr-modal__search-input:disabled{opacity:.5;cursor:not-allowed}.addr-modal__search-spinner{width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--primary-color);border-radius:50%;animation:addr-spin .6s linear infinite;flex-shrink:0}.addr-modal__suggestion-pin{color:var(--primary-color);font-size:.75rem;flex-shrink:0;margin-top:2px}.addr-modal__suggestion{font-family:var(--font-body);font-size:.85rem;color:var(--text);padding:.6rem 1rem;cursor:pointer;transition:background .15s;display:flex;align-items:flex-start;gap:.5rem}.addr-modal__search-clear{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:.82rem;padding:0;display:flex;align-items:center;transition:color .15s}.addr-modal__search-clear:hover{color:var(--text)}.addr-modal__search-geo{background:none;border:none;cursor:pointer;color:var(--primary-color);font-size:1.05rem;padding:0;display:flex;align-items:center;transition:opacity .15s,transform .15s}.addr-modal__search-geo:hover{opacity:.75;transform:scale(1.1)}.addr-modal__suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--white-color);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 8px 32px rgba(0,0,0,.12);z-index:100;list-style:none;margin:0;padding:.3rem 0;max-height:200px;overflow-y:auto}.addr-modal__suggestions::-webkit-scrollbar{width:4px}.addr-modal__suggestions::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.addr-modal__suggestion:hover{background:var(--surface);color:var(--primary-color)}.addr-modal__row{display:grid;grid-gap:.75rem;gap:.75rem;width:100%;min-width:0}.addr-modal__row--2{grid-template-columns:repeat(2,minmax(0,1fr))}.addr-modal__row--3{grid-template-columns:repeat(3,minmax(0,1fr))}.addr-modal__input{border:1.5px solid var(--border);border-radius:var(--radius-xs);padding:.72rem .85rem;font-family:var(--font-body);font-size:.88rem;color:var(--text);outline:none;transition:border-color .18s,background .18s;background:var(--surface);width:100%;box-sizing:border-box;min-width:0}.addr-modal__input::placeholder{color:var(--text-muted)}.addr-modal__input:focus{border-color:var(--primary-color);background:var(--white-color)}.addr-modal__input.is-error{border-color:var(--red-dark)}.addr-modal__input--tag{margin-top:.4rem}.addr-modal__field-error{font-family:var(--font-body);font-size:.76rem;color:var(--red-dark);margin-top:.2rem;min-height:1rem;display:flex;align-items:center;gap:.3rem}.addr-modal__field-error:not(:empty):before{content:"\f06a";font-family:Font Awesome\ 6 Free;font-weight:900;font-size:.72rem;flex-shrink:0}.addr-modal__tags{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.addr-modal__tag{padding:.3rem 1rem;border-radius:999px;border:1.5px solid var(--border-md);background:transparent;font-family:var(--font-body);font-size:.8rem;color:var(--text-muted);cursor:pointer;transition:border-color .18s,color .18s,background .18s}.addr-modal__tag:hover{border-color:var(--primary-color);color:var(--primary-color)}.addr-modal__tag.is-active{border-color:var(--primary-color);background:var(--primary-color);color:var(--white);font-weight:700}.addr-modal__tag--custom{display:inline-flex;align-items:center;gap:.35rem}.addr-modal__tag-pen{font-size:.65rem;opacity:.7}.addr-modal__custom-tag-wrap{display:flex;align-items:stretch;border:1.5px solid var(--border);border-radius:var(--radius-xs);background:var(--surface);overflow:hidden;margin-top:.5rem;transition:border-color .18s}.addr-modal__custom-tag-wrap:focus-within{border-color:var(--primary-color)}.addr-modal__custom-tag-wrap .addr-modal__input{border:none;border-radius:0;background:transparent;flex:1 1;min-width:0}.addr-modal__custom-tag-wrap .addr-modal__input:focus{border-color:transparent;background:transparent}.addr-modal__custom-tag-wrap .addr-modal__input.is-error{border-color:transparent}.addr-modal__custom-tag-wrap:has(.is-error){border-color:var(--red-dark)}.addr-modal__tag-save-btn{background:none;border:none;border-left:1.5px solid var(--border);padding:0 .9rem;cursor:pointer;color:var(--primary-color);font-size:1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .18s,color .18s}.addr-modal__tag-save-btn:hover{background:var(--surface)}.addr-modal__error{font-family:var(--font-body);font-size:.82rem;color:var(--red-dark);background:rgba(205,65,67,.08);border:1px solid rgba(205,65,67,.2);border-radius:8px;padding:.5rem .75rem;margin:0;display:flex;align-items:center;gap:.4rem}.addr-modal__actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.25rem}.addr-modal__btn{padding:.65rem 1.75rem;border-radius:999px;font-family:var(--font-body);font-size:.88rem;font-weight:700;letter-spacing:.04em;cursor:pointer;border:none;transition:opacity .18s,transform .18s;display:flex;align-items:center;gap:.4rem}.addr-modal__btn--cancel{background:transparent;border:1.5px solid var(--border-md);color:var(--primary-color)}.addr-modal__btn--cancel:hover{border-color:var(--primary-color);background:var(--surface)}.addr-modal__btn--save{background:var(--primary-color);color:var(--white);border:1.5px solid var(--primary-color)}.addr-modal__btn--save:hover:not(:disabled){background:var(--primary-color);border-color:var(--primary-color);color:var(--white);transform:translateY(-1px)}.addr-modal__btn--save:disabled{opacity:.5;cursor:not-allowed}.addr-modal__spinner{width:14px;height:14px;border:2px solid rgba(224,192,171,.3);border-top:2px solid var(--primary-color);border-radius:50%;animation:addr-spin .6s linear infinite}@keyframes addr-spin{to{transform:rotate(1turn)}}@media (max-width:560px){.addr-modal__backdrop{align-items:center;padding:1.5rem .95rem .95rem}.addr-modal__box{padding:1.25rem 1rem;gap:.85rem}.addr-modal__row--2{grid-template-columns:1fr}.addr-modal__row--3{grid-template-columns:1fr 1fr}}@media (max-width:380px){.addr-modal__row--3{grid-template-columns:1fr}}.addr-modal__scroll{display:flex;flex-direction:column;gap:1rem;flex:1 1}@keyframes addr-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (max-width:768px){.addr-modal__backdrop{align-items:flex-end;padding:0}.addr-modal__box{border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-width:100%;width:100%;padding:0;overflow:visible;gap:0;animation:addr-sheet-up .35s cubic-bezier(.22,1,.36,1) both}.addr-modal__scroll{overflow-y:auto;max-height:88dvh;overscroll-behavior:contain;padding:1.5rem 1.25rem max(28px,env(safe-area-inset-bottom));gap:.9rem}.addr-modal__close-btn{top:-50px;right:auto;left:50%;transform:translateX(-50%);background:rgba(255,255,255,.95);color:var(--primary-color);box-shadow:0 2px 14px rgba(0,0,0,.18)}.addr-modal__row--2{grid-template-columns:1fr}.addr-modal__row--3{grid-template-columns:1fr 1fr}}