:root {
  --text: #ffc882;
  --text-secondary: #ffc882;
  --muted: #ffc882;
  --structured-header-gradient: radial-gradient(#008829 50%, #007323 100%);
}

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

.content-section:not(.image-copy-section) {
  background:
    radial-gradient(#00ac3400 0, #00ac3499 100%),
    linear-gradient(#000000e6, #000000e6);
}

.image-copy-section__copy {
  background:
    radial-gradient(#00ac3400 0, #00ac3442 100%),
    #000000bd;
}

.main-content .image-copy-section:not(#anbieter)::after {
  background:
    radial-gradient(#00ac3400 0, #00ac3499 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: #ffc882;
}

.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,
.list-card__label,
.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;
}

@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;
}

/* Keep list artwork beside its copy throughout the tablet range. */
@media (min-width: 720px) and (max-width: 1180px) {
  .step-media-layout,
  .app-install-row.list-media-block,
  .app-benefits-reward-layout {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch;
  }

  .app-install-row.list-media-block {
    grid-template-areas: "copy media" !important;
  }

  .app-install-row.list-media-block.app-install-row--media-first {
    grid-template-areas: "media copy" !important;
  }

  .step-media-layout > .list-media-block__media,
  .app-install-row > .list-media-block__media,
  .app-benefits-reward-layout > .list-media-block__media {
    min-height: 0;
    height: auto;
    align-self: stretch;
  }

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

  .app-promo-banner .app-download-button {
    gap: 10px;
    padding-inline: 8px;
  }

  .app-promo-banner .app-download-button__icon {
    max-width: 30px;
    height: 30px;
  }

  .app-promo-banner .app-download-button__text {
    flex: 0 1 auto;
    width: auto;
    font-size: clamp(10px, 1.4vw, 12px);
    line-height: 1.2;
  }

  .app-platform-panel .app-download-button {
    gap: 10px;
  }

  .app-platform-panel .app-download-button__text {
    flex: 0 1 auto;
    width: auto;
  }

  /* This registration screenshot is more useful at full width below its list. */
  .boni-claim-layout.step-media-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .boni-claim-layout > .boni-media-panel.list-media-block__media {
    width: 100%;
    min-height: 0;
    height: auto;
    aspect-ratio: 1714 / 918;
  }

  /* Remove the unused flex remainder above copy in the reviewed tablet sections. */
  #turniere,
  #zahlungen-und-support,
  #national-casino-boni-aktionen,
  #angebot-waehlen,
  #i-efarmogi-national-casino-stin-ellada {
    min-height: 0 !important;
    justify-content: flex-start !important;
  }

  #bewertungskarte .rating-card-layout__media img {
    object-position: 50% 10%;
  }

  .app-hero .hero__image--desktop {
    display: block !important;
    object-position: center top;
  }

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

/* Character artwork stays bright; darkness is confined to the text side. */
@media (max-width: 1180px) {
  .hero__image,
  .promotion-banner__image {
    opacity: 1;
    filter: brightness(1.12) saturate(1.05);
  }

  .hero__overlay,
  .promotion-banner__overlay {
    background: linear-gradient(
      90deg,
      rgba(0, 0, 0, 0.9) 0%,
      rgba(0, 0, 0, 0.84) 38%,
      rgba(0, 0, 0, 0.42) 56%,
      rgba(0, 0, 0, 0) 76%
    );
  }
}

/* The four bonus illustrations remain one compact row on tablet and mobile. */
@media (max-width: 960px) {
  .boni-event-art {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: clamp(4px, 1vw, 8px);
  }

  .boni-event-art__item {
    min-height: 0;
    aspect-ratio: 1 / 1;
  }
}

@media (max-width: 719px) {
  .hero__content,
  .promotion-banner__content {
    width: min(78%, 560px);
  }

  .hero__overlay {
    background: linear-gradient(
      90deg,
      rgba(0, 0, 0, 0.92) 0%,
      rgba(0, 0, 0, 0.76) 30%,
      rgba(0, 0, 0, 0.18) 46%,
      rgba(0, 0, 0, 0) 58%
    );
  }

  .promotion-banner__overlay {
    background: linear-gradient(
      90deg,
      rgba(0, 0, 0, 0.92) 0%,
      rgba(0, 0, 0, 0.86) 46%,
      rgba(0, 0, 0, 0.44) 64%,
      rgba(0, 0, 0, 0) 84%
    );
  }
}

/* Responsive CZ: media geometry must not depend on image loading or text height. */
.main-content .image-copy-section:not(#anbieter) {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "art" "heading" "copy" "action";
  min-height: 0;
  padding: var(--space-nested);
  gap: 0;
  justify-content: normal;
  background: radial-gradient(#00ac3400 0, #00ac3499 100%), linear-gradient(#000000e6, #000000e6);
}
.main-content .image-copy-section:not(#anbieter)::after { content: none; }
.image-copy-section__art {
  grid-area: art;
  position: relative;
  isolation: isolate;
  width: 100%;
  aspect-ratio: var(--art-ratio, 16 / 9);
  max-height: 440px;
  overflow: hidden;
  border-radius: 12px;
}
.image-copy-section__art > .image-copy-section__image {
  z-index: 0;
  object-fit: cover;
  object-position: center top;
}
.main-content .image-copy-section:not(#anbieter) > h2 { grid-area: heading; }
.main-content .image-copy-section:not(#anbieter) > .image-copy-section__copy {
  grid-area: copy;
  min-width: 0;
  padding: var(--space-content);
}
.image-copy-section__copy > :last-child { margin-bottom: 0; }
.main-content .image-copy-section > .content-section__action {
  grid-area: action;
  margin: 0 auto var(--space-content);
}
/* Only the steps share a row with artwork; introductions and endings stay wide. */
.app-install-row.list-media-block,
.app-install-row.list-media-block.app-install-row--media-first,
.app-benefits-reward-layout.list-media-block,
.boni-code-layout.step-media-layout {
  display: block;
}
.app-install-row.list-media-block > .app-install-copy { display: flex; }
.list-media-block__steps {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-content);
  align-items: stretch;
  min-width: 0;
}
.list-media-block__steps > .list-media-block__media {
  min-height: 0;
  height: auto;
  aspect-ratio: auto;
  align-self: stretch;
}
.list-media-block__steps > .list-media-block__media img {
  object-position: center top;
}
.app-install-row--android .app-install-media img { object-position: 50% 12%; }
.app-install-row--ios .app-install-media img { object-position: 50% 8%; }
.boni-code-layout .boni-code-art img { object-position: 50% top; }
.app-benefits-reward-layout .app-benefits-reward-art img { object-position: 50% top; }
.app-platform-panel .app-download-button { margin-block: 0; align-self: center; }
.app-definition-art, .rating-card-layout__media { min-height: 0; }
.app-definition-layout { gap: var(--space-content); }
.app-definition-art img, .rating-card-layout__media img { object-position: center top; }

/* The banner and both button groups use explicit, symmetric grid tracks. */
.app-promo-banner {
  grid-template-columns: minmax(0, 1fr) minmax(190px, 260px) minmax(0, 1fr);
}
.app-promo-banner__background { width: 100%; height: 100%; object-fit: cover; }
.app-promo-banner__phone { height: 350px; place-self: center; object-position: center; }
.app-download-button__text { flex: 0 1 auto; width: auto; }
.app-promo-banner .app-download-button { gap: 8px; padding-inline: 8px; }
.app-promo-banner__button { min-width: 0; padding-inline: 12px; }

/* Shade the copy, leaving the characters in their original colors. */
.hero__image, .promotion-banner__image { filter: none; opacity: 1; }
.hero__overlay {
  background: linear-gradient(90deg, #000e 0%, #000c 35%, #0006 56%, #0000 76%);
}
.promotion-banner__overlay {
  background: linear-gradient(90deg, #000e 0%, #000b 38%, #0004 62%, #0000 82%);
}
.hero__description { max-width: none; white-space: normal; }
.hero__content { width: 62%; }
.boni-hero .hero__content, .app-hero .hero__content { width: 62%; }
.app-hero .hero__image--desktop { object-position: right top; }
.boni-event-art { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.boni-event-art__item { min-height: 0; aspect-ratio: 6 / 7; }

@media (max-width: 1180px) {
  .main-content .image-copy-section:not(#anbieter) {
    grid-template-areas: "heading" "copy" "art" "action";
  }
  .main-content .image-copy-section:not(#anbieter) > h2 {
    padding-inline: 0;
  }
  .main-content .image-copy-section:not(#anbieter) > .image-copy-section__copy {
    padding-inline: 0;
  }
  .image-copy-section__art { max-height: 400px; margin-bottom: var(--space-content); }
  .app-definition-art { height: auto; min-height: 0; aspect-ratio: 5 / 4; }
  .app-definition-art img { object-position: center top; }
  .hero__content, .boni-hero .hero__content, .app-hero .hero__content { width: 62%; }
}
@media (max-width: 960px) {
  .rating-card-layout__media { min-height: 0; aspect-ratio: 5 / 4; }
}
@media (max-width: 719px) {
  .list-media-block__steps { grid-template-columns: minmax(0, 1fr); }
  .list-media-block__steps > .app-install-media { aspect-ratio: 4 / 5; }
  .list-media-block__steps > .app-benefits-reward-art { aspect-ratio: 1672 / 798; }
  .list-media-block__steps > .boni-code-art { aspect-ratio: 16 / 9; }
  .app-definition-art { aspect-ratio: 1 / 1; }
  .rating-card-layout__media { aspect-ratio: 1 / 1; }
  .app-promo-banner { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .app-promo-banner__phone { height: 330px; }
  .hero { --hero-art-height: clamp(260px, 70vw, 380px); min-height: 0; background: #111; }
  .hero .hero__content { width: 100%; padding-top: calc(var(--hero-art-height) + var(--space-content)); }
  .hero > .hero__image { height: var(--hero-art-height) !important; object-position: center top; }
  .hero > .hero__overlay { background: linear-gradient(180deg, #0000 180px, #111 var(--hero-art-height)); }
  .promotion-banner { min-height: 350px; height: auto; }
  .promotion-banner__content { width: 68%; min-height: 350px; padding: 20px 12px; }
  .promotion-banner__offer-main, .promotion-banner__offer-bonus { white-space: normal; }
  .promotion-banner__image { object-position: 64% top; }
  .promotion-banner__overlay { background: linear-gradient(90deg, #000e 0%, #000b 42%, #0002 74%, #0000); }
}
@media (max-width: 359px) {
  .app-platform-panel .app-download-button { gap: 6px; padding-inline: 8px; }
}
/* Keep a text-column CTA close to its copy, with the image in its own row on mobile. */
.app-definition-layout { grid-template-areas: "copy media" "action ."; }
.app-definition-copy { grid-area: copy; }
.app-definition-art { grid-area: media; }
.app-definition-layout > .content-section__action { grid-area: action; margin-block: 0; }
.promotion-art-card__copy > p:has(+ .promotion-art-card__action) { margin-bottom: 0; }
@media (max-width: 1180px) {
  .app-definition-layout { grid-template-areas: "copy" "media" "action"; }
}
/* Keep the portrait full-width and compact in stacked layouts. */
.app-definition-art { width: 100%; max-width: 420px; justify-self: center; }
@media (max-width: 1180px) {
  .app-definition-art { max-width: none; aspect-ratio: auto; height: clamp(300px, 52vw, 560px); }
  .app-definition-art img { object-position: center 3%; }
}
/* Use the wrapper gap once, rather than adding paragraph margins to it. */
.list-media-block .list-media-block__copy > :is(h3, p) { margin-block: 0; }

/* Keep the portrait install artwork stable when a phone rotates across width breakpoints. */
.app-install-row .list-media-block__steps,
.app-install-row .app-install-media {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.app-install-row .app-install-media {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.app-install-row .app-install-media > img {
  display: block;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}
@media (max-width: 719px),
       (orientation: landscape) and (max-width: 960px) and (max-height: 600px) {
  .app-install-row .list-media-block__steps {
    grid-template-columns: minmax(0, 1fr);
  }
  .app-install-row .list-media-block__steps > .app-install-media {
    min-height: 0 !important;
    align-self: start;
    aspect-ratio: auto;
  }
}
@media (max-width: 719px) {
  .app-install-row .list-media-block__steps > .app-install-media {
    height: clamp(320px, 100vw, 440px) !important;
    max-height: 440px;
  }
}
@media (orientation: landscape) and (max-width: 960px) and (max-height: 600px) {
  .app-install-row .list-media-block__steps > .app-install-media {
    height: clamp(260px, 76vh, 340px) !important;
    max-height: 340px;
  }
}

/* locale footer links: start */
.site-footer__locales {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  max-width: 1120px;
  margin: 0 auto 30px;
}
.site-footer__locale-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  max-width: 100%;
  min-height: 40px;
  padding: 8px 12px;
  border: 1px solid rgba(254, 200, 130, .42);
  border-radius: 12px;
  background: #322e2f;
  color: #fffaf3;
  font-family: inherit;
  font-size: 13px;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  overflow-wrap: anywhere;
  transition: border-color .16s, background-color .16s;
}
.site-footer__locale-link:hover {
  border-color: #fec882;
  background: #4e4842;
}
.site-footer__locale-link:focus-visible {
  outline: 3px solid #fec882;
  outline-offset: 3px;
}
.site-footer__locale-flag {
  flex: none;
  font-size: 18px;
  line-height: 1;
}
@media (max-width: 480px) {
  .site-footer__locales { gap: 8px; margin-bottom: 24px; }
  .site-footer__locale-link { padding: 8px 10px; }
}
/* locale footer links: end */
