.apex-promo-page {
  display: grid;
  gap: 14px;
}

.apex-promo-hero,
.apex-promo-card {
  border: 1px solid color-mix(in srgb, var(--apex-line) 55%, transparent);
  border-radius: 12px;
  background:
    radial-gradient(circle at 100% 0, color-mix(in srgb, var(--apex-accent) 10%, transparent), transparent 150px),
    linear-gradient(180deg, rgba(255, 255, 255, .03), transparent 38.2%),
    color-mix(in srgb, var(--apex-panel) 86%, var(--apex-bg));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .05),
    0 8px 18px rgba(0, 0, 0, .22);
}

.apex-promo-hero {
  display: grid;
  gap: 7px;
  padding: 18px;
}

.apex-promo-hero span {
  color: var(--apex-accent);
  font-size: 12px;
  line-height: 1;
}

.apex-promo-hero h1 {
  margin: 0;
  color: var(--apex-text);
  font-size: 24px;
  line-height: 1.1;
}

.apex-promo-hero p {
  max-width: 46em;
  margin: 0;
  color: var(--apex-muted);
  font-size: 13px;
  line-height: 1.5;
}

.apex-promo-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  padding: 4px;
  border: 1px solid color-mix(in srgb, var(--apex-line) 40%, transparent);
  border-radius: 12px;
  background: color-mix(in srgb, var(--apex-panel) 72%, #050101);
}

.apex-promo-tab-input {
  position: fixed;
  left: -100vw;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.apex-promo-tabs label {
  display: grid;
  place-items: center;
  flex: 1 0 auto;
  min-width: 92px;
  min-height: 38px;
  padding: 0 14px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: color-mix(in srgb, var(--apex-text) 74%, transparent);
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  user-select: none;
  transition: color .15s ease, background .15s ease;
}

.apex-promo-tabs label:hover {
  color: var(--apex-accent);
}

#apexPromoTabsemua:checked ~ .apex-promo-tabs label[for="apexPromoTabsemua"],
#apexPromoTabspecial:checked ~ .apex-promo-tabs label[for="apexPromoTabspecial"],
#apexPromoTabslot:checked ~ .apex-promo-tabs label[for="apexPromoTabslot"],
#apexPromoTabcasino:checked ~ .apex-promo-tabs label[for="apexPromoTabcasino"],
#apexPromoTabsports:checked ~ .apex-promo-tabs label[for="apexPromoTabsports"],
#apexPromoTabtogel:checked ~ .apex-promo-tabs label[for="apexPromoTabtogel"],
#apexPromoTabbonus:checked ~ .apex-promo-tabs label[for="apexPromoTabbonus"] {
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--apex-primary) 36%, var(--apex-panel)), color-mix(in srgb, var(--apex-primary) 18%, #090202));
  color: var(--apex-accent);
  box-shadow: inset 0 -2px 0 var(--apex-accent);
}

.apex-promo-content {
  display: grid;
}

.apex-promo-panel {
  display: none;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 14px;
  align-items: start;
}

#apexPromoTabsemua:checked ~ .apex-promo-content .is-panel-semua,
#apexPromoTabspecial:checked ~ .apex-promo-content .is-panel-special,
#apexPromoTabslot:checked ~ .apex-promo-content .is-panel-slot,
#apexPromoTabcasino:checked ~ .apex-promo-content .is-panel-casino,
#apexPromoTabsports:checked ~ .apex-promo-content .is-panel-sports,
#apexPromoTabtogel:checked ~ .apex-promo-content .is-panel-togel,
#apexPromoTabbonus:checked ~ .apex-promo-content .is-panel-bonus {
  display: grid;
}

.apex-promo-card {
  display: grid;
  grid-template-rows: auto 1fr auto;
  overflow: hidden;
}

.apex-promo-media {
  position: relative;
  display: grid;
  min-height: 120px;
  overflow: hidden;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--apex-primary) 42%, #220606), color-mix(in srgb, var(--apex-bg) 82%, #000));
}

.apex-promo-media img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 16 / 7;
  object-fit: cover;
}

