.delivery-address-ui{padding-top:10px}
.address-card{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px 12px;min-width:0}
.address-card-icon{position:relative;width:36px;height:36px;border-radius:10px;background:var(--zeca-soft)}
.address-card-icon::before{content:"";position:absolute;left:12px;top:8px;width:11px;height:14px;border:2px solid var(--zeca-blue);border-radius:9px 9px 9px 0;transform:rotate(-45deg)}
.address-card-icon::after{content:"";position:absolute;left:17px;top:13px;width:4px;height:4px;background:var(--zeca-blue);border-radius:50%}
.address-card-info{display:grid;gap:4px;align-content:start;min-width:0}
.address-card-info strong{font-size:14px;color:var(--zeca-ink)}
.address-card-text{color:var(--zeca-muted);font-size:13px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.address-card-status{color:var(--zeca-danger);font-size:12px}
.address-card-open{grid-column:1/-1;min-height:44px;margin-top:2px;padding:10px 12px;font-size:14px;background:var(--zeca-blue);color:#fff;border:1px solid var(--zeca-blue);border-radius:10px}
.address-card-open:hover:not(:disabled){background:var(--zeca-blue-dark)}
.address-card-open:disabled{display:none}
.delivery-address-ui>.delivery-actions{margin-top:10px}
.delivery-address-ui>.delivery-actions button{background:transparent;color:var(--zeca-blue);padding:8px 0;text-align:left}

.address-dialog{position:fixed;inset:0;width:540px;max-width:calc(100% - 28px);height:min(88dvh,740px);max-height:calc(var(--address-viewport-height,100dvh) - 16px);margin:auto;padding:0;border:1px solid var(--zeca-border);border-radius:22px;background:var(--zeca-canvas);overflow:hidden;white-space:normal;box-shadow:0 24px 80px #0008}
.address-dialog[open]{display:flex;flex-direction:column}
.address-dialog::backdrop{background:#050d12b8}
.address-dialog button{margin-top:0;min-height:44px;font-size:14px}
.address-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:var(--zeca-surface);border-bottom:1px solid var(--zeca-soft);flex-shrink:0}
.address-dialog-header h2{margin:0;font-size:18px;line-height:1.35}
.address-dialog-close{flex-shrink:0;padding:10px 8px}
.address-dialog .delivery-address-form{display:flex;flex-direction:column;flex:1;min-height:0;gap:0}
.address-dialog-body{display:grid;align-content:start;gap:14px;overflow:auto;overscroll-behavior:contain;min-height:0;padding:18px;flex:1}
.address-search-row{display:grid;gap:10px}
.address-dialog .delivery-field{font-size:13px;line-height:1.4;gap:7px}
.address-dialog .delivery-field input{font-size:16px;min-height:46px;padding:11px 12px;border-radius:10px;background:var(--zeca-surface)}
.address-dialog .delivery-field input:focus-visible{outline:2px solid var(--zeca-blue);outline-offset:2px}
.address-dialog .delivery-address-search{background:var(--zeca-blue);color:#fff;border:1px solid var(--zeca-blue)}
.address-dialog .address-other-ways{font-size:13px}
.address-dialog .address-other-ways summary{padding:8px 0;min-height:36px;color:var(--zeca-blue-dark)}
.address-dialog .delivery-location-options{gap:8px;margin-top:6px}
.address-dialog .delivery-location-options button{background:var(--zeca-surface);color:var(--zeca-muted);text-align:left;border:1px solid var(--zeca-soft)}
.address-dialog-body>[role=status]{color:var(--zeca-muted);font-size:12px;line-height:1.5}
.address-dialog .delivery-address-results:empty{display:none}
.address-dialog .delivery-address-option{font-size:14px;padding:12px;border-radius:10px;background:var(--zeca-surface)}
.address-dialog .delivery-location-review{gap:10px}
.address-dialog .delivery-location-review>strong{font-size:14px}
.address-dialog .delivery-location-review small{font-size:12px}
.address-dialog .delivery-map{position:relative;height:clamp(170px,28dvh,240px);min-width:0;border-radius:12px}
.address-dialog .delivery-map button{min-height:0}
.address-dialog .delivery-map-credit{color:var(--zeca-muted);line-height:1.5}
.address-dialog-footer{display:grid;gap:8px;padding:12px 18px max(14px,env(safe-area-inset-bottom));background:var(--zeca-surface);border-top:1px solid var(--zeca-soft);flex-shrink:0}
.address-dialog-footer small{font-size:11px;color:var(--zeca-muted);text-align:center;line-height:1.4}
.address-dialog .delivery-address-confirm{min-height:48px;border-radius:11px;font-size:14px;line-height:1.35;padding:12px}
.address-dialog .delivery-form-error{padding:0 18px 12px;font-size:13px}
@media(max-width:600px){
  .address-dialog{inset:auto 0 var(--address-viewport-bottom,0) 0;width:100%;max-width:100%;height:92dvh;margin:0;border-bottom:0;border-radius:22px 22px 0 0}
  .address-dialog-header{padding:10px 16px}
  .address-dialog-header h2{font-size:17px}
  .address-dialog-body{padding:16px}
  .address-dialog-footer{padding-right:16px;padding-left:16px}
}

.address-card{padding:14px;border:1px solid var(--zeca-border);border-radius:18px;background:var(--zeca-surface)}
.address-dialog{box-shadow:0 24px 80px #0a192f33}
.address-dialog .delivery-address-option[aria-pressed=true]{background:var(--zeca-soft);border-color:var(--zeca-blue)}
