/* Compact partner-store link alongside the primary menu. */
.site-nav { flex-wrap: wrap; align-items: center; }
.site-nav a.store-switch, .site-footer a.store-switch {
  display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center;
  gap: 8px; width: auto; max-width: 100%; min-height: 44px;
  padding: 4px 8px; border: 0; border-radius: 0; background: transparent;
  font-size: .85rem; font-weight: 700; line-height: 1.3; text-decoration: none;
}
.site-nav a.store-switch { color: var(--ink); }
.site-footer a.store-switch { color: var(--paper); }
.site-nav .store-switch .partner-logo, .site-footer .store-switch .partner-logo {
  display: block; width: 48px; height: auto; flex: 0 0 48px; object-fit: contain; border-radius: 4px;
}
.site-nav a.store-switch::after { display: none; }
.store-switch-footer { padding-bottom: 24px; }
a.store-switch:hover span { text-decoration: underline; }
a.store-switch:focus-visible { outline: 3px solid currentColor; outline-offset: 4px; }
@media (min-width: 981px) { .site-nav { column-gap: 16px; row-gap: 4px; padding-block: 4px; } }
@media (max-width: 980px) { .site-nav a.store-switch { justify-self: center; margin-top: 4px; } }

/* Preserve the supplied logo artwork and its natural proportions. */
.site-header .brand-logo, .site-footer .brand-logo { width: 108px; height: auto; object-fit: contain; }
.site-footer .wordmark--footer .brand-logo { width: 120px; height: auto; mix-blend-mode: normal; background: #fff; padding: 8px; border-radius: 8px; box-sizing: content-box; }
@media (max-width: 640px) { .site-header .brand-logo { width: 84px; } }
@media (max-height: 480px) and (max-width: 980px) { .site-header .brand-logo { width: 56px; } }
