/* Shared modal surface for search and checkout address dialogs. */
.oz-dialog:not([open]) { display:none; }
.oz-dialog { box-sizing:border-box; width:min(48rem,calc(100% - 2rem)); max-height:calc(100dvh - 2rem); margin:auto; border:1px solid var(--oz-color-border); border-radius:var(--oz-radius-xl); padding:clamp(1.25rem,4vw,2.5rem); color:var(--oz-color-text); background:var(--oz-color-background); box-shadow:var(--oz-shadow-elevated); overflow:auto; overscroll-behavior:contain; }
.oz-dialog::backdrop { background:rgb(22 22 23 / 55%); }
.oz-dialog-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.oz-dialog-header h2 { margin:0; font-size:clamp(1.5rem,3vw,2rem); line-height:1.2; }
.oz-dialog .oz-dialog-close { flex:none; display:grid; place-items:center; min-width:44px; min-height:44px; border:1px solid var(--oz-color-border); border-radius:var(--oz-radius-pill); color:var(--oz-color-text); background:var(--oz-color-background); font-size:1.5rem; }
.oz-dialog .oz-dialog-close:hover { background:var(--oz-color-surface); }
.oz-dialog :focus-visible { outline:2px solid var(--oz-color-primary,#5130f4); outline-offset:3px; }
.oz-dialog-actions { display:flex; justify-content:flex-end; gap:.75rem; flex-wrap:wrap; margin-top:1.5rem; }
html.oz-dialog-open { overflow:hidden; }
@media(max-width:600px) { .oz-dialog { width:calc(100% - 1rem); max-height:calc(100dvh - 1rem); padding:1rem; } .oz-dialog-actions > button { flex:1 1 auto; } }
