/* Confirmed Home-page fixes tested in DevTools on the stable 0.7.8 layout. */

/* Keep the original hero geometry. Only remove whitespace created by WordPress markup. */
.bpk-birthday-hub .bpk-wide-audience-grid,
.bpk-birthday-hub .bpk-v2-grid,
.bpk-birthday-hub .bpk-v2-track,
.bpk-birthday-hub .bpk-paid-grid {
  align-items: start !important;
}

.bpk-birthday-hub .bpk-wide-audience-card,
.bpk-birthday-hub .bpk-v2-card {
  height: auto !important;
  align-self: start !important;
}

.bpk-birthday-hub .bpk-wide-audience-image,
.bpk-birthday-hub .bpk-v2-image {
  display: block !important;
  line-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.bpk-birthday-hub .bpk-wide-audience-image img,
.bpk-birthday-hub .bpk-v2-image img {
  display: block !important;
  vertical-align: top !important;
}

/* Compact card bottoms, matching the tested result. */
.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-card-body,
.bpk-birthday-hub #bpk-all-invitations .bpk-v2-card-body {
  min-height: 98px !important;
  height: auto !important;
  padding: 10px 12px 11px !important;
  margin: 0 !important;
}

.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-card-body strong,
.bpk-birthday-hub #bpk-all-invitations .bpk-v2-card-body strong {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  margin: 0 0 7px !important;
  line-height: 1.18 !important;
}

/* Popular cards may use three title lines because they are narrower. */
.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-card-body strong {
  -webkit-line-clamp: 3 !important;
  min-height: 60px !important;
}

.bpk-birthday-hub #bpk-all-invitations .bpk-v2-card-body strong {
  -webkit-line-clamp: 2 !important;
  min-height: 41px !important;
}

.bpk-birthday-hub .bpk-popular-invitations .bpk-open-editor,
.bpk-birthday-hub #bpk-all-invitations .bpk-open-editor {
  margin-top: auto !important;
  min-height: 35px !important;
  height: 35px !important;
}

