/* Cuddlefish Cuts v0.18.3 mobile/tablet production hardening. */

/* Component display rules must never override the native hidden state. */
[hidden] {
  display: none !important;
}

/* Keep the navigation overlay above every sticky page surface and dialog trigger. */
body.menu-open .site-header {
  z-index: 1000;
}

.menu-backdrop {
  z-index: 1001;
  overscroll-behavior: contain;
}

.site-menu {
  z-index: 1002;
  height: 100vh;
  height: 100dvh;
  max-height: 100vh;
  max-height: 100dvh;
  overscroll-behavior: contain;
}

.site-menu__content {
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

body.menu-open,
body.shop-filter-open {
  overflow: hidden;
  overscroll-behavior: none;
}

/* The sticky interior header used backdrop-filter, which creates a containing
   block for fixed descendants in Chromium/WebKit. Disable it wherever the
   compact drawer header is used so the drawer is genuinely viewport-fixed. */
@media (max-width: 1180px) {
  .site-header--interior {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}

/* Safer narrow-layout badge sizing when both promotional badges are present. */
@media (max-width: 430px) {
  .product-card__art .promotion-badge {
    width: clamp(46px, 17vw, 58px);
  }

  .product-card__art .promotion-badge > span {
    font-size: clamp(.68rem, 3.2vw, .82rem);
  }
}
