/* QIVO City 2.4.2: desktop favorites and accessible category rail. */
.header__action--favorites {
  border: 0; background: transparent; position: relative; display: grid;
  place-items: center; gap: 2px; border-radius: 14px; width: 78px;
  min-width: 70px; min-height: 54px; padding: 5px 4px;
  color: var(--ink); line-height: 1.15;
}
.header__action--favorites:hover { background: var(--soft); color: var(--brand); }
.header__action--favorites svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.header__action--favorites small { font-size: 10px; font-weight: 730; }
.header__action--favorites .header__favorites-count {
  position: absolute; top: 0; right: 4px; padding: 1px 5px; border-radius: 12px;
  min-width: 18px; color: #fff; background: #cc5d7b; font-size: 10px; font-weight: 800;
}
.header__action--favorites .header__favorites-count[hidden] { display: none; }
.header__categories-wrap {
  display: grid; grid-template-columns: 33px minmax(0,1fr) 33px;
  align-items: center; column-gap: 7px; min-width: 0;
}
.header__categories-wrap > .header__categories {
  width: 100%; min-width: 0; margin: 0; overflow-x: auto; overflow-y: hidden;
  overscroll-behavior-x: contain; scroll-snap-type: x proximity;
  scroll-behavior: smooth; scrollbar-width: none; padding-top: 3px;
}
.header__categories::-webkit-scrollbar { display: none; }
.header__categories .header__category { flex: 0 0 auto; scroll-snap-align: start; }
.header__category-arrow {
  border: 1px solid var(--line); background: var(--surface); color: var(--ink);
  width: 33px; height: 33px; display: grid; place-items: center;
  border-radius: 12px; cursor: pointer; padding: 0; margin-bottom: 6px;
}
.header__category-arrow svg { width: 17px; height: 17px; stroke-width: 2.2; }
.header__category-arrow:hover:not(:disabled) { background: var(--soft); color: var(--brand); }
.header__category-arrow:disabled { opacity: .28; cursor: default; }
[data-theme="dark"] .header__action--favorites:hover { background: #34314c; color: #e7e1ff; }
[data-theme="dark"] .header__category-arrow { background: #28283e; color: #e7e9fa; border-color: #4a4963; }
@media (min-width:761px) and (max-width:1090px) {
  .header__action--favorites { width: 43px; min-width: 43px; min-height: 43px; padding: 5px 2px; }
  .header__action--favorites small { display: none; }
}
@media (max-width:760px) {
  .header__action--favorites { display: none; }
  .header__categories-wrap { grid-template-columns: minmax(0,1fr); gap: 0; }
  .header__category-arrow { display: none; }
  .header__categories-wrap > .header__categories { scroll-snap-type: none; }
}
@media (prefers-reduced-motion: reduce) {
  .header__categories-wrap > .header__categories { scroll-behavior: auto; }
}
