.store-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  inline-size: 44px;
  block-size: 44px;
  min-inline-size: 44px;
  min-block-size: 44px;
  padding: 0;
  border: 1px solid var(--store-border);
  border-radius: var(--store-radius-sm);
  background: var(--store-surface);
  color: var(--store-text);
  cursor: pointer;
  text-decoration: none;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}
.store-icon-button:hover { border-color: var(--store-accent); color: var(--store-accent); }
.store-icon-button:focus-visible { outline: var(--store-focus-width) solid var(--store-focus-color); outline-offset: -3px; }
.store-icon-button:disabled { opacity: .55; cursor: not-allowed; }
.store-icon-button svg { inline-size: 1.2rem; block-size: 1.2rem; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.store-icon-button--header { border-color: transparent; border-radius: 50%; background: transparent; }
.store-icon-button--header:hover { border-color: var(--store-border); background: var(--store-surface); }
.store-icon-button--header svg { inline-size: 1.35rem; block-size: 1.35rem; stroke-width: 1.8; }
@media (prefers-reduced-motion: reduce) { .store-icon-button { transition: none; } }
