/* Packages-page layout and media corrections. */

.packages-page-polish .packages-grid {
  display: grid !important;
  width: min(1760px, 100%) !important;
  max-width: 1760px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
  justify-content: center !important;
}

.packages-page-polish .package-card {
  min-width: 0 !important;
  padding: 1rem !important;
}

/* Images belong directly to the card, without another framed panel. */
.packages-page-polish .package-media,
.packages-page-polish .package-card-bundle-home .package-media,
.packages-page-polish .package-card-bundle-home .bundle-media-custom {
  width: 100% !important;
  height: 225px !important;
  min-height: 225px !important;
  margin: 0 0 1rem !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 10px 10px 0 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.packages-page-polish .package-media::before,
.packages-page-polish .package-media::after,
.packages-page-polish .bundle-media-custom::before,
.packages-page-polish .bundle-media-custom::after {
  display: none !important;
  content: none !important;
}

.packages-page-polish .package-media > img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  box-shadow: none !important;
}

.packages-page-polish .package-card:nth-child(3) .package-media > img {
  width: 82% !important;
  height: 82% !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.25));
}

.packages-page-polish .package-card:nth-child(2) .package-media > img {
  width: 96% !important;
  height: 96% !important;
  max-width: 96% !important;
  margin: auto !important;
  object-fit: contain !important;
}

.packages-page-polish .package-card:first-child .package-media > img {
  width: 98% !important;
  height: 98% !important;
  max-width: 98% !important;
  margin: auto !important;
  object-fit: contain !important;
}

.packages-page-polish .package-video-media {
  background: #020711 !important;
}

/* One clean bundle image group, without nested icon cards. */
.packages-page-polish .package-card-bundle-home .bundle-icon-grid {
  gap: 12px !important;
  padding: 30px 18px !important;
  background: transparent !important;
}

.packages-page-polish .package-card-bundle-home .bundle-icon-grid span {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.packages-page-polish .package-card-bundle-home {
  border-color: rgba(115, 164, 202, 0.22) !important;
  background: linear-gradient(155deg, rgba(8, 30, 53, 0.88), rgba(7, 18, 36, 0.96)) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.035), 0 14px 34px rgba(0, 0, 0, 0.2) !important;
}

.packages-page-polish .package-card-bundle-home .bundle-media-custom {
  height: 100% !important;
  min-height: 0 !important;
}

.packages-page-polish .package-card-bundle-home .bundle-icon-grid svg {
  stroke: rgba(190, 229, 244, 0.86) !important;
}

.packages-page-polish .package-actions {
  gap: 9px !important;
}

.packages-page-polish .package-price {
  white-space: nowrap;
}

.packages-page-polish .package-price-cycle {
  display: inline-block;
  color: rgba(213, 231, 242, .78);
  font-size: .56em;
  font-weight: 600;
  white-space: nowrap;
  vertical-align: .12em;
}

.packages-page-polish .package-actions .package-button {
  min-height: 44px !important;
  border: 1px solid rgba(121, 184, 215, 0.24) !important;
  border-radius: 9px !important;
  background: rgba(22, 70, 100, 0.78) !important;
  color: #edf9fd !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.045), 0 7px 16px rgba(0, 0, 0, 0.18) !important;
  transform: none !important;
}

.packages-page-polish .package-actions .package-view-button {
  background: rgba(7, 22, 38, 0.52) !important;
  color: rgba(221, 240, 248, 0.86) !important;
}

.packages-page-polish .package-actions .package-button::before,
.packages-page-polish .package-actions .package-button::after {
  display: none !important;
  content: none !important;
}

.packages-page-polish .package-actions .package-button:hover {
  border-color: rgba(153, 211, 237, 0.42) !important;
  background: rgba(29, 83, 115, 0.88) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.06), 0 9px 20px rgba(0, 0, 0, 0.22) !important;
}

@media (max-width: 1180px) {
  .packages-page-polish .packages-grid {
    width: min(100%, 1100px) !important;
    max-width: 1100px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
    touch-action: pan-y;
    padding: 0 16px 14px !important;
  }
}

@media (max-width: 780px) {
  body {
    overflow-x: clip !important;
  }

  .packages-page-polish .packages-grid {
    width: min(100%, 560px) !important;
    max-width: 560px !important;
    margin-inline: auto !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
    scroll-padding: 0 !important;
    overscroll-behavior: auto !important;
    touch-action: pan-y !important;
    padding: 0 16px 20px !important;
    scrollbar-width: auto;
  }

  .packages-page-polish .package-card {
    width: 100% !important;
    min-width: 0 !important;
    scroll-snap-align: none !important;
    scroll-snap-stop: normal !important;
  }
}

@media (max-width: 560px) {
  .packages-page-polish .packages-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
    padding-right: 14px !important;
    padding-left: 14px !important;
  }

  .packages-page-polish .package-media,
  .packages-page-polish .package-card-bundle-home .package-media,
  .packages-page-polish .package-card-bundle-home .bundle-media-custom {
    height: 225px !important;
    min-height: 225px !important;
  }
}