.apex-promo-media.is-error img {
  display: none;
}

.apex-promo-fallback {
  display: none;
  place-items: center;
  min-height: 120px;
  padding: 18px;
  color: var(--apex-accent);
  font-size: 18px;
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
}

.apex-promo-media.is-error .apex-promo-fallback,
.apex-promo-media:not(.is-has-image) .apex-promo-fallback {
  display: grid;
}

.apex-promo-media > span {
  position: absolute;
  left: 10px;
  top: 10px;
  min-height: 24px;
  padding: 6px 9px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--apex-bg) 76%, #000);
  color: var(--apex-accent);
  font-size: 10px;
  line-height: 1;
}

.apex-promo-body {
  display: grid;
  gap: 6px;
  align-content: start;
  padding: 13px 13px 0;
}

.apex-promo-title {
  margin: 0;
  color: var(--apex-text);
  font-size: 15px;
  font-weight: 650;
  line-height: 1.3;
}

.apex-promo-excerpt {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  margin: 0;
  overflow: hidden;
  color: var(--apex-muted);
  font-size: 12px;
  line-height: 1.5;
}

.apex-promo-details {
  display: grid;
}

.apex-promo-details summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px;
  list-style: none;
  cursor: pointer;
  user-select: none;
}

.apex-promo-details summary::-webkit-details-marker {
  display: none;
}

.apex-promo-details summary span {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  color: var(--apex-muted);
  font-size: 12px;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.apex-promo-details summary b {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  min-height: 32px;
  border: 0;
  border-radius: 999px;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--apex-accent) 76%, #f2dfb2), color-mix(in srgb, var(--apex-accent) 50%, var(--apex-primary)));
  color: color-mix(in srgb, var(--apex-bg) 92%, #000);
  padding: 0 13px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
}

.apex-promo-detail {
  display: grid;
  max-height: 0;
  overflow: hidden;
  padding: 0 13px;
  border-top: 1px solid transparent;
  color: var(--apex-muted);
  font-size: 13px;
  line-height: 1.55;
  transition: max-height .22s ease, padding .22s ease, border-color .22s ease;
}

.apex-promo-details[open] .apex-promo-detail {
  max-height: 780px;
  padding: 13px;
  border-top-color: color-mix(in srgb, var(--apex-line) 68%, transparent);
  overflow-y: auto;
}

.apex-promo-details[open] summary b {
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--apex-primary) 72%, #ff6b46), color-mix(in srgb, var(--apex-primary) 78%, #170404));
  color: var(--apex-text);
  font-size: 0;
}

.apex-promo-details[open] summary b::before {
  content: "Tutup";
  font-size: 12px;
}

.apex-promo-detail,
.apex-promo-detail * {
  font-size: 13px;
  line-height: 1.55;
  color: var(--apex-muted);
}

.apex-promo-detail h1,
.apex-promo-detail h2,
.apex-promo-detail h3,
.apex-promo-detail strong,
.apex-promo-detail b {
  color: var(--apex-text);
  font-weight: 650;
}

.apex-promo-detail h1,
.apex-promo-detail h2,
.apex-promo-detail h3 {
  margin: 0 0 8px;
  color: var(--apex-accent);
  font-size: 15px;
  line-height: 1.25;
}

.apex-promo-detail p,
.apex-promo-detail ul,
.apex-promo-detail ol {
  margin: 0 0 10px;
}

.apex-promo-detail ul,
.apex-promo-detail ol {
  padding-left: 18px;
}

.apex-promo-detail img,
.apex-promo-detail table {
  max-width: 100%;
  height: auto;
}

.apex-promo-empty {
  display: grid;
  gap: 6px;
  justify-items: center;
  grid-column: 1 / -1;
  padding: 40px 18px;
  border: 1px dashed color-mix(in srgb, var(--apex-line) 68%, transparent);
  border-radius: 12px;
  color: var(--apex-muted);
  text-align: center;
}

.apex-promo-empty strong {
  color: var(--apex-text);
  font-size: 14px;
}

.apex-promo-empty span {
  font-size: 12px;
}
