.address-modal-open{overflow:hidden}
.address-dialog{--aw-soft:#eef3e6;--aw-accent:#234332;border:1px solid var(--line);border-radius:24px;padding:26px 30px 24px;width:min(580px,calc(100% - 32px));max-height:calc(100dvh - 48px);box-sizing:border-box;background:var(--paper);color:var(--ink);overflow:auto;overscroll-behavior:contain;box-shadow:0 28px 100px #09221440}
.address-dialog::backdrop{background:#10251bb3;backdrop-filter:blur(4px)}
.address-wizard-top{position:sticky;top:-26px;z-index:700;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--paper);margin:-26px -30px 24px;padding:18px 30px 12px}
.address-wizard-brand{font-size:10px;letter-spacing:.15em;font-weight:800;margin-right:auto}.address-wizard-brand span{color:var(--muted);font-weight:500}
.address-round{display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:50%;background:var(--aw-soft);color:var(--ink);font:500 24px/1 Arial;flex:none}
.address-round:hover{background:var(--lime)}.address-round:focus-visible,.address-dialog button:focus-visible{outline:3px solid #79a046;outline-offset:3px}
.address-progress{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:11px;margin-bottom:24px}.address-progress>span{display:flex;align-items:center;gap:6px;white-space:nowrap}.address-progress i{height:1px;background:var(--line);flex:1}.address-progress .current{color:var(--aw-accent);font-weight:800}
.address-dialog h2{font-family:'DM Sans',Arial,sans-serif;font-size:29px;line-height:1.15;letter-spacing:-.045em;margin:0 0 12px;font-weight:800;outline:none}.address-intro{font-size:14px;line-height:1.5;color:var(--muted);margin:0 0 22px}
.address-dialog .field{color:var(--ink);font-size:12px;font-weight:600;gap:6px;margin-bottom:14px}.address-dialog .field input,.address-dialog .field select,.address-dialog .field textarea{width:100%;box-sizing:border-box;min-height:48px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:11px;font:400 15px/1.4 'DM Sans',Arial,sans-serif;padding:12px;box-shadow:none}.address-dialog .field textarea{resize:vertical;min-height:72px}.address-dialog .field input:focus,.address-dialog .field select:focus,.address-dialog .field textarea:focus{outline:2px solid var(--aw-accent);outline-offset:1px}
.address-dialog .address-autocomplete{margin-bottom:0}.address-search-row{display:flex;border:1px solid var(--line);border-radius:11px;background:var(--paper)}.address-search-row:focus-within{outline:2px solid var(--aw-accent);outline-offset:1px}.address-dialog .address-search-wrap{flex:1;min-width:0}.address-dialog .address-search-wrap:before{display:none}.address-dialog .address-search-wrap input{border:0;outline:0!important;min-width:0;background:transparent}.address-locate{border:0;background:transparent;color:var(--aw-accent);padding:10px 14px;display:grid;place-items:center;flex:none}.address-locate svg{width:23px;height:23px}.address-dialog .address-suggestions{position:relative;top:auto;margin:4px 0 12px;box-shadow:0 5px 15px #132b1814;max-height:250px;overflow-y:auto}.address-dialog .address-suggestions button{font-size:14px;line-height:1.4;padding:10px 12px}.address-dialog .address-search-status:empty{display:none}
.address-text-button{padding:6px 0;border:0;background:transparent;color:var(--aw-accent);text-decoration:underline;text-underline-offset:3px;font:600 13px/1.4 'DM Sans',Arial,sans-serif;box-shadow:none}.address-dialog #address-manual-toggle{margin:6px 0 14px}.address-field-pair{display:grid;grid-template-columns:1.4fr 1fr;gap:12px}.address-dialog .address-primary{width:100%;min-height:50px;border:0;border-radius:12px;box-shadow:none;background:var(--aw-accent);color:#fff;margin-top:8px;font-weight:700;font-size:15px}.address-dialog .address-primary:hover{background:#315c41;transform:none}.address-dialog button:disabled{opacity:.55;cursor:wait}
.address-welcome{margin-top:26px;border-radius:16px;background:var(--aw-soft);padding:16px 22px 20px;display:flex;flex-direction:column;align-items:center;text-align:center;color:var(--aw-accent);overflow:hidden}.address-welcome svg{width:100%;max-width:340px;height:145px}.address-welcome strong{font-size:15px;margin:0 0 5px}.address-welcome>span{font-size:12px;color:var(--muted)}
.address-types{display:grid;gap:10px;padding:4px 0 12px}.address-type{display:flex;align-items:center;text-align:left;gap:16px;border:1px solid var(--line);border-radius:13px;background:var(--paper);color:var(--ink);padding:18px 16px;min-height:74px}.address-type>svg,.address-summary svg{width:25px;height:25px;flex:none}.address-type strong{font-size:16px;font-weight:600}.address-type>span{display:flex;gap:12px;align-items:center;margin-left:auto;font-size:13px;background:var(--aw-soft);color:var(--aw-accent);padding:8px 12px;border-radius:9px}.address-type:hover{border-color:var(--aw-accent);background:var(--aw-soft)}.address-type b{font-size:16px}
.address-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--aw-soft);padding:16px;border-radius:13px;margin-bottom:22px}.address-summary>div{display:flex;gap:12px;align-items:center;min-width:0}.address-summary strong,.address-summary span{display:block;overflow-wrap:anywhere}.address-summary strong{font-size:15px;font-weight:700}.address-summary span{font-size:12px;color:var(--muted);margin-top:4px}.address-summary button{flex:none}.address-location{padding-top:14px;margin-top:6px;border-top:1px solid var(--line)}.address-location h3{font:700 19px/1.3 'DM Sans',Arial,sans-serif;margin-bottom:6px;letter-spacing:-.02em}.address-location>p{font-size:13px;color:var(--muted);margin-bottom:12px}.address-map-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 10px;min-height:48px;border:1px solid transparent;border-radius:11px;background:var(--aw-soft);color:var(--aw-accent);font:700 13px/1.4 'DM Sans',Arial,sans-serif}.address-map-button svg{width:20px;height:20px;flex:none}.address-map-button:hover{border-color:var(--aw-accent)}.address-location .address-pin-summary{font-size:12px;margin:8px 0 10px}.address-location .outside{color:#a23927;font-weight:600}
.address-dialog .map-picker{margin:0}.address-dialog .map-toggle{display:none}.address-dialog .map-panel{margin-top:10px}.address-dialog .map-canvas{height:360px}.address-dialog .map-center-pin{top:180px}.address-dialog .map-help{font-size:12px}.address-dialog .map-toolbar button{box-shadow:none}.address-dialog .form-message:empty{display:none}.address-dialog .form-message{margin:12px 0 0;font-size:13px}
.address-add-button{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;margin-top:18px!important}.checkout-address-preview{padding:15px 16px;margin-bottom:12px;background:var(--paper);border:1px solid var(--line);border-radius:12px}.checkout-address-preview strong,.checkout-address-preview span{display:block}.checkout-address-preview strong{font-size:15px}.checkout-address-preview span{font-size:13px;color:var(--muted);margin-top:4px}.checkout-address-preview p{margin:7px 0 0;font-size:13px;color:var(--muted)}#checkout-address-button{width:100%;margin-bottom:12px}#checkout-profile-link{background:transparent;border:0;color:inherit;padding:5px 0;font:700 14px/1.5 'DM Sans',Arial,sans-serif;text-decoration:underline;cursor:pointer}
:root[data-theme="dark"] .address-dialog{--aw-soft:#263a2c;--aw-accent:#cbe68a}:root[data-theme="dark"] .address-dialog .address-primary{background:var(--aw-accent);color:#15251a}:root[data-theme="dark"] .address-dialog .address-primary:hover{background:#dbeeab}:root[data-theme="dark"] .address-dialog .outside{color:#ffb4a6}:root[data-theme="dark"] .checkout-address-preview{background:#1d2a21}
@media(max-width:580px){.address-dialog{padding:20px;width:calc(100% - 20px);max-height:calc(100dvh - 20px);border-radius:20px}.address-dialog h2{font-size:26px}.address-progress{gap:7px;margin-bottom:20px}.address-wizard-top{margin-bottom:20px}.address-welcome{margin-top:22px;padding:14px}.address-welcome svg{height:120px}.address-dialog .map-canvas{height:300px}.address-dialog .map-center-pin{top:150px}.address-type{padding:16px 14px}.address-dialog .map-toolbar button{flex:1 1 auto}.address-dialog .map-toolbar .map-select{flex-basis:100%}.address-field-pair{grid-template-columns:1.25fr 1fr;gap:8px}}
@media(prefers-reduced-motion:reduce){.address-dialog *{scroll-behavior:auto;transition:none}}
@media(max-width:580px){.address-wizard-top{top:-20px;margin:-20px -20px 20px;padding:16px 20px 12px}}
