/* Packaging corrections isolated from the historical responsive rules. */
.combo-page main > #cultivo .gallery-card > picture,
.combo-page main > #packaging .gallery-card > picture {
  display: block;
  width: 100%;
  height: 100%;
}

.combo-page main > #cultivo .gallery-card > picture > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.combo-page main > #packaging.section,
.combo-page main > #packaging.section:target {
  scroll-margin-top: var(--app-topbar) !important;
}

.combo-page main > #packaging .gallery-card.mockup-photo,
.combo-page main > #packaging .gallery-card.mockup-photo img {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

.combo-page main > #packaging .gallery-card.mockup-photo {
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 2 / 3 !important;
  overflow: hidden !important;
}

.combo-page main > #packaging .gallery-card.mockup-photo img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
  filter: drop-shadow(0 18px 22px rgba(0, 0, 0, 0.34));
}

@media (min-width: 721px) {
  .combo-page main > #packaging .section-head {
    margin-bottom: 18px !important;
  }

  .combo-page main > #packaging .gallery-strip {
    column-gap: 16px !important;
    padding-inline: 0 !important;
    padding-bottom: 28px !important;
  }

  .combo-page main > #packaging .gallery-card.mockup-photo {
    width: 100% !important;
    height: clamp(330px, calc(100svh - 290px), 760px) !important;
    aspect-ratio: auto !important;
    position: relative !important;
  }

  .combo-page main > #packaging .gallery-card.mockup-photo img {
    position: absolute !important;
    inset: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
  }
}

/* Mobile scroll stability: vertical gestures remain native over horizontal media rails. */
@media (max-width: 720px) {
  body.combo-page .topbar {
    background: rgba(8, 8, 8, 0.98) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  body.combo-page main > :is(#geneticas, #cultivo, #packaging) :is(.strains-grid, .gallery-strip) {
    touch-action: pan-y pinch-zoom !important;
    scroll-snap-type: x proximity !important;
    scroll-snap-stop: normal !important;
    scroll-behavior: auto !important;
    overscroll-behavior: auto !important;
  }

  body.combo-page main > :is(#geneticas, #cultivo, #packaging) :is(.strain, .gallery-card) {
    scroll-snap-stop: normal !important;
  }
}

@media (max-width: 720px) {
  .combo-page main > #packaging.section,
  .combo-page main > #packaging.section:target {
    scroll-margin-top: var(--app-topbar) !important;
  }

  .combo-page main > #packaging .gallery-strip {
    margin-bottom: 0 !important;
  }

  .combo-page main > #packaging .gallery-card.mockup-photo > picture {
    display: block;
    width: 100%;
    height: 100%;
  }

  .combo-page main > #packaging .gallery-card.mockup-photo > picture > img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    filter: none !important;
  }
}

/* Keep the Asociarse continuation cue in its own row on desktop. */
@media (min-width: 721px) {
  .combo-page #asociarse .modalities-panel {
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    padding-bottom: 16px !important;
  }

  .combo-page #asociarse .modalities-panel .membership-options {
    grid-row: 2;
  }

  .combo-page #asociarse .modalities-panel .join-cue {
    position: static !important;
    grid-row: 3;
    justify-self: center;
    margin: 8px 0 0 !important;
    transform: none !important;
  }
}
