:root {
  /* Base palette */
  --aff-color-primary: #fff;
  --aff-color-surface: #f9fafb;
  --aff-color-accent: #bc002d;
  --aff-color-accent-soft: #fef9c3;
  --aff-color-rating: #ffe100;
  --aff-color-text-base: #0e131f;
  --aff-color-text-muted: #9ca3af;
  --aff-color-border: #d1d5db;
  --aff-color-border-dark: #1f2937;

  /* State colors */
  --aff-color-pros: #dcfce7;
  --aff-color-cons: #fee2e2;

  /* Component colors */
  --aff-color-link: var(--aff-color-accent);
  --aff-color-cta: var(--aff-color-accent);
  --aff-color-cta-text: var(--aff-color-primary);
  --aff-color-highlight: var(--aff-color-surface);
  --aff-color-text: var(--aff-color-text-base);
  --aff-color-title: var(--aff-color-text-base);
  --aff-color-card: var(--aff-color-primary);
  --aff-color-header: var(--aff-color-surface);
  --aff-color-icon: var(--aff-color-accent);

  /* Legacy / specific aliases */
  --aff-color-yellow: var(--aff-color-rating);
  --aff-color-light-yellow: var(--aff-color-accent-soft);

  /* Author archive gradient */
  --aff-gradient-start: #BC002D;
  --aff-gradient-end: #FF8181;
}

body {
  background: var(--aff-color-primary);
  color: var(--aff-color-text);
}

/* HEADER */
.site-header {
  background: var(--aff-color-primary);
  color: var(--aff-color-text);
}

/* FOOTER */
.footer-block {
  background: var(--aff-color-text);
  color: var(--aff-color-primary);
}

.footer-block__top,
.footer-block__responsible,
.footer-block__disclaimer,
.footer-block__menus,
.footer-block__menu-column {
  border-color: var(--aff-color-border);
}

.footer-block__menu-list a,
.footer-block__disclaimer p {
  color: var(--aff-color-primary);
}

.footer-block__menu-list a:hover {
  color: var(--aff-color-cta);
}

/* TOPLIST BLOCK */
.toplist-block__title,
.toplist-block__description {
  color: var(--aff-color-text);
}

.toplist-block__description a {
  color: var(--aff-color-link);
  text-decoration: underline;
}

.toplist-block__card {
  background: var(--aff-color-card);
  border-color: var(--aff-color-border);
}

.toplist-block__casino-title,
.toplist-block__rating,
.toplist-block__rating-label,
.toplist-block__rating-value,
.toplist-block__bonus-label,
.toplist-block__pros-item,
.toplist-block__pros-text,
.toplist-block__disclaimer-text,
.toplist-block__disclaimer-title {
  color: var(--aff-color-text);
}

.toplist-block__bonus {
  color: var(--aff-color-link);
  text-align: center;
}

.toplist-block__rank,
.toplist-block__pros-icon {
  background: var(--aff-color-accent-soft);
}

.toplist-block__rank {
  color: var(--aff-color-cta);
}

.toplist-block__pros-icon {
  color: var(--aff-color-icon);
}

.toplist-block__rating-star {
  color: var(--aff-color-rating);
}

.toplist-block__button {
  background: var(--aff-color-cta);
  color: var(--aff-color-cta-text);
}

.toplist-block__review-link {
  color: var(--aff-color-link);
}

/* SIMPLE CONTENT */
.simple-content-block__title,
.simple-content-block__content {
  color: var(--aff-color-text);
}

.simple-content-block__content a {
  color: var(--aff-color-link);
  text-decoration: underline;
}

.simple-content-block__content .wp-block-table table,
.simple-content-block__content .wp-block-table th,
.simple-content-block__content .wp-block-table td {
  border-color: var(--aff-color-border);
}

.simple-content-block__content .wp-block-table th,
.simple-content-block__content .wp-block-table td {
  background: var(--aff-color-card);
}

.simple-content-block__content .wp-block-table th {
  background: var(--aff-color-header);
  color: var(--aff-color-text);
}

/* LIST BLOCK */
.list-block__title,
.list-block__description,
.list-block__item-title,
.list-block__item-text {
  color: var(--aff-color-text);
}

.list-block__description a {
  color: var(--aff-color-link);
  text-decoration: underline;
}

.list-block__marker,
.list-block--milestone .list-block__marker,
.list-block--checkmark .list-block__marker,
.list-block--unordered .list-block__marker {
  background: var(--aff-color-cta);
}

.list-block--milestone .list-block__item:not(:last-child)::after {
  background: var(--aff-color-border);
}

/* GRID BOX */
.grid-box__title,
.grid-box__description,
.grid-box__card-title,
.grid-box__card-description {
  color: var(--aff-color-text);
}

.grid-box__description a {
  color: var(--aff-color-link);
  text-decoration: underline;
}

.grid-box__card {
  background: var(--aff-color-card);
  border-color: var(--aff-color-border);
}

.grid-box__card--highlighted {
  background: var(--aff-color-highlight);
}

.grid-box__button {
  background: var(--aff-color-cta);
}

/* SIMPLE BOX */
.simple-box-block__title,
.simple-box-block__description,
.simple-box-block__item-title,
.simple-box-block__item-text {
  color: var(--aff-color-text);
}

.simple-box-block__description a {
  color: var(--aff-color-link);
  text-decoration: underline;
}

.simple-box-block__item {
  background: var(--aff-color-card);
  border-color: var(--aff-color-border);
}

.simple-box-block__item--highlighted {
  background: var(--aff-color-highlight);
}

