/* NinetySeven layout mengikuti referensi: panel tengah, barisan rapi. */

/* Satu area konten tengah */
main > .container,
body > .container,
.container:has(#flashdata),
.container:has(#popular-cards-container),
.container:has(#semua-kategori) {
  width: min(100% - 32px, 820px) !important;
  max-width: 820px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Flash Sale: lima kartu horizontal */
#flashdata.container,
#flashdata.container-fluid {
  width: min(100% - 32px, 820px) !important;
  max-width: 820px !important;
  margin: 18px auto 24px !important;
  padding: 0 !important;
}

#flashdata .ns-flashsale-panel {
  height: 220px !important;
  overflow: hidden !important;
  border-radius: 12px !important;
  background: #202125 !important;
}

#flashdata .ns-flashsale-scroll {
  height: 162px !important;
  overflow: hidden !important;
  padding: 4px 10px 10px !important;
}

#flashdata .swiper-wrapper-fs {
  display: flex !important;
  flex-flow: row nowrap !important;
  gap: 8px !important;
  width: max-content !important;
  height: 148px !important;
  transform: translate3d(0,0,0) !important;
}

#flashdata .ns-flash-card {
  flex: 0 0 150px !important;
  width: 150px !important;
  height: 142px !important;
  min-height: 142px !important;
  border-radius: 7px !important;
  background: #4d4f52 !important;
  box-shadow: none !important;
}

#flashdata .ns-flash-card-main {
  height: 108px !important;
  min-height: 108px !important;
  padding: 7px !important;
}

#flashdata .ns-flash-card-title {
  min-height: 22px !important;
  font-size: 9px !important;
  line-height: 1.15 !important;
}

#flashdata .ns-flash-card-game {
  font-size: 8px !important;
}

#flashdata .ns-flash-card-image {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  margin: 3px auto !important;
}

#flashdata .ns-flash-card-price {
  font-size: 12px !important;
}

#flashdata .ns-flash-card-old,
#flashdata .ns-flash-discount {
  font-size: 7px !important;
}

#flashdata .ns-flash-card-footer {
  height: 34px !important;
  min-height: 34px !important;
  padding: 4px 5px !important;
}

#flashdata .ns-flash-checkout {
  padding: 5px 6px !important;
  font-size: 7px !important;
}

/* Trending: tiga kolom kartu horizontal */
#popular-cards-container {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 0 22px !important;
  gap: 10px !important;
}

#popular-cards-container > li {
  display: flex !important;
  align-items: center !important;
  min-height: 70px !important;
  height: 70px !important;
  padding: 8px !important;
  gap: 8px !important;
  overflow: hidden !important;
  border-radius: 8px !important;
}

#popular-cards-container > li img {
  flex: 0 0 45px !important;
  width: 45px !important;
  height: 45px !important;
  min-width: 45px !important;
  min-height: 45px !important;
  border-radius: 6px !important;
  object-fit: cover !important;
}

#popular-cards-container > li h2,
#popular-cards-container > li h3 {
  font-size: 10px !important;
  line-height: 1.15 !important;
}

#popular-cards-container > li p {
  margin-top: 3px !important;
  font-size: 8px !important;
  line-height: 1.1 !important;
}

/* Kategori: enam kartu per baris seperti referensi */
#games-container:not([hidden]),
#pulsa-data-container:not([hidden]),
#ewallet-container:not([hidden]),
#voucher-container:not([hidden]) {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 0 24px !important;
  gap: 8px !important;
}

#games-container > .card-tabs,
#pulsa-data-container > .card-tabs,
#ewallet-container > .card-tabs,
#voucher-container > .card-tabs {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

#games-container > .card-tabs > div,
#pulsa-data-container > .card-tabs > div,
#ewallet-container > .card-tabs > div,
#voucher-container > .card-tabs > div {
  height: 142px !important;
  min-height: 142px !important;
  overflow: hidden !important;
  border-radius: 6px !important;
}

#games-container img,
#pulsa-data-container img,
#ewallet-container img,
#voucher-container img {
  width: 100% !important;
  height: 104px !important;
  min-height: 104px !important;
  max-height: 104px !important;
  object-fit: cover !important;
  border-radius: 5px 5px 0 0 !important;
}

#games-container h2,
#pulsa-data-container h2,
#ewallet-container h2,
#voucher-container h2 {
  padding: 4px 5px 0 !important;
  font-size: 8px !important;
  line-height: 10px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#games-container p,
#pulsa-data-container p,
#ewallet-container p,
#voucher-container p {
  padding: 1px 5px !important;
  font-size: 7px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

@media (max-width: 900px) {
  main > .container,
  body > .container,
  .container:has(#flashdata),
  .container:has(#popular-cards-container),
  .container:has(#semua-kategori) {
    width: calc(100% - 24px) !important;
  }

  #games-container:not([hidden]),
  #pulsa-data-container:not([hidden]),
  #ewallet-container:not([hidden]),
  #voucher-container:not([hidden]) {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px) {
  #popular-cards-container {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #games-container:not([hidden]),
  #pulsa-data-container:not([hidden]),
  #ewallet-container:not([hidden]),
  #voucher-container:not([hidden]) {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }

  #games-container > .card-tabs > div,
  #pulsa-data-container > .card-tabs > div,
  #ewallet-container > .card-tabs > div,
  #voucher-container > .card-tabs > div {
    height: 126px !important;
    min-height: 126px !important;
  }

  #games-container img,
  #pulsa-data-container img,
  #ewallet-container img,
  #voucher-container img {
    height: 88px !important;
    min-height: 88px !important;
    max-height: 88px !important;
  }
}