/**
 * Innova Hub document scroll — immediate finger/wheel.
 * Overlay: keep AFTER the hub stylesheet. Does not change card grid/layout.
 * Same idea as Sexy Shop storefront-perf.css.
 */

html,
body {
  scroll-behavior: auto !important;
}

html {
  overflow-x: clip;
}

/* 100dvh on body retriggers layout as the mobile URL bar hides while scrolling */
body {
  min-height: 100% !important;
}

/* Native pan; no overflow+transform trap on the document */
html,
body,
.hub,
.hub-board {
  overscroll-behavior-y: auto;
  -webkit-overflow-scrolling: touch;
}

.hub,
.hub-board,
.hub-gates,
.hub-hero,
.card,
.category,
.category-banner,
.hub-pick-hint,
.showcam-mini,
.catalog-pick-card {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  will-change: auto !important;
}

/* Idle image scale + overflow:hidden on every card/gate = compositor trap */
.card-cover img,
.hub-gate-img {
  transform: none;
  will-change: auto !important;
  filter: none;
}

.card,
.hub-gate,
.category,
.catalog-pick-card,
.showcam-mini {
  contain: content;
  content-visibility: visible;
  will-change: auto !important;
}

/* Rest shadows only — hover/focus rules in the hub CSS stay more specific */
.card {
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    0 2px 6px rgba(0, 0, 0, 0.2);
  transition: border-color 0.18s ease;
}

.hub-gate {
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 3px 8px rgba(0, 0, 0, 0.22);
  transition: border-color 0.18s ease;
}

.hub-gate::after,
.hub-pick-hint,
.hub-gate.is-active {
  animation: none !important;
}

.hub-pick-hint {
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.07),
    0 4px 12px rgba(0, 0, 0, 0.28);
}

.category-banner {
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.07),
    0 3px 10px rgba(0, 0, 0, 0.22);
}

/* Rotator fades of full-width photos during scroll */
.category-banner-slide {
  transition: none !important;
}

.category-banner-slide:not(.is-active) {
  visibility: hidden;
  content-visibility: hidden;
  pointer-events: none;
}

/* No per-card entrance on the board (modal reveals stay on the overlay) */
.hub-board .card,
.hub-board .hub-gate,
.hub-board .catalog-pick-card {
  animation: none !important;
}

.hub-hero-video {
  will-change: auto !important;
}