/* FAQ / ACCORDION */
.faq-block__title,
.faq-block__question,
.faq-block__answer,
.faq-block__description,
.accordion-block__title,
.accordion-block__description,
.accordion-block__question,
.accordion-block__answer {
  color: var(--aff-color-text);
}

.faq-block__item,
.accordion-block__item {
  background: var(--aff-color-card);
  border-color: var(--aff-color-border);
}

.faq-block__icon,
.accordion-block__icon {
  color: var(--aff-color-cta);
}

/* MINI REVIEW */
.mini-review-block__title,
.mini-review-block__description,
.mini-review-block__item-title,
.mini-review-block__item-description,
.mini-review-block__proscons-heading,
.mini-review-block__list-text,
.mini-review-block__casino-name,
.mini-review-block__casino-rating,
.mini-review-block__casino-bonus-label {
  color: var(--aff-color-text);
}

.mini-review-block__casino-bonus {
  color: var(--aff-color-link);
}

.mini-review-block__item,
.mini-review-block__proscons-panel,
.mini-review-block__pros-box,
.mini-review-block__cons-box {
  background: var(--aff-color-card);
  border-color: var(--aff-color-border);
}

.mini-review-block__head,
.mini-review-block__proscons-toggle-row {
  border-color: var(--aff-color-border);
}

.mini-review-block__toggle {
  color: var(--aff-color-cta);
}

.mini-review-block__pros-box,
.mini-review-block__cons-box {
  color: var(--aff-color-text);
}

.mini-review-block__pros-box-title,
.mini-review-block__cons-box-title {
  background: var(--aff-color-header);
  border-color: var(--aff-color-border);
  color: var(--aff-color-text);
}

.mini-review-block__list--pros .mini-review-block__list-icon {
  background: var(--aff-color-pros);
}

.mini-review-block__list--cons .mini-review-block__list-icon {
  background: var(--aff-color-cons);
}

.mini-review-block__button {
  background: var(--aff-color-cta);
  color: var(--aff-color-cta-text);
}

.mini-review-block__review-link,
.mini-review-block__description a {
  color: var(--aff-color-link);
}

/* PROS AND CONS */
.pros-cons__title,
.pros-cons__description,
.pros-cons__card-title,
.pros-cons__item-text,
.pros-cons__card-text {
  color: var(--aff-color-text);
}

.pros-cons__description a {
  color: var(--aff-color-link);
  text-decoration: underline;
}

.pros-cons__card {
  background: var(--aff-color-card);
  border-color: var(--aff-color-border);
}

.pros-cons__card-head {
  background: var(--aff-color-header);
  border-color: var(--aff-color-border);
}

.pros-cons__item--pros .pros-cons__icon {
  background: var(--aff-color-pros);
}

.pros-cons__item--cons .pros-cons__icon {
  background: var(--aff-color-cons);
}

/* INTERLINKING BLOCK */
.interlinking-block__title,
.interlinking-block__description,
.interlinking-block__card-title,
.interlinking-block__card-description,
.interlinking-block__pagination-text {
  color: var(--aff-color-text);
}

.interlinking-block__card,
.interlinking-block__arrow {
  background: var(--aff-color-card);
  border-color: var(--aff-color-border);
}

.interlinking-block__arrow {
  color: var(--aff-color-text);
}

/* AUTHOR BLOCK */
.author-block__inner {
  background: var(--aff-color-card);
  border-color: var(--aff-color-border);
}

.author-block__label,
.author-block__role,
.author-block__bio {
  color: var(--aff-color-text);
}

.author-block__name {
  color: var(--aff-color-link);
  text-decoration: underline;
}

/* HERO */
.hero-block::before {
    background: transparent;
}
.hero-block__title,
.hero-block__description p,
.hero-block__meta-text,
.hero-block__author,
.hero-block__updated,
.hero-block__breadcrumbs-current,
.hero-block__breadcrumbs-link,
.hero-block__breadcrumbs-home-icon,
.hero-block__breadcrumbs-separator,
.hero-block__author a {
    color: var(--aff-color-primary);
}
.hero-block__divider {
  background: var(--aff-color-border);
}
.hero-block::before {
    background: none;
}

/* CASINO HERO */
.casino-hero__title,
.casino-hero__meta,
.casino-hero__description,
.casino-hero__meta-separator,
.casino-hero .hero-block__breadcrumbs-current,
.casino-hero .hero-block__breadcrumbs-home-icon,
.casino-hero .hero-block__breadcrumbs-link {
  color: var(--aff-color-text);
}

.casino-hero__meta-text a {
  color: var(--aff-color-link);
  text-decoration: underline;
}

.casino-hero__container .casino-card {
  background: var(--aff-color-highlight);
}

.casino-hero__container .casino-card__rating,
.casino-hero__container .casino-card__bonus-label {
  color: var(--aff-color-text);
}

.casino-hero__container .casino-card__bonus {
  color: var(--aff-color-link);
}

.casino-hero__container .casino-card__button {
  background: var(--aff-color-cta);
  color: var(--aff-color-cta-text);
}

.casino-hero .hero-block__breadcrumbs {
  border-color: var(--aff-color-border);
}

.casino-hero .hero-block__breadcrumbs-link:hover {
  color: var(--aff-color-link);
}

.casino-card__rating-star {
  color: var(--aff-color-rating);
}

/* AUTHOR ARCHIVE */
.author-archive-hero {
  background: linear-gradient(
    90deg,
    var(--aff-gradient-start) 0%,
    var(--aff-gradient-end) 100%
  );
}

.author-archive-card__type {
  background: var(--aff-color-cta);
  color: var(--aff-color-cta-text);
}