/* Five visible cards on wide desktop; responsive fallbacks below. */
@media (min-width: 1501px) {
  .bpk-birthday-hub .bpk-popular-invitations .bpk-v2-track {
    gap: 14px !important;
  }

  .bpk-birthday-hub .bpk-popular-invitations .bpk-v2-card.is-carousel {
    flex: 0 0 calc((100% - 56px) / 5) !important;
    width: calc((100% - 56px) / 5) !important;
    min-width: 0 !important;
  }

  .bpk-birthday-hub #bpk-all-invitations .bpk-v2-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 1001px) and (max-width: 1500px) {
  .bpk-birthday-hub .bpk-popular-invitations .bpk-v2-card.is-carousel {
    flex: 0 0 calc((100% - 42px) / 4) !important;
    width: calc((100% - 42px) / 4) !important;
    min-width: 0 !important;
  }

  .bpk-birthday-hub #bpk-all-invitations .bpk-v2-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 701px) and (max-width: 1000px) {
  .bpk-birthday-hub #bpk-all-invitations .bpk-v2-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Confirmed circular arrows outside the cards. */
.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-carousel {
  position: relative !important;
  overflow: visible !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-arrow {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 48px !important;
  min-width: 48px !important;
  max-width: 48px !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  padding: 0 0 3px 0 !important;
  margin: 0 !important;
  border-radius: 50% !important;
  border: 1px solid #c89a43 !important;
  background: #c89a43 !important;
  color: #ffffff !important;
  box-shadow: 0 8px 18px rgba(180,126,31,.18) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: .85 !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  text-align: center !important;
  z-index: 10 !important;
}

.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-arrow.prev {
  left: -62px !important;
}

.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-arrow.next {
  right: -62px !important;
}

@media (max-width: 700px) {
  .bpk-birthday-hub .bpk-popular-invitations .bpk-v2-arrow {
    display: none !important;
  }

  .bpk-birthday-hub .bpk-popular-invitations .bpk-v2-track {
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .bpk-birthday-hub .bpk-popular-invitations .bpk-v2-card.is-carousel {
    flex: 0 0 82% !important;
    width: 82% !important;
    scroll-snap-align: start !important;
  }

  .bpk-birthday-hub #bpk-all-invitations .bpk-v2-grid {
    grid-template-columns: 1fr !important;
  }
}


/* 0.7.8.13 — preserve the intentional Birthday/Invitations break and tighten Popular only. */
.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-card-body {
  min-height: 0 !important;
  padding: 8px 10px 9px !important;
  gap: 5px !important;
}

.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-card-body strong {
  -webkit-line-clamp: 3 !important;
  min-height: 52px !important;
  margin: 0 !important;
  font-size: 15px !important;
  line-height: 1.14 !important;
}

.bpk-birthday-hub .bpk-popular-invitations .bpk-open-editor {
  margin-top: 0 !important;
  min-height: 33px !important;
  height: 33px !important;
}


/* 0.7.8.14 — Popular cards: keep titles to two compact lines and pull the button closer. */
.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-card-body {
  padding: 8px 10px 9px !important;
  gap: 4px !important;
}

.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-card-body strong {
  -webkit-line-clamp: 2 !important;
  min-height: 30px !important;
  margin: 0 !important;
  font-size: 13px !important;
  line-height: 1.12 !important;
}

.bpk-birthday-hub .bpk-popular-invitations .bpk-open-editor {
  margin-top: 0 !important;
  min-height: 33px !important;
  height: 33px !important;
}


/* 0.7.8.70 — refined homepage arrows + decorative heading lines. */
.bpk-birthday-hub .bpk-gold-button--with-arrow {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.bpk-birthday-hub .bpk-inline-arrow {
  display: inline-block !important;
  font-size: 18px !important;
  line-height: 1 !important;
  transform: translate(1px,-1px) !important;
}

/* Category cards: button centered against the two-line copy, not sunk to the bottom. */
.bpk-birthday-hub .bpk-wide-audience-copy {
  position: relative !important;
  padding-right: 62px !important;
}

.bpk-birthday-hub .bpk-audience-arrow {
  position: absolute !important;
  right: 16px !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #c89a43 !important;
  color: #ffffff !important;
  box-shadow: 0 8px 18px rgba(180,126,31,.18) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-indent: 1px !important;
  padding-bottom: 1px !important;
}

/* 0.7.8.72 — heading ornaments: elegant four-point sparkle matching the approved mockup. */
.bpk-birthday-hub .bpk-heading-with-decor h2 {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
}

.bpk-birthday-hub .bpk-heading-with-decor .bpk-heading-title {
  white-space: nowrap !important;
}

.bpk-birthday-hub .bpk-heading-with-decor .bpk-heading-decor {
  position: relative !important;
  flex: 0 0 clamp(72px, 10vw, 128px) !important;
  width: clamp(72px, 10vw, 128px) !important;
  height: 22px !important;
  transform: translateY(4px) !important;
}

.bpk-birthday-hub .bpk-heading-with-decor .bpk-heading-decor::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  right: 25px !important;
  top: 50% !important;
  height: 1px !important;
  background: #d8b266 !important;
  transform: translateY(-50%) !important;
}

.bpk-birthday-hub .bpk-heading-with-decor .bpk-sparkle {
  position: absolute !important;
  right: 1px !important;
  top: 50% !important;
  width: 20px !important;
  height: 24px !important;
  transform: translateY(-50%) !important;
  display: block !important;
}

/* One clean SVG-like four-ray shape: long vertical rays, shorter horizontal rays. */
.bpk-birthday-hub .bpk-heading-with-decor .bpk-sparkle::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: #d8b266 !important;
  clip-path: polygon(
    50% 0%,
    57% 38%,
    100% 50%,
    57% 62%,
    50% 100%,
    43% 62%,
    0% 50%,
    43% 38%
  ) !important;
}

/* Tiny center highlight keeps the sparkle delicate instead of looking like an X. */
.bpk-birthday-hub .bpk-heading-with-decor .bpk-sparkle::after {
  content: '' !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 3px !important;
  height: 3px !important;
  border-radius: 50% !important;
  background: #fff8e7 !important;
  transform: translate(-50%,-50%) !important;
}

.bpk-birthday-hub .bpk-heading-with-decor .bpk-heading-decor.is-right {
  transform: translateY(4px) scaleX(-1) !important;
}

@media (max-width: 900px) {
  .bpk-birthday-hub .bpk-heading-with-decor h2 { gap: 10px !important; }
  .bpk-birthday-hub .bpk-heading-with-decor .bpk-heading-decor {
    flex-basis: 56px !important;
    width: 56px !important;
  }
}

@media (max-width: 600px) {
  .bpk-birthday-hub .bpk-gold-button--with-arrow { gap: 10px !important; }
  .bpk-birthday-hub .bpk-wide-audience-copy { padding-right: 56px !important; }
  .bpk-birthday-hub .bpk-audience-arrow {
    right: 14px !important;
    width: 34px !important;
    height: 34px !important;
    font-size: 20px !important;
  }
  .bpk-birthday-hub .bpk-heading-with-decor h2 { gap: 8px !important; }
  .bpk-birthday-hub .bpk-heading-with-decor .bpk-heading-title {
    white-space: normal !important;
    text-wrap: balance !important;
  }
  .bpk-birthday-hub .bpk-heading-with-decor .bpk-heading-decor {
    flex-basis: 42px !important;
    width: 42px !important;
  }
  .bpk-birthday-hub .bpk-heading-with-decor .bpk-heading-decor::before { right: 23px !important; }
}


/* 0.7.8.94 — mobile viewport containment only.
   Keep swipe tracks scrollable, but never let the Birthday Invitations hub
   widen the WordPress page itself. */
@media (max-width: 700px) {
  body.bpk-catalog-active {
    overflow-x: hidden !important;
  }

  body.bpk-catalog-active #page,
  body.bpk-catalog-active #content,
  body.bpk-catalog-active #primary,
  body.bpk-catalog-active main,
  body.bpk-catalog-active article,
  body.bpk-catalog-active .entry-content {
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .bpk-birthday-hub.bpk-wide-catalog {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
    overflow-x: hidden !important;
  }

  .bpk-birthday-hub .bpk-wide-hero,
  .bpk-birthday-hub .bpk-wide-section,
  .bpk-birthday-hub .bpk-home-packages,
  .bpk-birthday-hub .bpk-popular-invitations,
  .bpk-birthday-hub #bpk-all-invitations,
  .bpk-birthday-hub .bpk-v2-carousel,
  .bpk-birthday-hub .bpk-wide-audience-grid,
  .bpk-birthday-hub .bpk-v2-grid {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .bpk-birthday-hub .bpk-wide-audience-grid,
  .bpk-birthday-hub .bpk-v2-track {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    overscroll-behavior-inline: contain !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .bpk-birthday-hub .bpk-popular-invitations .bpk-v2-carousel {
    overflow: hidden !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .bpk-birthday-hub .bpk-popular-invitations .bpk-v2-arrow {
    display: none !important;
  }

  .bpk-birthday-hub img,
  .bpk-birthday-hub svg,
  .bpk-birthday-hub video,
  .bpk-birthday-hub iframe {
    max-width: 100% !important;
  }
}


/* 0.7.8.96 — hard mobile viewport lock.
   The previous hub-only containment was not enough because a wide Astra/theme
   wrapper could still make the document itself horizontally scrollable.
   Lock only the document shell on phones; intentional carousel tracks remain
   independently scrollable. */
@media (max-width: 700px) {
  html,
  body,
  #page,
  .site,
  .site-content,
  #content,
  .ast-container,
  #primary,
  .content-area,
  .site-main,
  article,
  .entry-content {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  html,
  body,
  #page,
  .site {
    width: 100% !important;
    overflow-x: clip !important;
  }

  /* Astra mobile header must never define a canvas wider than the device. */
  .site-header,
  .ast-mobile-header-wrap,
  .ast-primary-header-bar,
  .ast-builder-grid-row-container,
  .ast-builder-grid-row,
  .ast-builder-grid-row-container-inner,
  .site-header .ast-container {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  /* Canonical hub shell: no viewport math + translate on phones. */
  .bpk-birthday-hub.bpk-wide-catalog {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 0 60px 0 !important;
    transform: none !important;
    overflow-x: clip !important;
  }

  .bpk-birthday-hub > *,
  .bpk-birthday-hub .bpk-wide-hero,
  .bpk-birthday-hub .bpk-wide-section,
  .bpk-birthday-hub .bpk-home-packages,
  .bpk-birthday-hub .bpk-popular-invitations,
  .bpk-birthday-hub #bpk-all-invitations,
  .bpk-birthday-hub .bpk-v2-carousel {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  /* Keep only the intended tracks horizontally scrollable. */
  .bpk-birthday-hub .bpk-wide-audience-grid,
  .bpk-birthday-hub .bpk-v2-track {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    overscroll-behavior-x: contain !important;
    touch-action: pan-x pan-y !important;
  }
}


/* 0.7.8.97 — Popular Invitations must behave as a true clipped carousel viewport.
   The cards may scroll inside the beige section, but can never paint or size the
   document outside that section on real Android browsers. */
@media (max-width: 700px) {
  .bpk-birthday-hub .bpk-popular-invitations {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    overflow: clip !important;
    contain: layout paint !important;
    isolation: isolate !important;
    box-sizing: border-box !important;
  }

  .bpk-birthday-hub .bpk-popular-invitations .bpk-v2-carousel {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    overflow: clip !important;
    box-sizing: border-box !important;
  }

  .bpk-birthday-hub .bpk-popular-invitations .bpk-v2-track {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 3px 0 4px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    box-sizing: border-box !important;
    overscroll-behavior-x: contain !important;
    scroll-snap-type: x proximity !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-x pan-y !important;
  }

  .bpk-birthday-hub .bpk-popular-invitations .bpk-v2-card.is-carousel {
    flex: 0 0 min(78vw, 300px) !important;
    width: min(78vw, 300px) !important;
    max-width: calc(100vw - 64px) !important;
    min-width: 0 !important;
    scroll-snap-align: start !important;
  }
}


/* 0.7.8.98 — structural Popular Invitations viewport fix.
   The scroll track now lives inside a real clipped viewport. This prevents
   Android browsers from painting carousel cards outside the beige section. */
.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-carousel {
  min-width: 0 !important;
}
.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-viewport {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  overflow: clip !important;
  box-sizing: border-box !important;
}
.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-viewport > .bpk-v2-track {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
@media (max-width: 700px) {
  .bpk-birthday-hub .bpk-popular-invitations {
    overflow: hidden !important;
    box-sizing: border-box !important;
  }
  .bpk-birthday-hub .bpk-popular-invitations .bpk-v2-carousel {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
  .bpk-birthday-hub .bpk-popular-invitations .bpk-v2-viewport {
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    overflow: clip !important;
    contain: paint !important;
  }
  .bpk-birthday-hub .bpk-popular-invitations .bpk-v2-viewport > .bpk-v2-track {
    display: flex !important;
    gap: 14px !important;
    padding: 3px 0 5px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    overscroll-behavior-x: contain !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x proximity !important;
    touch-action: pan-x pan-y !important;
  }
  .bpk-birthday-hub .bpk-popular-invitations .bpk-v2-card.is-carousel {
    flex: 0 0 min(78vw, 300px) !important;
    width: min(78vw, 300px) !important;
    max-width: calc(100vw - 70px) !important;
    scroll-snap-align: start !important;
  }
}


/* 0.7.8.99 — mobile audience/category carousel containment.
   The Kids / Teen / Adult cards in the top Birthday Invitations hero are
   intentionally swipeable on phones, but the swipe track must remain inside
   the beige hero card and must never widen the document viewport. */
@media (max-width: 900px) {
  .bpk-birthday-hub .bpk-wide-hero {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    overflow: clip !important;
  }

  .bpk-birthday-hub .bpk-wide-audience-grid {
    display: flex !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 2px 8px !important;
    gap: 14px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    scroll-padding-inline: 2px !important;
    overscroll-behavior-x: contain !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    box-sizing: border-box !important;
  }

  .bpk-birthday-hub .bpk-wide-audience-grid::-webkit-scrollbar {
    display: none !important;
  }

  .bpk-birthday-hub .bpk-wide-audience-card {
    flex: 0 0 min(82%, 340px) !important;
    width: min(82%, 340px) !important;
    max-width: calc(100% - 28px) !important;
    min-width: 0 !important;
    scroll-snap-align: start !important;
    scroll-snap-stop: normal !important;
    box-sizing: border-box !important;
  }

  .bpk-birthday-hub .bpk-wide-audience-card,
  .bpk-birthday-hub .bpk-wide-audience-image,
  .bpk-birthday-hub .bpk-wide-audience-image img,
  .bpk-birthday-hub .bpk-wide-audience-copy {
    max-width: 100% !important;
  }
}

@media (max-width: 600px) {
  .bpk-birthday-hub .bpk-wide-audience-grid {
    gap: 12px !important;
  }

  .bpk-birthday-hub .bpk-wide-audience-card {
    flex-basis: min(86%, 320px) !important;
    width: min(86%, 320px) !important;
    max-width: calc(100% - 22px) !important;
  }
}

/* 0.7.8.125 — Samsung/mobile gesture deadlock fix.
   Popular Invitations stays horizontally swipeable, but we deliberately disable
   scroll snapping and nested overscroll containment on touch devices. Samsung
   Internet can otherwise hold the gesture on the horizontal scroller for a few
   seconds when the user changes direction from horizontal to vertical. */
@media (max-width: 900px) and (pointer: coarse) {
  .bpk-birthday-hub .bpk-popular-invitations .bpk-v2-viewport,
  .bpk-birthday-hub .bpk-popular-invitations .bpk-v2-track {
    scroll-snap-type: none !important;
    scroll-behavior: auto !important;
    overscroll-behavior: auto !important;
    overscroll-behavior-x: auto !important;
    overscroll-behavior-y: auto !important;
    touch-action: auto !important;
    -webkit-overflow-scrolling: auto !important;
  }

  .bpk-birthday-hub .bpk-popular-invitations .bpk-v2-card.is-carousel {
    scroll-snap-align: none !important;
    scroll-snap-stop: normal !important;
  }
}


/* 0.7.8.132 — Samsung Popular Invitations gesture lock: vertical-first.
   On coarse touch screens the Popular carousel no longer participates in
   native horizontal touch scrolling. This prevents Samsung Internet/Android
   Chromium from capturing a diagonal gesture in the nested scroller and
   freezing page scrolling for several seconds. Horizontal Popular swipes are
   translated to a programmatic card step by home-confirmed.js. */
@media (max-width: 900px) and (pointer: coarse) {
  .bpk-birthday-hub .bpk-popular-invitations .bpk-v2-viewport {
    overflow: hidden !important;
    overscroll-behavior: auto !important;
    touch-action: pan-y !important;
  }

  .bpk-birthday-hub .bpk-popular-invitations .bpk-v2-track {
    overflow-x: hidden !important;
    overflow-y: visible !important;
    scroll-snap-type: none !important;
    scroll-behavior: auto !important;
    overscroll-behavior: auto !important;
    touch-action: pan-y !important;
    -webkit-overflow-scrolling: auto !important;
  }

  .bpk-birthday-hub .bpk-popular-invitations .bpk-v2-card.is-carousel {
    scroll-snap-align: none !important;
    scroll-snap-stop: normal !important;
  }
}

/* 0.7.8.134 — Popular Invitations mobile hard stop for Samsung gesture deadlock.
   Popular no longer has any touch-driven horizontal scrolling on phones.
   Vertical finger movement belongs exclusively to the page. Navigation is by arrows. */
@media (max-width: 900px) {
  .bpk-birthday-hub .bpk-popular-invitations .bpk-v2-carousel,
  .bpk-birthday-hub .bpk-popular-invitations .bpk-v2-viewport {
    overflow: hidden !important;
    touch-action: pan-y !important;
    overscroll-behavior: auto !important;
  }

  .bpk-birthday-hub .bpk-popular-invitations .bpk-v2-track {
    overflow-x: hidden !important;
    overflow-y: visible !important;
    touch-action: pan-y !important;
    overscroll-behavior: auto !important;
    scroll-snap-type: none !important;
    scroll-behavior: auto !important;
    -webkit-overflow-scrolling: auto !important;
  }

  .bpk-birthday-hub .bpk-popular-invitations .bpk-v2-card.is-carousel {
    scroll-snap-align: none !important;
    scroll-snap-stop: normal !important;
  }

  .bpk-birthday-hub .bpk-popular-invitations .bpk-v2-arrow {
    display: grid !important;
    place-items: center !important;
    width: 38px !important;
    height: 38px !important;
    top: 42% !important;
    border-radius: 999px !important;
    z-index: 12 !important;
  }

  .bpk-birthday-hub .bpk-popular-invitations .bpk-v2-arrow.prev { left: 5px !important; }
  .bpk-birthday-hub .bpk-popular-invitations .bpk-v2-arrow.next { right: 5px !important; }
}
