.nas-single--page:has(.promotions) .nas-single__body {
  padding: 0;
}

.promotions {
  grid-template-rows: auto auto 1fr;
}

.promotions__spacer {
  height: 0.5rem;
}

.promotions-content.page {
  background-color: #030a12;
  height: auto;
  min-height: 0;
  padding: 0;
  width: 100%;
}

.promotions-content > ul {
  display: grid;
  gap: 0.25rem;
  grid-auto-flow: dense;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}

.promotions-content > ul > .alert {
  grid-column: 1 / -1;
}

.promotions-content > .alert,
.promotions-content > .loading-observer {
  margin: 0.5rem;
}

.promotion {
  background-color: #0e253e;
  display: grid;
  gap: 0.5rem;
  overflow: hidden;
  padding: 0.5rem;
  position: relative;
}

.promotion__title {
  color: inherit;
  display: block;
  padding-right: 1.5rem;
  text-decoration: none;
}

.promotion__title h2 {
  display: -webkit-box;
  font-size: 0.875rem;
  font-weight: 700;
  height: 2lh;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  margin: 0;
  overflow: hidden;
}

.promotion__title h4 {
  color: #d60405;
  font-size: 0.625rem;
  height: 1lh;
  margin: 0;
}

.promotion > p {
  display: -webkit-box;
  font-size: 0.75rem;
  font-weight: 700;
  height: 7lh;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 7;
  line-clamp: 7;
  margin: 0;
  overflow: hidden;
}

.promotion__controls {
  display: grid;
  gap: 0.5rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  justify-content: start;
}

.promotion--highlight {
  grid-column: 1 / -1;
}

.promotion--highlight .promotion__title h2 {
  height: 1lh;
  -webkit-line-clamp: 1;
  line-clamp: 1;
}

.promotion--highlight > p {
  height: 3lh;
  -webkit-line-clamp: 3;
  line-clamp: 3;
}

.promotion--highlight .promotion__controls {
  grid-template-columns: 1fr repeat(2, minmax(0, 1fr)) 1fr;
}

.promotion--highlight .promotion__controls .btn--accent {
  grid-column: 2 / 3;
}

.promotion--highlight .promotion__controls .btn.detail {
  grid-column: 3 / 4;
}

.promotion--highlight .promotion__controls .btn.detail:only-child {
  grid-column: 2 / 4;
}

.promotion__flag {
  position: absolute;
  right: 0;
  top: 0;
  width: 2rem;
  z-index: 2;
}

.promotion__flag div {
  display: flex;
  justify-content: flex-end;
  padding: 0.3125rem 0.25rem 0.25rem;
}

.promotion__flag::before {
  border-radius: 5px 0 0 5px;
  content: "";
  height: 0.1875rem;
  position: absolute;
  right: 0;
  width: 2rem;
}

.promotion__flag.exclusive::before {
  background-color: #f2a20f;
}

.promotion__flag.network::before {
  background-color: #0a46a6;
}

.promotion-detail {
  background-color: #030a12;
}

.promotion-detail .loading-observer {
  padding: 0.5rem;
}

.promotion-detail__current {
  min-height: 14rem;
}

.promotion-detail__current.is-ready {
  min-height: 0;
}

.promotion-detail__current > .promotion-detail__summary,
.promotion-detail__current > p.promotion-detail__summary {
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.45;
  margin: 0;
  padding: 0 0.5rem;
}

.promotion-detail .promotion-banner {
  padding: 0 0.5rem;
}

.promotion-detail .promotion-banner.promotion-banner--highlight a,
.promotion-detail .promotion-banner a {
  padding-bottom: 46.34146%;
}

.promotion-detail .promotion-detail__content {
  box-sizing: border-box;
  color: hsla(0, 0%, 100%, 0.88);
  line-height: 1.5;
  max-width: 100%;
  overflow: visible;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  word-break: break-word;
}

.promotion-detail .promotion-detail__content + .promotion-detail__content,
.promotion-detail .promotion-detail__rules {
  border-top: 1px solid hsla(0, 0%, 100%, 0.12);
  margin-top: 0.25rem;
  padding-top: 0.75rem;
}

.promotion-detail .promotion-detail__content h2,
.promotion-detail .promotion-detail__content h3,
.promotion-detail .promotion-detail__content h4 {
  color: #fff;
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.35;
  margin: 0.75rem 0 0.375rem;
}

.promotion-detail .promotion-detail__content > :first-child {
  margin-top: 0;
}

.promotion-detail .promotion-detail__content div {
  margin-bottom: 0.375rem;
}

.promotion-detail .promotion-detail__content p {
  margin: 0 0 0.5rem;
}

.promotion-detail .promotion-detail__content img {
  display: block;
  height: auto;
  margin: 0.5rem auto;
  max-width: 100%;
}

.promotion-detail .promotion-detail__content ul {
  list-style: disc inside;
  margin: 0 0 0.5rem;
  padding-left: 0.25rem;
}

.promotion-detail .promotion-detail__content table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.promotion-detail .promotion-detail__content table td,
.promotion-detail .promotion-detail__content table th {
  font-size: 0.6875rem;
  word-break: break-word;
}

.promotion-detail__actions {
  padding: 0 0.5rem 0.75rem;
}

.promotion-detail--d .promotion-list {
  min-width: 0;
}

.promotion-detail--d .promotion-list__item {
  color: inherit;
  text-decoration: none;
}

@media (min-width: 1024px) {
  .promotions > .page-nav.page-nav--grid {
    align-items: center;
    display: grid;
    grid-template-columns: auto 1fr;
  }

  .promotion-detail--d {
    min-height: 24rem;
  }

  .promotion-detail--d .promotion-detail__current {
    min-height: 0;
  }
}
