.store-side-panel {
  position: fixed;
  inset: 0 0 0 auto;
  inline-size: min(40rem, 100%);
  max-inline-size: 100%;
  block-size: 100dvh;
  max-block-size: 100dvh;
  margin: 0;
  padding: 0;
  border: 0;
  border-inline-start: 1px solid var(--store-border);
  border-radius: 0;
  background: var(--store-surface);
  color: var(--store-text);
  box-shadow: var(--store-shadow);
  overflow: hidden;
  overscroll-behavior: contain;
}
.store-side-panel[open] { animation: store-side-panel-enter .22s ease-out; }
.store-side-panel::backdrop { background: rgb(0 0 0 / .45); }
html.has-store-side-panel { overflow: hidden; }
.store-side-panel :focus-visible { outline: var(--store-focus-width) solid var(--store-focus-color); outline-offset: calc(-1 * var(--store-focus-width)); }
@keyframes store-side-panel-enter { from { transform: translateX(100%); } to { transform: translateX(0); } }
@media (prefers-reduced-motion: reduce) { .store-side-panel[open] { animation: none; } }
