/* Shared frame for modal dialogs; content modules own their internal layout. */
.store-dialog { inline-size: min(56rem, calc(100% - 2rem)); max-inline-size: calc(100% - 1rem); max-block-size: calc(100dvh - 2rem); margin: auto; padding: 0; border: 1px solid var(--store-border); border-radius: 1rem; background: var(--store-surface); color: var(--store-text); overscroll-behavior: contain; }
.store-dialog::backdrop { background: rgb(0 0 0 / .45); }
.store-dialog[aria-busy="true"] { cursor: progress; }
.store-dialog :focus-visible:not([data-storefront-programmatic-focus]) { outline: var(--store-focus-width, 2px) solid var(--store-focus-color, var(--store-accent)); outline-offset: -3px; }
html.has-store-dialog { overflow: hidden; }
@media (max-width: 40rem) { .store-dialog { inline-size: calc(100% - 1rem); max-block-size: calc(100dvh - 1rem); border-radius: .75rem; } }

.store-dialog--wide { inline-size: min(62.5rem, calc(100% - 2rem)); }
@media (max-width: 40rem) {
  .store-dialog--fullscreen-mobile { inline-size: 100%; max-inline-size: 100%; max-block-size: 100dvh; margin: 0; border-radius: 0; }
}
