/* Static links to the matching page in each country. */
.site-footer__locales {
  margin: 0 auto 28px;
  max-width: 1120px;
}

.site-footer__locales ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-footer__locales li {
  max-width: 100%;
  min-width: 0;
}

.site-footer__locales a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  max-width: 100%;
  min-height: 44px;
  padding: 9px 12px;
  border: 1px solid #fec88252;
  border-radius: 12px;
  background: #322e2f;
  color: #fec882;
  font: inherit;
  font-size: 14px;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.site-footer__locales a:hover {
  background: #4e4842;
  border-color: #fec882;
}

.site-footer__locales a:focus-visible {
  outline: 3px solid #fec882;
  outline-offset: 3px;
}

.site-footer__locale-flag {
  flex: 0 0 auto;
  font-size: 20px;
  line-height: 1;
}

:root {
  --text: #ffc882;
  --text-secondary: #ffc882;
  --muted: #ffc882;
  --structured-header-gradient: radial-gradient(circle at 50% 50%, #2e0066 50%, #340074 100%);
}

thead th,
.list-card__label,
.step-list li::before,
.step-list__text {
  background: var(--structured-header-gradient) !important;
  border-color: #ffc8824d !important;
}

.step-list li::before {
  color: #fff !important;
}

thead th,
.list-card__label {
  color: #ffc882 !important;
}

.table-scroll {
  background: transparent !important;
}

/* Keep the icon and the two-line label as one compact, centered group. */
.app-download-button__text,
.app-promo-banner .app-download-button__text,
.app-platform-panel .app-download-button__text {
  flex: 0 1 auto !important;
  width: auto !important;
  padding-inline: 4px;
}

.content-section:not(.image-copy-section) {
  background:
    radial-gradient(circle at 50% 50%, #2e006600 0, #2e006699 100%),
    linear-gradient(#000000e6, #000000e6);
}

.image-copy-section__copy {
  background:
    radial-gradient(circle at 50% 50%, #2e006600 0, #2e006642 100%),
    #000000bd;
}

.main-content .image-copy-section:not(#anbieter)::after {
  background:
    radial-gradient(circle at 50% 50%, #2e006600 0, #2e006699 100%),
    linear-gradient(90deg, #000000e6 0 100%);
}

.list-media-block .step-list li::before,
.list-media-block .step-list__text {
  background:
    radial-gradient(circle at 50% 50%, #ffc88200 0%, #ffc88299 100%),
    linear-gradient(#000000e6, #000000e6);
}

.list-media-block {
  background:
    radial-gradient(circle at 50% 50%, #ffc88200 0%, #ffc88299 100%),
    linear-gradient(#000000e6, #000000e6) !important;
  border-color: #ffc8824d !important;
  box-shadow: 0 0 30px #ffc8824d !important;
}

.list-media-block .step-list li::before {
  color: #fff;
}

.bonus-card,
.info-card,
.list-card,
.review-card,
.subsection-panel,
.promotion-art-card.info-card,
.promotion-art-card__copy,
.bonus-option-card,
.bonus-option-card:nth-child(2),
.bonus-terms-list > li,
.limit-list li,
.app-platform-panel,
.app-feature-card,
.app-feature-card:nth-child(2),
.app-feature-card:nth-child(3),
.app-benefit-card,
.app-comparison-card,
.responsible-info-card,
.self-exclusion-panel,
.support-link-list li,
.player-control-list li,
.responsible-principles li {
  background:
    radial-gradient(circle at 50% 50%, #ffc88200 0%, #ffc88299 100%),
    #000000e6 !important;
}

.list-card__label,
.review-card__score {
  color: #ffc882 !important;
  background:
    radial-gradient(circle at 50% 50%, #ffc88200 0%, #ffc88299 100%),
    #000000e6 !important;
}

.list-card__label {
  background: var(--structured-header-gradient) !important;
}

.app-platform-panel {
  background: transparent !important;
}

.main-content .list-media-block .step-list li::before,
.main-content .list-media-block .step-list__text {
  background: var(--structured-header-gradient) !important;
  border-color: #ffc8824d !important;
}

.brand-menu__badge {
  color: var(--dark) !important;
  background: linear-gradient(180deg, var(--gold), var(--peach)) !important;
}

.bonus-card h3,
.info-card h3,
.list-card h3,
.review-card h3,
.subsection-panel h3,
.promotion-art-card h3,
.bonus-option-card h3,
.app-platform-panel h3,
.app-feature-card h3,
.app-benefit-card h3,
.app-comparison-card h3,
.responsible-info-card h3,
.self-exclusion-panel h3,
.support-link-list strong,
.player-control-list strong,
.responsible-principles strong {
  color: #ff9c1a !important;
}

.bonus-card p,
.bonus-card li,
.info-card p,
.info-card li,
.info-card dd,
.list-card li,
.review-card p,
.review-card blockquote,
.subsection-panel p,
.subsection-panel li,
.promotion-art-card p,
.bonus-option-card p,
.bonus-option-card li,
.app-platform-panel p,
.app-platform-panel li,
.app-feature-card p,
.app-feature-card li,
.app-benefit-card p,
.app-benefit-card li,
.app-comparison-card p,
.app-comparison-card li,
.responsible-info-card p,
.responsible-info-card li,
.self-exclusion-panel p,
.self-exclusion-panel li,
.support-link-list small,
.player-control-list li > span,
.responsible-principles li > span,
.list-media-block p,
.list-media-block li,
.list-media-block .step-list__text {
  color: #fff !important;
}

.main-content p,
.main-content li,
.main-content td,
.main-content dd,
.technical-page p,
.technical-page li,
.site-footer__legal-copy,
.site-footer__navigation {
  color: #ffc882;
}

.main-content .promotion-banner__title {
  color: #fff !important;
}

.site-footer__payment-card {
  background: #fff !important;
}

/* Navigation colors follow the approved header, sidebar, and footer references. */
.desktop-nav__link,
.mobile-primary-nav > a {
  color: #94897a;
}

.desktop-nav__link.is-active,
.desktop-nav__link:hover,
.mobile-primary-nav > a.is-active,
.mobile-primary-nav > a:hover {
  color: #fffaf3;
}

.brand-menu__item,
.brand-menu__item:hover {
  color: #d4c5b1;
}

.brand-menu__application strong {
  color: #fffaf3;
}

/* The Bonusy i Promocje artwork should sit directly in the section. */
#boni-und-aktionen .rtp-strip-scroll {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

@media (max-width: 719px) {
  #boni-und-aktionen .rtp-strip-scroll {
    overflow-x: hidden;
  }

  #boni-und-aktionen .rtp-strip-image {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    height: auto;
    object-fit: contain;
  }
}

.brand-menu__application p {
  color: #d4c5b1;
}

.section-links a {
  color: #94897a;
}

.section-links a:hover {
  color: #d4c5b1;
}

.section-links a.is-active {
  color: #fffaf3;
}

.site-footer__navigation,
.site-footer__navigation ul,
.site-footer__legal-copy {
  color: #94897a;
}

.site-footer__navigation a:hover {
  color: #d4c5b1;
}

.site-footer__copyright {
  color: #fffaf3;
}

/* Bonus cards follow the Figma composition: raised artwork, copy, then CTA. */
.locale-bonus-grid,
.boni-welcome-grid,
.boni-reload-grid,
.boni-spins-grid {
  row-gap: 40px;
}

.promotion-art-card.info-card {
  display: flex;
  flex-direction: column;
  min-height: 490px;
  padding: 252px 12px 16px;
  overflow: visible;
}

.promotion-art-card__media {
  position: absolute;
  z-index: 2;
  top: -28px;
  left: 50%;
  width: min(calc(100% - 24px), 286px);
  min-height: 0;
  aspect-ratio: 1;
  border: 0;
  border-radius: 0;
  background: transparent;
  transform: translateX(-50%);
  overflow: visible;
  pointer-events: none;
}

.promotion-art-card__image {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 14px 18px #00000080);
}

.promotion-art-card__content,
.promotion-art-card--wide .promotion-art-card__content {
  flex: 1;
  width: 100%;
}

.promotion-art-card__copy,
.boni-promotion-card .promotion-art-card__copy {
  padding: 16px 8px 0;
  background: transparent !important;
}

.promotion-art-card h3,
.promotion-art-card p {
  text-align: center;
}

.promotion-art-card__copy > p {
  margin-bottom: var(--space-content) !important;
}

.promotion-art-card__action {
  margin-top: 0;
}

@media (max-width: 719px) {
  .promotion-art-card.info-card {
    min-height: 0;
    padding: 224px 12px 16px;
  }

  .promotion-art-card__media {
    top: -20px;
    width: min(calc(100% - 24px), 250px);
  }

  .promotion-art-card__copy,
  .boni-promotion-card .promotion-art-card__copy {
    padding: 12px 4px 0;
  }
}

/* Keep list artwork beside its copy throughout the tablet range. */
@media (min-width: 720px) and (max-width: 1180px) {
  .main-content .list-media-block {
    grid-template-columns: minmax(0, 1.08fr) minmax(260px, 0.92fr) !important;
    grid-template-areas: "copy media" !important;
    align-items: stretch;
  }

  .main-content .list-media-block.app-install-row--media-first {
    grid-template-columns: minmax(260px, 0.92fr) minmax(0, 1.08fr) !important;
    grid-template-areas: "media copy" !important;
  }

  .main-content .list-media-block__copy {
    grid-area: copy;
    min-width: 0;
  }

  .main-content .list-media-block__media {
    grid-area: media;
    align-self: stretch;
    min-width: 0;
    min-height: 0;
  }

  .main-content .boni-code-art,
  .main-content .app-benefits-reward-art {
    aspect-ratio: auto;
  }
}

/* The four bonus-event illustrations stay in one desktop-like row. */
.boni-event-art {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.boni-event-art__item {
  min-height: clamp(120px, 26vw, 250px);
}

/* On adaptive widths, shade the copy zone while leaving characters bright. */
@media (max-width: 1180px) {
  .hero__overlay {
    background: linear-gradient(
      90deg,
      #000000e8 0%,
      #000000dc 38%,
      #00000080 56%,
      #00000024 68%,
      #00000000 78%
    ) !important;
  }

  .promotion-banner__overlay {
    background: linear-gradient(
      90deg,
      #000000e8 0%,
      #000000dc 40%,
      #00000073 58%,
      #0000001f 70%,
      #00000000 80%
    ) !important;
  }
}

/* Browser-review refinements for the three adaptive image/text exceptions. */
@media (min-width: 720px) and (max-width: 1180px) {
  .main-content.boni-page-content #national-casino-boni-aktionen {
    min-height: 0 !important;
    justify-content: flex-start !important;
  }

  .main-content .boni-claim-layout {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
      "copy"
      "media" !important;
  }

  .app-benefits-reward-art img {
    object-position: 18% center;
  }
}

@media (max-width: 1180px) {
  .main-content .boni-claim-layout .boni-media-panel {
    min-height: 0 !important;
    aspect-ratio: 1884 / 1010;
  }
}

/* Fit both download-label lines beside the icon in the tablet banner. */
@media (min-width: 720px) and (max-width: 1180px) {
  .app-promo-banner .app-download-button__text {
    font-size: clamp(12px, 1.6vw, 14px);
  }
}

@media (max-width: 1180px) {
  .app-hero .hero__description .hero__line {
    display: inline;
    white-space: normal;
  }

  .app-hero .hero__image--desktop {
    display: block;
    object-position: 75% center;
  }

  .app-hero .hero__image--mobile {
    display: none;
  }

  .app-definition-art {
    min-height: 0;
    height: clamp(300px, 56vw, 600px);
  }

  .app-definition-art img {
    object-position: center 25%;
  }
}

@media (max-width: 719px) {
  .app-hero {
    min-height: 0;
    padding-top: 0;
    background: var(--dark);
    display: flex;
    flex-direction: column;
  }

  .app-hero .hero__image--desktop {
    position: relative !important;
    inset: auto !important;
    height: auto !important;
    aspect-ratio: 1672 / 941;
    object-fit: contain;
  }

  .app-hero .hero__overlay {
    height: auto !important;
    aspect-ratio: 1672 / 941;
    bottom: auto;
  }

  .app-hero .hero__overlay {
    background: linear-gradient(#0000 55%, var(--dark)) !important;
  }

  .app-hero .hero__content {
    width: 100%;
  }
}

/* Installation cards keep equal columns throughout the tablet range. */
@media (min-width: 640px) and (max-width: 1180px) {
  .main-content .app-install-row.list-media-block,
  .main-content .app-install-row.list-media-block.app-install-row--media-first {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-areas: none !important;
  }

  .main-content .app-install-row .app-install-copy {
    display: contents;
  }

  .main-content .app-install-row .app-install-copy > :not(.step-list) {
    grid-column: 1 / -1;
    width: 100%;
    margin: 0;
  }

  .main-content .app-install-row .app-platform-title {
    grid-row: 1;
  }

  .main-content .app-install-row .app-install-copy > p:first-of-type {
    grid-row: 2;
  }

  .main-content .app-install-row .step-list {
    grid-column: 1;
    grid-row: 3;
    margin: 0;
  }

  .main-content .app-install-row .app-download-button {
    grid-row: 4;
  }

  .main-content .app-install-row .app-install-copy > p:last-child {
    grid-row: 5;
  }

  .main-content .app-install-row .app-install-media {
    grid-area: 3 / 2 !important;
    min-height: 0;
    aspect-ratio: auto;
    align-self: stretch;
  }

  .main-content .app-install-row--media-first .step-list {
    grid-column: 2;
  }

  .main-content .app-install-row--media-first .app-install-media {
    grid-column: 1 !important;
  }

  .main-content .app-install-row .app-install-media img {
    object-fit: cover;
    object-position: 40% center;
  }
}

/* Keep adaptive artwork independent of copy height, including live rotations. */
@media (max-width: 1180px) {
  .main-content .image-copy-section:not(#anbieter) {
    --adaptive-section-art-height: min(56.25vw, 420px);
    min-height: 0;
    padding-top: calc(var(--adaptive-section-art-height) - var(--space-nested));
    background: var(--dark);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }

  .main-content .image-copy-section:not(#anbieter) > .image-copy-section__image {
    z-index: 0;
    width: 100% !important;
    height: var(--adaptive-section-art-height) !important;
    inset: 0 0 auto !important;
    object-fit: cover;
    object-position: center top;
  }

  .main-content .image-copy-section:not(#anbieter) > .image-copy-section__overlay {
    z-index: 1;
    height: var(--adaptive-section-art-height);
    inset: 0 0 auto;
    background: linear-gradient(#0000 55%, #111111b3);
    pointer-events: none;
  }

  .main-content .image-copy-section:not(#anbieter)::after {
    z-index: 2;
    top: calc(var(--adaptive-section-art-height) - var(--space-nested));
    pointer-events: none;
  }

  .main-content .image-copy-section:not(#anbieter) > h2,
  .main-content .image-copy-section:not(#anbieter) > .image-copy-section__copy {
    z-index: 3;
  }
}

@media (max-width: 719px) {
  .main-content .image-copy-section:not(#anbieter) {
    --adaptive-section-art-height: min(56.25vw, 230px);
  }
}
