.nav > a[aria-current="page"] {
  color: var(--text);
  box-shadow: inset 0 -1px var(--purple);
  padding-bottom: 3px;
}
.store-wrap { max-width: 1240px; padding: 24px 34px 86px; margin: auto; }
.store-breadcrumb { display: flex; gap: 10px; align-items: center; margin: 0 0 17px; color: var(--muted); font-size: 12px; }
.store-breadcrumb a:hover { color: var(--purple); }
.store-breadcrumb [aria-current] { color: var(--text); }
.store-banner {
  position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between;
  padding: 32px clamp(22px, 5vw, 62px); min-height: 214px; isolation: isolate;
  border: 1px solid var(--line); border-radius: 20px;
  background: radial-gradient(ellipse at 86% 30%, #7e48c945, transparent 49%), linear-gradient(120deg, #221830, #171320);
}
.store-banner-emblem {
  position: relative; display: grid; place-items: center; flex: 0 0 auto;
  width: 186px; aspect-ratio: 1; margin-block: -18px; margin-left: 16px;
}
.store-banner-emblem::before {
  content: ""; position: absolute; inset: 0; border: 1px solid #c8a9ff25; border-radius: 50%;
  box-shadow: 0 0 0 23px #ad8afe0a, 0 0 0 46px #ad8afe08;
}
.store-banner-copy { max-width: 540px; min-width: 0; }
.store-banner h1 { margin: 13px 0 9px; font: 700 clamp(42px, 6.5vw, 76px)/1 var(--display); letter-spacing: -.07em; }
.store-banner h1 em { margin-left: .05em; color: var(--purple); font: italic 400 1em/1 var(--serif); letter-spacing: -.05em; }
.store-banner p { margin: 0; color: var(--muted); font-size: 14px; max-width: 45ch; }
.store-banner-mark {
  width: min(15vw, 150px); aspect-ratio: 1; object-fit: contain;
  /* The visible symbol is offset inside the transparent PNG. */
  transform: translate(3.8%, -2.8%);
  filter: drop-shadow(0 12px 28px #7535ad66);
}
.store-inventory { margin-top: 34px; }
.store-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 14px; }
.store-toolbar h2 { margin: 0; font: 700 clamp(22px, 3vw, 32px)/1.2 var(--display); letter-spacing: -.045em; }
.store-toolbar p { margin: 7px 0 0; font-size: 12px; color: var(--muted); }
.store-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.store-sort { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: var(--muted); font-size: 12px; }
.store-sort select { padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel); color: var(--text); color-scheme: dark; font: inherit; }
.store-sort select:focus-visible { outline: 2px solid var(--purple); outline-offset: 2px; }
.store-search { display: flex; align-items: center; gap: 9px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel); padding: 0 12px; width: min(100%, 290px); }
.store-search:focus-within { border-color: var(--purple); }
.store-search span { color: var(--purple); font-size: 21px; }
.store-search input { width: 100%; min-width: 0; padding: 11px 0; background: none; border: 0; outline: none; color: var(--text); font: inherit; }
.store-search input::placeholder { color: var(--muted); }
.store-page .collection-tabs { margin-top: 18px; }
@media (max-width: 640px) {
  .store-wrap { padding: 18px 21px 46px; }
  .store-banner { min-height: 176px; padding: 23px 18px; }
  .store-banner p { font-size: 12px; }
  .store-banner h1 { font-size: clamp(34px, 9.5vw, 51px); }
  .store-banner-emblem { width: clamp(78px, 23vw, 102px); margin-block: 0; margin-left: 10px; }
  .store-banner-mark { width: 62px; }
  .store-toolbar { flex-direction: column; align-items: stretch; }
  .store-search { width: 100%; }
  .store-search input { font-size: 16px; }
  .store-sort select { font-size: 16px; }
}
