/*
Theme Name: Casino Review Theme
Theme URI: https://example.com/casino-review-theme/
Author: Casino Review
Author URI: https://example.com/
Description: Editorial, GDPR-friendly, German-first WordPress block theme for casino review sites. Pages-only, plugin-friendly, optimized for Core Web Vitals. Zero external requests by default.
Version: 0.8.5
Requires at least: 6.5
Tested up to: 6.5
Requires PHP: 8.2
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: casino-review-theme
Tags: block-theme, full-site-editing, accessibility-ready, translation-ready, one-column, three-columns, custom-colors, custom-menu, featured-images
*/

/* ===================================================================
   INLINED FROM assets/css/ratgeber.css (v0.7.9 — replaces @import)
   =================================================================== */

/* ============================================================
   RATGEBER — Informational page styles (overlay add-on)

   Copy this file to: assets/css/ratgeber.css
   Then enqueue it from inc/enqueue.php on pages using the
   page-ratgeber template (or unconditionally — it's small).
   ============================================================ */

/* ===================== HERO (Ratgeber-Variante) ===================== */
.cr-rg-hero {
  position: relative;
  padding: 56px 0 40px;
  margin-bottom: 32px;
  border-bottom: 1px solid var(--wp--preset--color--border);
}
.cr-rg-hero__rule {
  position: absolute; top: 0; left: 0;
  width: 60px; height: 4px;
  background: var(--wp--preset--color--brand);
}
.cr-rg-hero__inner { max-width: 880px; }
.cr-rg-hero__eyebrow {
  display: flex; align-items: center; gap: 12px;
  font-size: .75rem; font-weight: 700; letter-spacing: .14em;
  text-transform: uppercase; color: var(--wp--preset--color--text-muted);
  margin-bottom: 24px;
}
.cr-rg-hero__category { color: var(--wp--preset--color--brand); }
.cr-rg-hero__sep { color: var(--wp--preset--color--border); }
.cr-rg-hero__title {
  font-family: var(--wp--preset--font-family--serif);
  font-size: clamp(2rem, 4.5vw, 3.5rem);
  font-weight: 700; line-height: 1.05;
  letter-spacing: -.015em;
  margin: 0 0 20px;
  color: var(--wp--preset--color--brand);
  text-wrap: pretty;
}
.cr-rg-hero__title em {
  font-style: italic;
  color: var(--wp--preset--color--accent);
  font-weight: 600;
}
.cr-rg-hero__lede {
  font-family: var(--wp--preset--font-family--serif);
  font-size: 1.25rem;
  line-height: 1.55;
  color: var(--wp--preset--color--text);
  margin: 0 0 36px;
  max-width: 720px;
}
.cr-rg-hero__byline {
  display: flex; align-items: flex-end; gap: 32px; flex-wrap: wrap;
  padding-top: 24px;
  border-top: 1px dashed var(--wp--preset--color--border);
}

/* ===================== LAYOUT GRID ===================== */
.cr-rg-layout {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 64px;
  align-items: start;
  max-width: 1240px;
  margin: 0 auto;
}
@media (max-width: 920px) {
  .cr-rg-layout { grid-template-columns: 1fr; gap: 24px; }
  .cr-rg-toc { display: none; }
}

.cr-rg-toc {
  position: sticky; top: 96px;
  font-size: .875rem;
  border-left: 1px solid var(--wp--preset--color--border);
  padding-left: 20px;
}
.cr-rg-toc__label {
  font-size: .6875rem; font-weight: 700; letter-spacing: .14em;
  text-transform: uppercase; color: var(--wp--preset--color--text-muted);
  margin-bottom: 14px;
}
.cr-rg-toc ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.cr-rg-toc a {
  color: var(--wp--preset--color--text-muted);
  text-decoration: none;
  line-height: 1.35; display: block;
  padding-left: 12px;
  border-left: 2px solid transparent;
  margin-left: -22px;
  transition: color .15s, border-color .15s;
}
.cr-rg-toc a:hover { color: var(--wp--preset--color--text); }
.cr-rg-toc a.is-active {
  color: var(--wp--preset--color--brand);
  border-left-color: var(--wp--preset--color--accent);
  font-weight: 600;
}

/* ===================== FACT CHECK ===================== */
.cr-fact-check {
  display: flex; gap: 18px;
  padding: 18px 22px;
  background: color-mix(in srgb, var(--wp--preset--color--accent) 6%, var(--wp--preset--color--surface));
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--accent) 25%, var(--wp--preset--color--border));
  border-left: 4px solid var(--wp--preset--color--accent);
  border-radius: 12px;
  margin-bottom: 32px;
}
.cr-fact-check__seal {
  flex-shrink: 0; width: 56px; height: 56px;
  color: var(--wp--preset--color--accent);
}
.cr-fact-check__seal svg { width: 100%; height: 100%; }
.cr-fact-check__label {
  font-size: .6875rem; font-weight: 700; letter-spacing: .14em;
  text-transform: uppercase; color: var(--wp--preset--color--accent);
  margin-bottom: 4px;
}
.cr-fact-check__text { margin: 0; font-size: .9375rem; line-height: 1.5; color: var(--wp--preset--color--text); }

/* ===================== KEY TAKEAWAYS ===================== */
.cr-rg-takeaways {
  background: var(--wp--preset--color--bg-deep);
  border: 1px solid var(--wp--preset--color--border);
  border-radius: 12px;
  padding: 28px 32px;
  margin-bottom: 40px;
}
.cr-rg-takeaways__head {
  display: flex; align-items: center; gap: 12px;
  padding-bottom: 14px;
  border-bottom: 1px dashed var(--wp--preset--color--border);
  margin-bottom: 16px;
}
.cr-rg-takeaways__icon {
  width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--wp--preset--color--highlight);
  color: var(--wp--preset--color--brand);
  display: grid; place-items: center;
  flex-shrink: 0;
}
.cr-rg-takeaways__icon svg { width: 14px; height: 14px; }
.cr-rg-takeaways h2 {
  font-family: var(--wp--preset--font-family--serif);
  font-size: 1.125rem; margin: 0;
  color: var(--wp--preset--color--brand);
  font-weight: 700;
}
.cr-rg-takeaways ul {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: 10px;
}
.cr-rg-takeaways li {
  position: relative; padding-left: 22px;
  font-size: .9375rem; line-height: 1.55;
  color: var(--wp--preset--color--text);
}
.cr-rg-takeaways li::before {
  content: "→"; position: absolute; left: 0; top: 0;
  color: var(--wp--preset--color--accent); font-weight: 700;
}
.cr-rg-takeaways strong { color: var(--wp--preset--color--brand); font-weight: 600; }

/* ===================== ARTICLE TYPOGRAPHY ===================== */
.cr-rg-article {
  font-family: var(--wp--preset--font-family--serif);
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--wp--preset--color--text);
  max-width: 720px;
}
.cr-rg-article > section + section,
.cr-rg-article > section + aside,
.cr-rg-article > aside + section { margin-top: 56px; }
.cr-rg-article h2 {
  font-family: var(--wp--preset--font-family--serif);
  font-size: 1.875rem; font-weight: 700;
  color: var(--wp--preset--color--brand);
  line-height: 1.15;
  margin: 0 0 18px;
  letter-spacing: -.005em;
  text-wrap: balance;
}
.cr-rg-article p { margin: 0 0 16px; text-wrap: pretty; }
.cr-rg-article p strong { font-weight: 600; color: var(--wp--preset--color--brand); }

/* Drop cap on first paragraph of first section */
.cr-rg-article > section:first-of-type > p:first-of-type::first-letter {
  font-family: var(--wp--preset--font-family--serif);
  font-weight: 700;
  font-size: 4.5rem;
  line-height: .85;
  float: left;
  padding: 6px 12px 0 0;
  color: var(--wp--preset--color--accent);
}

/* ===================== DEFINITION BOX ===================== */
.cr-rg-defn-box {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 16px;
  background: var(--wp--preset--color--surface-alt);
  border: 1px solid var(--wp--preset--color--border);
  border-left: 4px solid var(--wp--preset--color--brand);
  padding: 18px 22px;
  margin: 24px 0;
  font-family: var(--wp--preset--font-family--sans);
  font-size: .9375rem;
  line-height: 1.55;
}
.cr-rg-defn-box__label {
  font-size: .6875rem; font-weight: 700; letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--wp--preset--color--brand);
}
@media (max-width: 600px) {
  .cr-rg-defn-box { grid-template-columns: 1fr; gap: 6px; }
}

/* ===================== STEP LIST ===================== */
.cr-rg-steplist {
  list-style: none;
  padding: 0; margin: 24px 0;
  display: flex; flex-direction: column; gap: 14px;
  font-family: var(--wp--preset--font-family--sans);
  font-size: .9375rem;
}
.cr-rg-steplist li {
  display: grid; grid-template-columns: 36px 1fr;
  gap: 14px;
  padding: 16px 18px;
  background: var(--wp--preset--color--surface);
  border: 1px solid var(--wp--preset--color--border);
  border-radius: 8px;
}
.cr-rg-steplist__num {
  width: 32px; height: 32px;
  border-radius: 50%;
  background: var(--wp--preset--color--brand);
  color: var(--wp--preset--color--surface);
  display: grid; place-items: center;
  font-family: var(--wp--preset--font-family--serif);
  font-weight: 700; font-size: 1rem;
}

/* ===================== PULL QUOTE ===================== */
.cr-rg-pullquote {
  margin: 36px 0;
  padding: 0 0 0 28px;
  border-left: 3px solid var(--wp--preset--color--accent);
}
.cr-rg-pullquote p {
  font-family: var(--wp--preset--font-family--serif);
  font-size: 1.375rem;
  line-height: 1.4;
  color: var(--wp--preset--color--brand);
  font-style: italic;
  margin: 0 0 12px;
}

/* ===================== RECOMMENDATION ===================== */
.cr-rg-recommend {
  background: linear-gradient(135deg, var(--wp--preset--color--brand) 0%, color-mix(in srgb, var(--wp--preset--color--brand) 85%, #000) 100%);
  color: #fff;
  padding: 32px 36px;
  border-radius: 12px;
  font-family: var(--wp--preset--font-family--sans);
}
.cr-rg-recommend__label {
  font-size: .6875rem; font-weight: 700; letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--wp--preset--color--highlight);
}
.cr-rg-recommend h2 {
  font-family: var(--wp--preset--font-family--serif);
  font-size: 1.625rem; font-weight: 700;
  color: #fff;
  margin: 4px 0 12px;
}
.cr-rg-recommend p {
  font-size: .9375rem; line-height: 1.6;
  color: rgba(255,255,255,.85);
  margin: 0 0 20px;
}
.cr-rg-recommend__cta {
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--wp--preset--color--highlight);
  color: var(--wp--preset--color--brand);
  font-weight: 700; font-size: .9375rem;
  padding: 14px 24px;
  border-radius: 8px;
  text-decoration: none;
}
.cr-rg-recommend__cta:hover { transform: translateX(2px); }

/* ===================== GLOSSARY ===================== */
.cr-rg-glossary {
  font-family: var(--wp--preset--font-family--sans);
  margin: 0;
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 16px 32px;
}
@media (max-width: 600px) { .cr-rg-glossary { grid-template-columns: 1fr; } }
.cr-rg-glossary > div {
  padding: 14px 0;
  border-top: 1px solid var(--wp--preset--color--border);
}
.cr-rg-glossary dt {
  font-weight: 700; font-size: .875rem;
  color: var(--wp--preset--color--brand);
  margin-bottom: 4px;
}
.cr-rg-glossary dd {
  margin: 0; font-size: .8125rem;
  color: var(--wp--preset--color--text-muted);
  line-height: 1.55;
}

/* ===================================================================
   INLINED FROM assets/css/listicle.css (v0.7.9 — replaces @import)
   =================================================================== */

/* ============================================================
   Listicle / Top-N comparison page styles
   Ported from claude-design-archive/source/styles.css (sections HERO,
   credibility-strip, hero pick aside).
   Class prefix: cr-hero__ (extends existing .cr-hero) and .hero-pick*
   ============================================================ */

/* ===== Listicle Hero — 2-column grid (main + aside pick card) ===== */
.cr-hero__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: 56px;
  align-items: start;
}
.cr-hero__main { min-width: 0; }

.cr-hero__eyebrow {
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
  margin-block-end: 14px;
  font-size: 0.8125rem;
  color: var(--wp--preset--color--text-muted);
}
.eyebrow-pill {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 4px 10px;
  background: var(--wp--preset--color--surface);
  color: var(--wp--preset--color--brand);
  border: 1px solid var(--wp--preset--color--highlight);
  border-radius: 4px;
  font-size: 0.6875rem; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase;
}
.eyebrow-pill--accent {
  border-color: var(--wp--preset--color--accent);
  color: var(--wp--preset--color--accent);
}
.eyebrow-pill .dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--wp--preset--color--success);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--wp--preset--color--success) 25%, transparent);
}

.cr-hero__category-trail {
  display: inline-flex; align-items: center; gap: 6px;
  margin-block-end: 18px;
  font-size: 0.8125rem;
  color: var(--wp--preset--color--text-muted);
}
.cr-hero__category-trail a {
  color: var(--wp--preset--color--text-muted);
  text-decoration: none;
}
.cr-hero__category-trail a:hover { color: var(--wp--preset--color--brand); }
.cr-hero__category-trail .sep { opacity: 0.4; }

.age-chip {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 4px 10px 4px 4px;
  background: color-mix(in srgb, var(--wp--preset--color--danger) 8%, transparent);
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--danger) 30%, transparent);
  border-radius: 999px;
  font-size: 0.75rem; font-weight: 700;
  color: var(--wp--preset--color--danger);
}
.age-chip__circle {
  width: 24px; height: 24px; border-radius: 50%;
  background: var(--wp--preset--color--danger); color: #fff;
  display: grid; place-items: center;
  font-size: 0.625rem; font-weight: 800; letter-spacing: -0.04em;
}

/* Stats grid in hero (4 tiles divided by hairlines) */
.cr-hero__stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4px;
  margin: 0 0 28px;
  padding: 18px 0;
  border-top: 1px solid var(--wp--preset--color--border);
  border-bottom: 1px solid var(--wp--preset--color--border);
}
.cr-hero__stat {
  position: relative;
  display: flex; flex-direction: column; gap: 4px;
  padding: 0 12px 0 16px;
}
.cr-hero__stat:not(:last-child)::after {
  content: ""; position: absolute; right: 0; top: 4px; bottom: 4px;
  width: 1px; background: var(--wp--preset--color--border);
}
.cr-hero__stat-num {
  font-family: var(--wp--preset--font-family--serif);
  font-weight: 700;
  font-size: 1.875rem; line-height: 1;
  color: var(--wp--preset--color--brand);
  letter-spacing: -0.02em;
}
.cr-hero__stat-num .suffix {
  font-size: 1.125rem;
  color: var(--wp--preset--color--text-muted);
  font-weight: 600;
  margin-left: 2px;
}
.cr-hero__stat-label {
  font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--wp--preset--color--text-muted);
  line-height: 1.35;
}

/* Author byline below stats */
.cr-hero__byline {
  display: flex; align-items: center; gap: 16px;
  font-size: 0.8125rem;
  color: var(--wp--preset--color--text-muted);
}
.cr-hero__author { display: flex; align-items: center; gap: 12px; }
.cr-hero__avatar {
  width: 40px; height: 40px; border-radius: 50%;
  background: linear-gradient(
    135deg,
    var(--wp--preset--color--accent),
    color-mix(in srgb, var(--wp--preset--color--accent) 60%, var(--wp--preset--color--brand))
  );
  color: #fff;
  display: grid; place-items: center;
  font-family: var(--wp--preset--font-family--serif);
  font-weight: 700; font-size: 0.8125rem; letter-spacing: 0.02em;
  flex: 0 0 auto;
}
.cr-hero__author-meta {
  display: flex; flex-direction: column; line-height: 1.45;
}
.cr-hero__author-meta a { color: var(--wp--preset--color--text); }
.cr-hero__author-meta .muted {
  font-size: 0.75rem;
  color: var(--wp--preset--color--text-muted);
}
.cr-hero__author-meta .muted a {
  color: var(--wp--preset--color--accent);
  text-decoration: none;
  border-bottom: 1px dotted;
}

/* ===== Hero aside — featured #1 pick card ===== */
.cr-hero__aside {
  display: flex; flex-direction: column; gap: 14px; min-width: 0;
}
.hero-pick {
  position: relative;
  background: var(--wp--preset--color--surface);
  border: 1px solid var(--wp--preset--color--border);
  border-radius: 12px;
  box-shadow:
    0 16px 40px -16px rgba(15, 35, 70, 0.18),
    0 2px 0 var(--wp--preset--color--highlight);
  padding: 22px;
  display: flex; flex-direction: column; gap: 16px;
}
.hero-pick__ribbon {
  display: flex; align-items: center; gap: 10px;
  margin: -22px -22px 0;
  padding: 12px 18px;
  background: linear-gradient(
    90deg,
    var(--wp--preset--color--highlight),
    color-mix(in srgb, var(--wp--preset--color--highlight) 80%, var(--wp--preset--color--accent))
  );
  color: var(--wp--preset--color--brand);
  border-radius: 12px 12px 0 0;
  font-size: 0.75rem; font-weight: 700;
  letter-spacing: 0.08em; text-transform: uppercase;
}
.hero-pick__ribbon-num {
  font-family: var(--wp--preset--font-family--serif);
  font-weight: 700; font-size: 1rem; letter-spacing: 0;
  padding-right: 10px;
  border-right: 1px solid color-mix(in srgb, var(--wp--preset--color--brand) 30%, transparent);
}
.hero-pick__head { display: flex; gap: 14px; align-items: center; }
.hero-pick__logo {
  width: 56px; height: 56px; border-radius: 12px;
  background: linear-gradient(
    135deg,
    var(--wp--preset--color--brand),
    color-mix(in srgb, var(--wp--preset--color--brand) 70%, var(--wp--preset--color--accent))
  );
  color: #fff;
  display: grid; place-items: center;
  font-family: var(--wp--preset--font-family--serif);
  font-weight: 700; font-size: 1.125rem; letter-spacing: 0.02em;
  flex: 0 0 auto;
  box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.18);
}
.hero-pick__title {
  display: flex; flex-direction: column; gap: 6px; min-width: 0;
}
.hero-pick__title h2 {
  font-family: var(--wp--preset--font-family--serif);
  font-weight: 700;
  font-size: 1.375rem; line-height: 1.15; margin: 0;
  color: var(--wp--preset--color--brand);
}
.license-badge--soft { align-self: flex-start; }
.license-badge {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 2px 8px;
  background: var(--wp--preset--color--surface-alt);
  border: 1px solid var(--wp--preset--color--border);
  border-radius: 4px;
  font-size: 0.6875rem; font-weight: 600;
  color: var(--wp--preset--color--text-muted);
  letter-spacing: 0.04em;
}
.license-badge svg {
  width: 11px; height: 11px;
  color: var(--wp--preset--color--success);
}

.hero-pick__score {
  display: flex; gap: 16px; align-items: center;
  padding: 12px 14px;
  background: color-mix(in srgb, var(--wp--preset--color--accent) 6%, transparent);
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--accent) 22%, transparent);
  border-radius: 8px;
}
.hero-pick__score-num {
  display: flex; align-items: baseline; gap: 2px;
  font-family: var(--wp--preset--font-family--serif);
  color: var(--wp--preset--color--accent);
  font-weight: 700;
}
.hero-pick__score-num .big {
  font-size: 2.5rem; line-height: 1; letter-spacing: -0.02em;
}
.hero-pick__score-num .den {
  font-size: 0.9375rem;
  color: var(--wp--preset--color--text-muted);
  font-weight: 600;
}
.hero-pick__score-side {
  display: flex; flex-direction: column; gap: 4px; min-width: 0;
}
.hero-pick__score-label {
  font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--wp--preset--color--text-muted);
}

.hero-pick__facts {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 0;
  margin: 0;
  border-top: 1px solid var(--wp--preset--color--border);
}
.hero-pick__facts > div {
  display: flex; flex-direction: column; gap: 2px;
  padding: 10px 0;
  border-bottom: 1px solid var(--wp--preset--color--border);
}
.hero-pick__facts > div:nth-child(odd) {
  padding-right: 12px;
  border-right: 1px solid var(--wp--preset--color--border);
}
.hero-pick__facts > div:nth-child(even) { padding-left: 12px; }
.hero-pick__facts > div:nth-last-child(-n + 2) {
  border-bottom: none; padding-bottom: 0;
}
.hero-pick__facts > div:nth-child(-n + 2) { padding-top: 12px; }
.hero-pick__facts dt {
  font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--wp--preset--color--text-muted);
}
.hero-pick__facts dd {
  margin: 0;
  font-family: var(--wp--preset--font-family--serif);
  font-weight: 600; font-size: 1rem;
  color: var(--wp--preset--color--brand);
}
.hero-pick__facts dd.ok {
  color: var(--wp--preset--color--success);
  display: inline-flex; align-items: center; gap: 6px;
}
.hero-pick__facts dd.ok svg { width: 14px; height: 14px; }

.hero-pick__pros {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: 6px;
  font-size: 0.875rem;
  color: var(--wp--preset--color--text);
}
.hero-pick__pros li {
  display: flex; gap: 10px; align-items: flex-start;
  line-height: 1.45;
}
.hero-pick__pros svg {
  flex: 0 0 auto; width: 16px; height: 16px;
  color: var(--wp--preset--color--success);
  margin-top: 2px;
}

.hero-pick__cta {
  width: 100%; justify-content: center;
  font-size: 1rem; padding: 14px 18px;
}
.hero-pick__terms {
  font-size: 0.6875rem; line-height: 1.5;
  color: var(--wp--preset--color--text-muted);
  text-align: center;
}
.hero-pick__terms a {
  color: var(--wp--preset--color--text-muted);
  text-decoration: underline;
}

.hero-pick__more {
  align-self: center;
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 0.8125rem; font-weight: 600;
  color: var(--wp--preset--color--accent);
  text-decoration: none;
  padding: 6px 12px; border-radius: 999px;
}
.hero-pick__more:hover {
  background: color-mix(in srgb, var(--wp--preset--color--accent) 8%, transparent);
}
.hero-pick__more svg { transition: transform 0.2s; }
.hero-pick__more:hover svg { transform: translateY(2px); }

/* CTA buttons reused inside hero-pick (kept here so hero-pick is self-contained) */
.btn-cta {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 14px 22px; border-radius: 999px;
  background: var(--wp--preset--color--brand); color: #fff;
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.9375rem; font-weight: 600;
  text-decoration: none; border: none; cursor: pointer;
  transition: background 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
  box-shadow:
    0 1px 0 color-mix(in srgb, var(--wp--preset--color--brand) 60%, black) inset,
    0 4px 10px -2px color-mix(in srgb, var(--wp--preset--color--brand) 30%, transparent);
}
.btn-cta:hover {
  background: var(--wp--preset--color--accent);
  transform: translateY(-1px);
}
.btn-cta svg { width: 14px; height: 14px; }
.btn-cta--ghost {
  background: transparent;
  color: var(--wp--preset--color--brand);
  border: 1px solid var(--wp--preset--color--border);
  box-shadow: none;
  padding: 9px 16px; font-size: 0.8125rem;
}
.btn-cta--ghost:hover {
  background: var(--wp--preset--color--bg-deep);
  border-color: var(--wp--preset--color--accent);
  color: var(--wp--preset--color--accent);
  transform: none;
}

/* ===== Credibility strip — 4 trust-stat tiles ===== */
.credibility-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin: 0 auto 32px;
  padding: 20px 32px;
  background: var(--wp--preset--color--surface);
  border: 1px solid var(--wp--preset--color--border);
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}
.credibility-strip__item {
  display: flex; flex-direction: column; gap: 4px;
  padding: 0 24px;
  border-right: 1px solid var(--wp--preset--color--border);
  text-align: left;
}
.credibility-strip__item:first-child { padding-left: 0; }
.credibility-strip__item:last-child {
  padding-right: 0;
  border-right: none;
}
.credibility-strip__num {
  font-family: var(--wp--preset--font-family--serif);
  font-size: 1.875rem; font-weight: 700;
  color: var(--wp--preset--color--brand);
  line-height: 1;
}
.credibility-strip__lbl {
  font-size: 0.75rem;
  color: var(--wp--preset--color--text-muted);
  line-height: 1.35;
}

/* ===== Listicle layout wrapper + 2-col body grid (sticky ToC + content) ===== */
.review-layout {
  max-width: 1240px;
  margin: 0 auto;
  padding: 32px 32px 96px;
}
.review-grid {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 64px;
  align-items: start;
  margin-top: 64px;
}

/* ===== Responsive ===== */
@media (max-width: 1023px) {
  .review-grid { grid-template-columns: 1fr; gap: 32px; }
  .cr-hero__stats { grid-template-columns: repeat(2, 1fr); gap: 14px 4px; }
  .cr-hero__stat:nth-child(2)::after { display: none; }
}
@media (max-width: 860px) {
  .cr-hero__grid { grid-template-columns: 1fr; gap: 32px; }
  .cr-hero__aside { order: 2; }
  .cr-hero__main { order: 1; }
}
@media (max-width: 767px) {
  .review-layout { padding: 16px 16px 64px; }
  .cr-hero__stat-num { font-size: 1.5rem; }
  .hero-pick { padding: 18px; }
  .hero-pick__ribbon { margin: -18px -18px 0; padding: 10px 14px; font-size: 0.6875rem; }
  .hero-pick__score-num .big { font-size: 2rem; }
}
@media (max-width: 720px) {
  .credibility-strip {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px 0;
    padding: 18px 20px;
  }
  .credibility-strip__item {
    padding: 0 12px;
    border-right: none;
  }
  .credibility-strip__item:nth-child(odd) {
    border-right: 1px solid var(--wp--preset--color--border);
  }
  .credibility-strip__num { font-size: 1.5rem; }
}

/* ===================================================================
   INLINED FROM assets/css/single-review.css (v0.7.9 — replaces @import)
   =================================================================== */

/* ============================================================
   Single-Casino Review page — additional styles
   Ported from claude-design-archive/source/styles-single.css.
   Class prefix: .cr-hero--single (modifier on .cr-hero), .verdict-card,
   .at-glance, .rating-breakdown, .editor-verdict, .gallery, .payments,
   .alternatives, .alt-card.
   ============================================================ */

/* ===== Page wrapper ===== */
.review-single {
	max-width: 1240px;
	margin: 0 auto;
	padding: 32px 32px 96px;
}
@media (max-width: 767px) {
	.review-single { padding: 16px 16px 64px; }
}

/* ===== Hero — single-review variant (overrides .cr-hero box) ===== */
.cr-hero--single {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 380px;
	gap: 48px;
	align-items: stretch;
	padding: 0;
	background: transparent;
	border: none;
	box-shadow: none;
	overflow: visible;
}
.cr-hero--single::before { display: none; }

.cr-hero--single .cr-hero__main {
	background: linear-gradient(135deg, #FDFAEF 0%, #F5EFDE 100%);
	border-left: 4px solid var(--wp--preset--color--accent);
	border-radius: 0 12px 12px 0;
	padding: 48px 40px;
	position: relative;
}
[data-theme="dark"] .cr-hero--single .cr-hero__main {
	background: linear-gradient(135deg, #162235 0%, #101A2B 100%);
}

.cr-hero--single h1 {
	font-size: clamp(2rem, 3.5vw, 3rem);
	margin: 0 0 20px;
	max-width: none;
}
.cr-hero--single .cr-hero__lede {
	max-width: none;
	font-size: 1.0625rem;
}

.cr-hero--single .cr-hero__meta {
	display: flex; flex-wrap: wrap; gap: 8px 24px;
	margin-top: 24px;
	padding-top: 18px;
	border-top: 1px dashed var(--wp--preset--color--border);
	font-size: 0.8125rem;
	color: var(--wp--preset--color--text-muted);
}
.cr-hero--single .cr-hero__meta-item {
	display: inline-flex; align-items: center; gap: 6px;
}
.cr-hero--single .cr-hero__meta-item strong {
	color: var(--wp--preset--color--text);
	font-weight: 600;
}
.cr-hero--single .cr-hero__meta-item a {
	color: var(--wp--preset--color--accent);
	text-decoration: underline;
	text-decoration-style: dotted;
	text-underline-offset: 3px;
}

@media (max-width: 1023px) {
	.cr-hero--single { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
	.cr-hero--single .cr-hero__main {
		padding: 32px 24px;
		border-radius: 0;
		border-left: none;
		border-top: 4px solid var(--wp--preset--color--accent);
	}
}

/* ===== Verdict card (sidekick to single-hero) ===== */
.verdict-card {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px;
	padding: 28px;
	display: flex; flex-direction: column;
	box-shadow:
		0 2px 6px rgba(15, 23, 42, 0.08),
		0 1px 2px rgba(15, 23, 42, 0.04);
	position: relative;
}
.verdict-card::before {
	content: "Empfohlen";
	position: absolute;
	top: -10px; left: 24px;
	padding: 3px 12px;
	background: var(--wp--preset--color--highlight);
	color: var(--wp--preset--color--brand);
	font-size: 0.625rem; font-weight: 800;
	letter-spacing: 0.14em; text-transform: uppercase;
	border-radius: 4px;
}
.verdict-card__head {
	display: flex; align-items: center; gap: 16px;
	padding-bottom: 18px;
	margin-bottom: 18px;
	border-bottom: 1px solid var(--wp--preset--color--border);
}
.verdict-card__logo {
	width: 64px; height: 64px;
	background: var(--wp--preset--color--bg-deep);
	border-radius: 8px;
	display: grid; place-items: center;
	font-family: var(--wp--preset--font-family--serif);
	font-weight: 700; font-size: 1.25rem;
	color: var(--wp--preset--color--brand);
	border: 1px solid var(--wp--preset--color--border);
}
.verdict-card__name {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.5rem; font-weight: 700;
	color: var(--wp--preset--color--brand);
	margin: 0 0 4px;
	line-height: 1.1;
}
.verdict-card__sub {
	font-size: 0.8125rem;
	color: var(--wp--preset--color--text-muted);
	display: flex; align-items: center; gap: 8px;
}

.verdict-card__score {
	display: flex; align-items: baseline; gap: 12px;
	margin-bottom: 18px;
}
.verdict-card__score .num {
	font-family: var(--wp--preset--font-family--serif);
	font-weight: 700;
	font-size: 3.5rem; line-height: 1;
	color: var(--wp--preset--color--brand);
	font-variant-numeric: tabular-nums;
	display: flex; align-items: baseline; gap: 4px;
}
.verdict-card__score .num small {
	font-size: 1rem;
	color: var(--wp--preset--color--text-muted);
	font-weight: 400;
}
.verdict-card__score .label {
	font-size: 0.6875rem; font-weight: 700;
	text-transform: uppercase; letter-spacing: 0.14em;
	color: var(--wp--preset--color--text-muted);
	flex: 1;
}

.verdict-card__row {
	display: flex; justify-content: space-between; align-items: center;
	padding: 8px 0;
	font-size: 0.875rem;
}
.verdict-card__row:not(:last-of-type) {
	border-bottom: 1px dashed var(--wp--preset--color--border);
}
.verdict-card__row dt { color: var(--wp--preset--color--text-muted); }
.verdict-card__row dd {
	margin: 0;
	font-weight: 600;
	color: var(--wp--preset--color--brand);
	text-align: right;
}
.verdict-card__row .hot { color: var(--wp--preset--color--accent); }

.verdict-card__cta {
	display: flex; flex-direction: column; gap: 8px;
	margin-top: 18px;
}
.verdict-card__terms {
	font-size: 0.6875rem;
	color: var(--wp--preset--color--text-muted);
	text-align: center;
	line-height: 1.4;
	margin-top: 4px;
}
.verdict-card__terms a {
	color: var(--wp--preset--color--text-muted);
	text-decoration: underline;
	text-decoration-style: dotted;
}

/* ===== At-a-glance — 4-cell stat strip below hero ===== */
.at-glance {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
	margin: 40px 0 56px;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 8px;
	overflow: hidden;
}
.at-glance__cell {
	padding: 18px 20px;
	border-right: 1px solid var(--wp--preset--color--border);
	display: flex; flex-direction: column; gap: 4px;
}
.at-glance__cell:last-child { border-right: none; }
.at-glance__label {
	font-size: 0.6875rem; font-weight: 700;
	letter-spacing: 0.12em; text-transform: uppercase;
	color: var(--wp--preset--color--text-muted);
}
.at-glance__val {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.375rem; font-weight: 700;
	color: var(--wp--preset--color--brand);
	line-height: 1.1;
}
.at-glance__val small {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.8125rem;
	color: var(--wp--preset--color--text-muted);
	font-weight: 400;
}
@media (max-width: 720px) {
	.at-glance { grid-template-columns: repeat(2, 1fr); }
	.at-glance__cell:nth-child(2n) { border-right: none; }
	.at-glance__cell:nth-child(-n + 2) { border-bottom: 1px solid var(--wp--preset--color--border); }
}

/* ===== Rating breakdown — overall score + per-criterion bars ===== */
.rating-breakdown {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 8px;
	padding: 24px 28px;
	margin: 32px 0;
	display: grid;
	grid-template-columns: 200px 1fr;
	gap: 32px;
	align-items: center;
}
.rating-breakdown__overall {
	text-align: center;
	padding-right: 24px;
	border-right: 1px solid var(--wp--preset--color--border);
}
.rating-breakdown__overall .score {
	font-family: var(--wp--preset--font-family--serif);
	font-weight: 700;
	font-size: 3.5rem;
	line-height: 1;
	color: var(--wp--preset--color--brand);
	font-variant-numeric: tabular-nums;
	display: flex; align-items: baseline; gap: 2px;
	justify-content: center;
}
.rating-breakdown__overall .score__suffix {
	font-size: 0.8125rem;
	color: var(--wp--preset--color--text-muted);
	font-weight: 400;
}
.rating-breakdown__overall .label {
	font-size: 0.6875rem; font-weight: 700;
	letter-spacing: 0.14em; text-transform: uppercase;
	color: var(--wp--preset--color--text-muted);
	margin-top: 4px;
}
.rating-breakdown__list {
	display: flex; flex-direction: column; gap: 12px;
}
.rating-row {
	display: grid;
	grid-template-columns: 140px 1fr 40px;
	align-items: center;
	gap: 12px;
	font-size: 0.9375rem;
}
.rating-row__bar {
	height: 6px;
	background: var(--wp--preset--color--bg-deep);
	border-radius: 999px;
	overflow: hidden;
}
.rating-row__bar-fill {
	height: 100%;
	background: var(--wp--preset--color--accent);
	border-radius: 999px;
}
.rating-row__val {
	font-family: var(--wp--preset--font-family--serif);
	font-weight: 700;
	color: var(--wp--preset--color--brand);
	text-align: right;
	font-variant-numeric: tabular-nums;
}
@media (max-width: 720px) {
	.rating-breakdown { grid-template-columns: 1fr; gap: 20px; text-align: center; }
	.rating-breakdown__overall {
		border-right: none;
		border-bottom: 1px solid var(--wp--preset--color--border);
		padding-right: 0;
		padding-bottom: 16px;
	}
}

/* ===== Editor verdict box ===== */
.editor-verdict {
	margin: 32px 0;
	padding: 24px 28px;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-left: 4px solid var(--wp--preset--color--highlight);
	border-radius: 0 8px 8px 0;
}
.editor-verdict__label {
	font-size: 0.6875rem; font-weight: 700;
	letter-spacing: 0.14em; text-transform: uppercase;
	color: var(--wp--preset--color--text-muted);
	margin-bottom: 8px;
}
.editor-verdict__quote {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.25rem; line-height: 1.4;
	color: var(--wp--preset--color--brand);
	margin: 0;
	font-style: italic;
}
.editor-verdict__sig {
	display: flex; align-items: center; gap: 10px;
	margin-top: 14px;
	font-size: 0.8125rem;
	color: var(--wp--preset--color--text-muted);
}
.editor-verdict__sig .avatar {
	width: 32px; height: 32px;
	border-radius: 50%;
	background: var(--wp--preset--color--bg-deep);
	display: grid; place-items: center;
	font-family: var(--wp--preset--font-family--serif);
	font-weight: 700;
	color: var(--wp--preset--color--brand);
	font-size: 0.75rem;
	border: 1px solid var(--wp--preset--color--border);
}

/* ===== Gallery — 3-up screenshot placeholders ===== */
.gallery {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
	margin: 24px 0 32px;
}
.gallery__item {
	aspect-ratio: 16 / 10;
	background: var(--wp--preset--color--surface-alt);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 8px;
	overflow: hidden;
	position: relative;
	display: grid; place-items: center;
	font-family: ui-monospace, "SF Mono", Consolas, monospace;
	font-size: 0.6875rem;
	color: var(--wp--preset--color--text-muted);
	text-transform: uppercase; letter-spacing: 0.08em;
	background-image: repeating-linear-gradient(
		45deg,
		transparent 0 12px,
		color-mix(in srgb, var(--wp--preset--color--brand) 4%, transparent) 12px 13px
	);
}
.gallery__item span {
	background: var(--wp--preset--color--surface);
	padding: 4px 10px;
	border-radius: 3px;
	border: 1px solid var(--wp--preset--color--border);
}
@media (max-width: 600px) {
	.gallery { grid-template-columns: repeat(2, 1fr); }
}

/* ===== Payment methods grid ===== */
.payments {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 10px;
	margin: 16px 0 24px;
}
.payments__item {
	display: flex; align-items: center; gap: 12px;
	padding: 12px 14px;
	min-width: 0;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 8px;
	font-size: 0.8125rem;
}
.payments__item > span:last-child {
	min-width: 0;
	flex: 1;
}
.payments__item .logo {
	width: 36px; height: 24px;
	background: var(--wp--preset--color--bg-deep);
	border-radius: 3px;
	display: grid; place-items: center;
	font-size: 0.5625rem; font-weight: 700;
	color: var(--wp--preset--color--brand);
	letter-spacing: -0.03em;
	flex-shrink: 0;
}
.payments__item .name {
	font-weight: 600;
	color: var(--wp--preset--color--text);
	display: block;
	line-height: 1.15;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.payments__item .speed {
	font-size: 0.6875rem;
	color: var(--wp--preset--color--text-muted);
	display: block;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

/* ===== Alternatives — 3-up related-casino grid ===== */
.alternatives {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin: 24px 0 0;
}
@media (max-width: 800px) {
	.alternatives { grid-template-columns: 1fr; }
}
.alt-card {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px;
	padding: 20px;
	display: flex; flex-direction: column; gap: 14px;
	transition: border-color 0.15s, transform 0.15s;
	position: relative;
}
.alt-card:hover {
	border-color: var(--wp--preset--color--accent);
	transform: translateY(-2px);
}
.alt-card__rank-badge {
	display: inline-block;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.625rem; font-weight: 700;
	letter-spacing: 0.14em; text-transform: uppercase;
	color: var(--wp--preset--color--text-muted);
	padding-bottom: 8px;
	border-bottom: 1px solid var(--wp--preset--color--border);
}
.alt-card__head {
	display: flex; align-items: flex-start; gap: 14px;
}
.alt-card__logo {
	width: 52px; height: 52px;
	background: var(--wp--preset--color--bg-deep);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 4px;
	display: grid; place-items: center;
	font-family: var(--wp--preset--font-family--serif);
	font-weight: 700; font-size: 1.125rem;
	color: var(--wp--preset--color--brand);
	flex-shrink: 0;
}
.alt-card__name {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.125rem; font-weight: 700;
	color: var(--wp--preset--color--brand);
	margin: 0 0 4px;
	line-height: 1.15;
}
.alt-card__score-row {
	display: flex; align-items: center; gap: 8px;
	font-size: 0.75rem;
	color: var(--wp--preset--color--text-muted);
}
.alt-card__score-row .score {
	font-size: 1.25rem;
	color: var(--wp--preset--color--text);
	font-weight: 700;
	font-family: var(--wp--preset--font-family--serif);
}
.alt-card__score-row .score__suffix {
	font-size: 0.75rem;
	color: var(--wp--preset--color--text-muted);
	font-weight: 500;
}
.alt-card__bonus {
	background: var(--wp--preset--color--bg-deep);
	border-radius: 4px;
	padding: 12px 14px;
	border-left: 3px solid var(--wp--preset--color--highlight);
}
.alt-card__bonus-label {
	display: block;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.625rem; font-weight: 700;
	letter-spacing: 0.12em; text-transform: uppercase;
	color: var(--wp--preset--color--text-muted);
	margin-bottom: 4px;
}
.alt-card__bonus-value {
	display: block;
	color: var(--wp--preset--color--brand);
	font-weight: 700;
	font-size: 1rem;
	line-height: 1.2;
	font-family: var(--wp--preset--font-family--serif);
}
.alt-card__bonus-fine {
	display: block;
	font-size: 0.6875rem;
	color: var(--wp--preset--color--text-muted);
	margin-top: 4px;
}
.alt-card__cta {
	margin-top: auto;
	padding-top: 4px;
	display: flex; gap: 8px;
}
.alt-card__cta .btn-cta { flex: 1; }

/* ===== Trust strip (optional, used at top of single-review) ===== */
.trust-strip {
	display: flex; align-items: center; gap: 24px;
	padding: 14px 20px;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 8px;
	margin-bottom: 24px;
	font-size: 0.8125rem;
	color: var(--wp--preset--color--text-muted);
	flex-wrap: wrap;
}
.trust-strip__item {
	display: inline-flex; align-items: center; gap: 8px;
}
.trust-strip__item strong { color: var(--wp--preset--color--brand); }
.trust-strip__item svg {
	width: 14px; height: 14px;
	color: var(--wp--preset--color--accent);
}


/* ============================================================
   NON-CRITICAL CSS
   Critical above-the-fold rules live in assets/css/critical.css
   and are inlined in <head>. Everything else lives here and is
   loaded via preload + onload swap.
   ============================================================ */

/* --- Dark mode overrides for WP-generated preset custom properties ---
   (Light tokens come from theme.json's palette as WP defaults.) */
[data-theme="dark"] {
	--wp--preset--color--bg: #0D1B2A;
	--wp--preset--color--bg-deep: #0A1320;
	--wp--preset--color--surface: #131F33;
	--wp--preset--color--surface-alt: #1A2740;
	--wp--preset--color--text: #E5E9F0;
	--wp--preset--color--text-muted: #94A3B8;
	--wp--preset--color--brand: #94B8E8;
	--wp--preset--color--brand-strong: #94B8E8;
	--wp--preset--color--accent: #5EEAD4;
	--wp--preset--color--highlight: #E8C84A;
	--wp--preset--color--border: #2A3A52;
	--wp--preset--color--success: #22C55E;
	--wp--preset--color--warning: #F59E0B;
	--wp--preset--color--danger: #EF4444;
}

/* --- Images --- */
img,
video {
	max-width: 100%;
	height: auto;
	display: block;
}

/* --- Content constraints --- */
main.wp-block-group {
	padding-block: var(--wp--preset--spacing--32);
	padding-inline: var(--wp--preset--spacing--24);
}


/* --- Tables: default = bordered wrapper + navy header, white text, mobile scroll with sticky first column --- */
.wp-block-table {
	position: relative;
	overflow-x: auto;
	max-width: 100%;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--radius-lg, 12px);
	background: var(--wp--preset--color--surface);
	-webkit-overflow-scrolling: touch;
}
.wp-block-table table {
	border-collapse: collapse;
	width: 100%;
	font-variant-numeric: tabular-nums;
}
.wp-block-table th,
.wp-block-table td {
	padding: 14px 16px;
	text-align: left;
	vertical-align: top;
	font-size: 0.9375rem;
}
.wp-block-table thead th {
	background: #0B2545;
	color: #FFFFFF;
	font-weight: 600;
	letter-spacing: 0.3px;
}
[data-theme="dark"] .wp-block-table thead th {
	background: #0A1320;
	color: #E8C84A;
}
.wp-block-table tbody tr {
	border-top: 1px solid var(--wp--preset--color--border);
}
.wp-block-table tbody tr:nth-child(even) {
	background: var(--wp--preset--color--surface-alt);
}
.wp-block-table tbody tr td:first-child {
	font-weight: 600;
	color: var(--wp--preset--color--brand);
}

/* --- Table mobile behavior: horizontal scroll + sticky first column with a
   visible drop shadow that makes the "scroll right" affordance obvious.
   NOTE: We intentionally do NOT use a ::after fade on the scroll container —
   pseudo-elements on overflow:auto elements pin to the scrolled content's
   right edge, not the visible viewport, so they float inside cells and
   obscure text. The sticky column's box-shadow carries the signal instead. */
@media (max-width: 767px) {
	.wp-block-table table {
		min-width: 520px;
	}
	.wp-block-table th,
	.wp-block-table td {
		padding: 11px 12px;
		font-size: 0.875rem;
	}
	.wp-block-table th:first-child,
	.wp-block-table td:first-child {
		position: sticky;
		left: 0;
		background: var(--wp--preset--color--surface);
		z-index: 1;
		box-shadow: 6px 0 8px -4px rgba(15, 23, 42, 0.18);
	}
	.wp-block-table thead th:first-child {
		background: #0B2545;
	}
	[data-theme="dark"] .wp-block-table thead th:first-child {
		background: #0A1320;
		box-shadow: 6px 0 8px -4px rgba(0, 0, 0, 0.45);
	}
	[data-theme="dark"] .wp-block-table td:first-child {
		box-shadow: 6px 0 8px -4px rgba(0, 0, 0, 0.35);
	}
	.wp-block-table tbody tr:nth-child(even) td:first-child {
		background: var(--wp--preset--color--surface-alt);
	}
}

/* --- Header --- */
.site-header__inner {
	max-width: 1200px;
	margin-inline: auto;
	padding: 12px 24px;
	min-height: 56px;
}

/* --- Footer --- */
.site-footer {
	background: var(--wp--preset--color--surface);
	border-top: 1px solid var(--wp--preset--color--border);
	margin-top: var(--wp--preset--spacing--64);
	padding: 48px 24px 24px;
}
.site-footer__columns {
	max-width: 1200px;
	margin-inline: auto;
	gap: 32px;
}
.footer-heading {
	font-size: 1rem;
	font-weight: 600;
	margin-block-end: 16px;
	color: var(--wp--preset--color--text);
}
.site-footer__bottom {
	max-width: 1200px;
	margin: 24px auto 0;
	font-size: 0.875rem;
	color: var(--wp--preset--color--text-muted);
	gap: 16px;
}
.site-footer__bottom .copyright,
.site-footer__bottom .affiliate-disclosure {
	margin: 0;
	font-size: 0.875rem;
	color: var(--wp--preset--color--text-muted);
}
.site-footer__bottom .affiliate-disclosure {
	max-width: 60ch;
}

/* --- Footer: Spielerschutz disclaimer --- */
.footer-disclaimer .icon-18plus {
	color: var(--wp--preset--color--danger);
	margin-block-end: 12px;
}

/* --- Tagline --- */
.site-tagline {
	color: var(--wp--preset--color--text-muted);
	font-size: 0.9375rem;
	margin-top: 8px;
}

/* ============================================================
   BLOCK STYLE VARIANTS (registered via register_block_style)
   ============================================================ */

/* --- Vergleichstabelle (core/table) style variant ---
   Default table styling already provides the gold-bordered magazine look.
   This variant adds the sticky first column on mobile for wide comparison tables. */
@media (max-width: 767px) {
	.wp-block-table.is-style-vergleichstabelle table {
		min-width: 560px;
	}
	.wp-block-table.is-style-vergleichstabelle th:first-child,
	.wp-block-table.is-style-vergleichstabelle td:first-child {
		position: sticky;
		left: 0;
		background: var(--wp--preset--color--surface);
		z-index: 1;
		box-shadow: 1px 0 0 var(--wp--preset--color--border);
	}
	.wp-block-table.is-style-vergleichstabelle thead th:first-child {
		background: var(--wp--preset--color--bg-deep);
	}
}

/* --- Checklist (core/list): inline ✓ in --success --- */
.wp-block-list.is-style-checklist {
	list-style: none;
	padding-inline-start: 0;
}
.wp-block-list.is-style-checklist li {
	position: relative;
	padding-inline-start: 28px;
	margin-block-end: 8px;
}
.wp-block-list.is-style-checklist li::before {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	top: 0.3em;
	width: 18px;
	height: 18px;
	background: no-repeat center/contain url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2315803D' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
}
[data-theme="dark"] .wp-block-list.is-style-checklist li::before {
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2322C55E' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
}

/* --- Pfeil-Liste (core/list): → in --accent --- */
.wp-block-list.is-style-pfeil-liste {
	list-style: none;
	padding-inline-start: 0;
}
.wp-block-list.is-style-pfeil-liste li {
	position: relative;
	padding-inline-start: 28px;
	margin-block-end: 8px;
}
.wp-block-list.is-style-pfeil-liste li::before {
	content: "→";
	position: absolute;
	inset-inline-start: 0;
	top: 0;
	color: var(--wp--preset--color--accent);
	font-weight: 700;
	font-size: 1.15em;
	line-height: 1.4;
}

/* --- Quote Highlight (core/quote) --- */
.wp-block-quote.is-style-highlight {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px;
	padding: 24px 28px;
	font-style: normal;
	font-size: 1.25rem;
	line-height: 1.5;
	font-family: var(--wp--preset--font-family--sans);
}
.wp-block-quote.is-style-highlight cite {
	display: block;
	font-size: 0.9375rem;
	color: var(--wp--preset--color--text-muted);
	margin-block-start: 12px;
	font-style: normal;
}

/* --- Hinweis-Box (core/paragraph) --- */
.is-style-hinweis-box {
	background: var(--wp--preset--color--surface);
	border-left: 4px solid var(--wp--preset--color--warning);
	border-radius: 8px;
	padding: 16px 20px 16px 52px;
	position: relative;
	margin-block-end: 1em;
}
.is-style-hinweis-box::before {
	content: "";
	position: absolute;
	left: 16px;
	top: 18px;
	width: 24px;
	height: 24px;
	background: no-repeat center/contain url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B45309' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><line x1='12' y1='8' x2='12' y2='12'/><line x1='12' y1='16' x2='12.01' y2='16'/></svg>");
}
[data-theme="dark"] .is-style-hinweis-box::before {
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F59E0B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><line x1='12' y1='8' x2='12' y2='12'/><line x1='12' y1='16' x2='12.01' y2='16'/></svg>");
}

/* ============================================================
   PATTERN STYLES
   ============================================================ */

/* Hero, freshness, pill, H1, paragraph, and Show more/Show less styles
   all live in critical.css as of v0.7.0 — they MUST be in the inline
   critical path or the deferred stylesheet causes a ~0.4 CLS event
   when it arrives and suddenly gives the hero its padding/background/etc. */

/* --- Responsive H2/H3 sizing + breathing room ---
   Bigger than theme.json's static values so the hierarchy against body text
   (17px) reads clearly. Also more margin-bottom so headings don't sit
   glued to the first paragraph below them. */
.wp-block-post-content h2,
.wp-block-post-content .wp-block-heading[class*="is-style-"]:is(h2),
h2.wp-block-heading {
	font-size: clamp(1.75rem, 3.4vw, 2.25rem);
	line-height: 1.2;
	margin-block: var(--wp--preset--spacing--48) var(--wp--preset--spacing--24);
}
.wp-block-post-content h3,
h3.wp-block-heading {
	font-size: clamp(1.25rem, 2.1vw, 1.5rem);
	line-height: 1.3;
	margin-block: var(--wp--preset--spacing--32) var(--wp--preset--spacing--16);
}

/* --- Pros & Cons: two gold-bordered cards side-by-side --- */
.cr-pros-cons {
	display: grid;
	gap: var(--wp--preset--spacing--16);
	margin-block-end: var(--wp--preset--spacing--48);
}
@media (min-width: 768px) {
	.cr-pros-cons {
		grid-template-columns: 1fr 1fr;
	}
}
.cr-pros-cons__col {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 8px;
	padding: 20px 22px;
	border-top-width: 3px;
}
.cr-pros-cons__col--pros {
	border-top-color: var(--wp--preset--color--success);
}
.cr-pros-cons__col--cons {
	border-top-color: var(--wp--preset--color--danger);
}
.cr-pros-cons__col h3 {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 14px;
	padding-block-end: 10px;
	border-bottom: 1px solid var(--wp--preset--color--border);
	font-size: 1.0625rem;
	letter-spacing: 0.3px;
}
.cr-pros-cons__col--pros h3 {
	color: var(--wp--preset--color--success);
}
.cr-pros-cons__col--cons h3 {
	color: var(--wp--preset--color--danger);
}
.cr-pros-cons__col h3::before {
	content: "";
	display: inline-block;
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
	background: no-repeat center/contain;
}
.cr-pros-cons__col--pros h3::before {
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2315803D' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
}
[data-theme="dark"] .cr-pros-cons__col--pros h3::before {
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2322C55E' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
}
.cr-pros-cons__col--cons h3::before {
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B91C1C' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><line x1='18' y1='6' x2='6' y2='18'/><line x1='6' y1='6' x2='18' y2='18'/></svg>");
}
[data-theme="dark"] .cr-pros-cons__col--cons h3::before {
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23EF4444' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><line x1='18' y1='6' x2='6' y2='18'/><line x1='6' y1='6' x2='18' y2='18'/></svg>");
}
.cr-pros-cons .cr-list--cons.is-style-checklist li::before {
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B91C1C' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><line x1='18' y1='6' x2='6' y2='18'/><line x1='6' y1='6' x2='18' y2='18'/></svg>");
}
[data-theme="dark"] .cr-pros-cons .cr-list--cons.is-style-checklist li::before {
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23EF4444' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><line x1='18' y1='6' x2='6' y2='18'/><line x1='6' y1='6' x2='18' y2='18'/></svg>");
}

/* --- H2 eyebrow variant: kicker text via data-eyebrow attribute --- */
.wp-block-heading.is-style-eyebrow[data-eyebrow]::before {
	content: attr(data-eyebrow);
	display: block;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
	margin-block-end: 6px;
}
.wp-block-heading.is-style-eyebrow {
	margin-block-start: var(--wp--preset--spacing--48);
}

/* --- FAQ (native <details><summary>, zero JS) --- */
.casino-review-faq {
	margin-block: var(--wp--preset--spacing--32);
}
.casino-review-faq > h2 {
	margin-block-end: var(--wp--preset--spacing--16);
}
.casino-review-faq details {
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px;
	background: var(--wp--preset--color--surface);
	margin-block-end: 10px;
	overflow: hidden;
	transition: border-color .15s ease;
}
.casino-review-faq summary {
	list-style: none;
	cursor: pointer;
	padding: 15px 56px 15px 20px;
	font-weight: 500;
	font-size: 0.9375rem;
	color: var(--wp--preset--color--text);
	position: relative;
	user-select: none;
}
.casino-review-faq summary::-webkit-details-marker {
	display: none;
}
.casino-review-faq summary::after {
	content: "+";
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.375rem;
	line-height: 1;
	font-weight: 500;
	color: var(--wp--preset--color--accent);
}
.casino-review-faq details[open] summary::after {
	content: "−";
}
.casino-review-faq details > *:not(summary) {
	padding: 0 20px 16px;
	font-size: 0.9375rem;
	line-height: 1.6;
	color: var(--wp--preset--color--text-muted);
}
.casino-review-faq details[open] {
	border-color: var(--wp--preset--color--accent);
	border-left-width: 3px;
}
.casino-review-faq summary:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: -2px;
}

/* --- Quellen --- */
.casino-review-quellen {
	border-left: 3px solid var(--wp--preset--color--accent);
	padding-inline-start: 24px;
	margin-block-start: var(--wp--preset--spacing--48);
	font-size: 0.9375rem;
	color: var(--wp--preset--color--text-muted);
}
.casino-review-quellen h2 {
	font-size: 1.25rem;
	margin-block: 0 12px;
	color: var(--wp--preset--color--text);
}
.casino-review-quellen ol.references {
	padding-inline-start: 24px;
	margin: 0;
}
.casino-review-quellen ol.references li {
	margin-block-end: 8px;
	scroll-margin-block-start: 80px;
}
.casino-review-quellen ol.references li:target {
	background: color-mix(in srgb, var(--wp--preset--color--warning) 15%, transparent);
	outline: 2px solid var(--wp--preset--color--warning);
	outline-offset: 4px;
	border-radius: 4px;
}
.casino-review-quellen a {
	color: var(--wp--preset--color--brand);
	word-break: break-word;
}

/* ============================================================
   AUTHOR BOX
   ============================================================ */
.author-box {
	display: grid;
	grid-template-columns: 80px 1fr;
	gap: 20px;
	max-width: 70ch;
	margin-inline: auto;
	margin-block-start: var(--wp--preset--spacing--48);
	padding: 24px;
	border: 1px solid var(--wp--preset--color--border);
	background: var(--wp--preset--color--surface);
	border-radius: 12px;
}
.author-box__avatar {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	overflow: hidden;
	background: var(--wp--preset--color--bg);
	color: var(--wp--preset--color--text-muted);
}
.author-box__avatar-img {
	width: 80px;
	height: 80px;
	object-fit: cover;
	display: block;
	border-radius: 50%;
}
.author-box__name {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.25rem;
	line-height: 1.25;
	margin: 0 0 4px;
	font-weight: 600;
}
.author-box__role {
	font-size: 0.875rem;
	color: var(--wp--preset--color--text-muted);
	margin: 0 0 8px;
}
.author-box__experience {
	font-size: 0.9375rem;
	margin: 0 0 8px;
}
.author-box__bio {
	margin: 0;
	font-size: 0.9375rem;
	line-height: 1.55;
}
@media (max-width: 520px) {
	.author-box {
		grid-template-columns: 1fr;
		text-align: center;
	}
	.author-box__avatar,
	.author-box__avatar-img {
		margin-inline: auto;
	}
}

/* --- Admin: avatar picker on user profile screen --- */
.cr-avatar-preview {
	display: inline-block;
	width: 80px;
	height: 80px;
	border-radius: 50%;
	overflow: hidden;
	vertical-align: middle;
	margin-inline-end: 12px;
	background: #f0f0f1;
}
.cr-avatar-preview img {
	width: 80px;
	height: 80px;
	object-fit: cover;
	display: block;
	border-radius: 50%;
}

/* --- Responsive --- */
@media (max-width: 767px) {
	.site-header__inner {
		padding: 12px 16px;
	}
	main.wp-block-group {
		padding-inline: var(--wp--preset--spacing--16);
	}
	.site-footer {
		padding: 32px 16px 16px;
	}
}

/* --- Print --- */
@media print {
	.site-header,
	.site-footer,
	.theme-toggle {
		display: none;
	}
}


/* ============================================================
   APPENDED FROM claude-design/style-additions.css (overlay v1.0)
   Selectors rewritten: .hero -> .cr-hero to match patterns/hero.php
   ============================================================ */
/* ============================================================
   APPEND THIS to your theme's style.css
   (after the existing content, before the closing newline).

   These additions:
   - Wire up the Ratgeber CSS via @import (or @import alternative)
   - Refine hero typography for editorial feel
   - Add the cr-rg-page wrapper rules

   The CSS is namespaced with `cr-` and `cr-rg-` prefixes so it
   won't collide with anything already in your style.css.
   ============================================================ */

/* Pull in Ratgeber styles. If you'd rather enqueue separately,
   register the file in inc/enqueue.php and remove this @import. */

/* ===================== PAGE WRAPPER ===================== */
.cr-rg-page {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 32px 80px;
}

/* ===================== HERO REFINEMENTS ===================== */
/* For pages using the existing /hero pattern, these add the
   editorial polish from the mockups without touching the pattern itself. */
.cr-hero {
  position: relative;
  padding-top: 48px;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--wp--preset--color--border);
}
.cr-hero::before {
  content: "";
  position: absolute; top: 0; left: 0;
  width: 60px; height: 4px;
  background: var(--wp--preset--color--brand);
}
.cr-hero h1 {
  font-family: var(--wp--preset--font-family--serif);
  font-size: clamp(2rem, 4.5vw, 3.5rem);
  line-height: 1.05;
  letter-spacing: -.015em;
  text-wrap: pretty;
}
.cr-hero .cr-hero__lede,
.cr-hero p:first-of-type {
  font-family: var(--wp--preset--font-family--serif);
  font-size: 1.25rem;
  line-height: 1.55;
  max-width: 720px;
  color: var(--wp--preset--color--text);
}

/* ===================== ARTICLE BODY (when using cardlist + body content) ===================== */
.cr-rg-article-grid {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 64px;
  align-items: start;
}
@media (max-width: 920px) {
  .cr-rg-article-grid { grid-template-columns: 1fr; gap: 24px; }
}


/* ============================================================
   APPENDED FOR CHUNK 2 — Listicle page port (overlay v1.1)
   - @import for assets/css/listicle.css
   - Shared components: .toc (desktop), .toc-mobile, .pullquote, .skip-link
   ============================================================ */


/* ===== Skip link ===== */
.skip-link {
	position: absolute;
	left: -9999px;
	top: 8px;
	z-index: 999;
	padding: 8px 12px;
	background: var(--wp--preset--color--brand);
	color: #fff;
	border-radius: 4px;
	font-weight: 600;
	text-decoration: none;
}
.skip-link:focus { left: 8px; }

/* ===== Pull quote ===== */
.pullquote {
	margin: 32px 0;
	padding: 24px 32px;
	border-left: 3px solid var(--wp--preset--color--accent);
	background: var(--wp--preset--color--surface-alt);
	font-family: var(--wp--preset--font-family--serif);
	font-style: italic;
	font-size: 1.25rem;
	line-height: 1.4;
	color: var(--wp--preset--color--brand);
	border-radius: 0 8px 8px 0;
}
.pullquote cite {
	display: block;
	margin-top: 12px;
	font-family: var(--wp--preset--font-family--sans);
	font-style: normal;
	font-size: 0.875rem;
	color: var(--wp--preset--color--text-muted);
	font-weight: 500;
}

/* ===== TOC — sticky desktop sidebar ===== */
.toc {
	position: sticky; top: 88px;
	font-family: var(--wp--preset--font-family--sans);
	border-left: 2px solid var(--wp--preset--color--border);
	padding-left: 20px;
}
.toc__label {
	font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--text-muted);
	margin-bottom: 12px;
}
.toc__list {
	list-style: none; margin: 0; padding: 0;
	display: flex; flex-direction: column; gap: 2px;
}
.toc__list li { position: relative; }
.toc__list a {
	display: flex; align-items: baseline; gap: 8px;
	padding: 7px 0;
	font-size: 0.875rem; line-height: 1.4;
	color: var(--wp--preset--color--text-muted);
	text-decoration: none;
	transition: color 0.15s ease;
}
.toc__list a:hover { color: var(--wp--preset--color--brand); }
.toc__list a .num {
	font-variant-numeric: tabular-nums;
	font-weight: 600;
	opacity: 0.5;
	min-width: 18px;
}
.toc__list a.is-active {
	color: var(--wp--preset--color--brand);
	font-weight: 600;
}
.toc__list a.is-active .num {
	opacity: 1;
	color: var(--wp--preset--color--accent);
}
.toc__list a.is-active::before {
	content: "";
	position: absolute; left: -22px;
	width: 2px; height: 18px;
	background: var(--wp--preset--color--accent);
	margin-top: 7px;
}
.toc__progress {
	margin-top: 16px; padding-top: 16px;
	border-top: 1px solid var(--wp--preset--color--border);
	font-size: 0.75rem;
	color: var(--wp--preset--color--text-muted);
	display: flex; align-items: center; gap: 8px;
}
.toc__progress-bar {
	flex: 1; height: 3px;
	background: var(--wp--preset--color--border);
	border-radius: 999px;
	overflow: hidden;
}
.toc__progress-fill {
	height: 100%;
	background: var(--wp--preset--color--accent);
	transition: width 0.15s ease;
}

/* ===== TOC — mobile collapsible ===== */
.toc-mobile { display: none; }

@media (max-width: 1023px) {
	.toc { display: none; }
	.toc-mobile {
		display: block;
		position: sticky; top: 64px;
		z-index: 60;
		margin: 0 0 24px;
		background: color-mix(in srgb, var(--wp--preset--color--surface) 95%, transparent);
		backdrop-filter: blur(8px);
		border-bottom: 1px solid var(--wp--preset--color--border);
	}
	.toc-mobile summary {
		list-style: none; cursor: pointer;
		display: flex; align-items: center; gap: 10px;
		padding: 12px 16px;
		font-size: 0.8125rem; font-weight: 600;
		color: var(--wp--preset--color--text);
	}
	.toc-mobile summary::-webkit-details-marker { display: none; }
	.toc-mobile summary::after {
		content: ""; margin-left: auto;
		width: 8px; height: 8px;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: rotate(45deg) translateY(-2px);
		transition: transform 0.2s ease;
	}
	.toc-mobile[open] summary::after {
		transform: rotate(-135deg) translateY(2px);
	}
	.toc-mobile__label {
		font-size: 0.625rem; font-weight: 700; letter-spacing: 0.14em;
		text-transform: uppercase;
		color: var(--wp--preset--color--text-muted);
	}
	.toc-mobile__current {
		color: var(--wp--preset--color--brand);
		font-weight: 700;
		flex: 1; min-width: 0;
		white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
	}
	.toc-mobile ol {
		list-style: none; margin: 0; padding: 0 16px 16px;
		display: flex; flex-direction: column; gap: 2px;
		border-top: 1px solid var(--wp--preset--color--border);
	}
	.toc-mobile li { padding-top: 8px; }
	.toc-mobile a {
		display: flex; gap: 10px; padding: 8px 0;
		font-size: 0.9375rem;
		color: var(--wp--preset--color--text-muted);
		text-decoration: none;
	}
	.toc-mobile a.is-active {
		color: var(--wp--preset--color--brand);
		font-weight: 600;
	}
	.toc-mobile a .num {
		font-variant-numeric: tabular-nums;
		opacity: 0.5;
		min-width: 22px;
	}
}


/* ============================================================
   APPENDED FOR CHUNK 3 — Single-casino review page port (overlay v1.2)
   - @import for assets/css/single-review.css
   ============================================================ */



/* ============================================================
   APPENDED FOR CHUNK 4 — Mobile pass (overlay v1.3)
   - Sticky mobile CTA (visible only <768px, reveals after scroll)
   - Mobile drawer (markup the theme exposes; WP nav block users may
     also style the WP-native overlay — see notes below)
   - Polish on WP-native nav block mobile overlay so it visually
     matches the broadsheet drawer aesthetic
   ============================================================ */

/* ===== Sticky mobile CTA ===== */
.sticky-mobile-cta { display: none; }

@media (max-width: 767px) {
	.sticky-mobile-cta {
		display: flex;
		position: fixed;
		bottom: 12px;
		left: 12px;
		right: 12px;
		z-index: 80;
		padding: 10px 12px 10px 14px;
		background: var(--wp--preset--color--surface);
		border: 1px solid var(--wp--preset--color--border);
		border-radius: 12px;
		box-shadow:
			0 12px 28px -8px rgba(11, 37, 69, 0.18),
			0 4px 10px -4px rgba(11, 37, 69, 0.10);
		align-items: center;
		gap: 12px;
		font-size: 0.8125rem;
		transform: translateY(120%);
		opacity: 0;
		transition: transform 0.25s ease, opacity 0.25s ease;
	}
	.sticky-mobile-cta.is-shown {
		transform: translateY(0);
		opacity: 1;
	}
	.sticky-mobile-cta[aria-hidden="false"] {
		/* JS toggles aria-hidden alongside .is-shown for assistive tech */
	}
	.sticky-mobile-cta__rank {
		width: 26px; height: 26px; border-radius: 50%;
		background: var(--wp--preset--color--highlight);
		color: var(--wp--preset--color--brand);
		display: grid; place-items: center;
		font-family: var(--wp--preset--font-family--serif);
		font-weight: 700;
		font-size: 0.8125rem;
		flex-shrink: 0;
	}
	.sticky-mobile-cta__meta {
		flex: 1;
		min-width: 0;
		line-height: 1.25;
	}
	.sticky-mobile-cta__name {
		font-weight: 700;
		color: var(--wp--preset--color--brand);
		font-size: 0.875rem;
		display: block;
		white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
	}
	.sticky-mobile-cta__bonus {
		font-size: 0.6875rem;
		color: var(--wp--preset--color--text-muted);
	}
	.sticky-mobile-cta .btn-cta {
		padding: 10px 14px;
		font-size: 0.8125rem;
		flex-shrink: 0;
	}
}

/* ===== Mobile drawer (custom markup — opt-in) =====
   The default header uses WP's core navigation block, which renders its
   own mobile overlay. The .mobile-drawer rules below are available for
   anyone who replaces the WP nav with custom drawer markup matching the
   Claude Design mockup. Harmless if the markup is not present. */
.mobile-drawer { display: none; }
.mobile-drawer.is-open {
	display: block;
	position: fixed; inset: 0; z-index: 200;
	background: color-mix(in srgb, #000 50%, transparent);
}
.mobile-drawer__panel {
	position: absolute; top: 0; right: 0; bottom: 0;
	width: min(320px, 86vw);
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--text);
	padding: 24px;
	display: flex; flex-direction: column; gap: 4px;
	box-shadow: -8px 0 32px rgba(0, 0, 0, 0.15);
	animation: cr-drawer-slide-in 0.25s ease;
}
@keyframes cr-drawer-slide-in {
	from { transform: translateX(100%); }
	to { transform: translateX(0); }
}
.mobile-drawer__head {
	display: flex; justify-content: space-between; align-items: center;
	margin-bottom: 16px;
}
.mobile-drawer__title {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.125rem;
	color: var(--wp--preset--color--brand);
	margin: 0;
}
.mobile-drawer a {
	display: block;
	padding: 14px 8px;
	font-size: 1.0625rem;
	color: var(--wp--preset--color--text);
	text-decoration: none;
	border-bottom: 1px solid var(--wp--preset--color--border);
	font-weight: 500;
}
.mobile-drawer a:hover,
.mobile-drawer a.is-active {
	color: var(--wp--preset--color--brand);
}
.mobile-drawer a.is-active { font-weight: 700; }
.mobile-drawer__footer {
	margin-top: auto;
	padding-top: 16px;
	font-size: 0.75rem;
	color: var(--wp--preset--color--text-muted);
}

/* ===== Polish on WP-native nav block mobile overlay =====
   Make WP's built-in overlay menu visually closer to the broadsheet
   drawer aesthetic. Targets the classes the core navigation block
   emits (.wp-block-navigation__responsive-container and friends). */
@media (max-width: 1023px) {
	.wp-block-navigation__responsive-container.is-menu-open {
		background: var(--wp--preset--color--surface);
		color: var(--wp--preset--color--text);
		padding-top: 24px;
	}
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
		font-size: 1.0625rem;
		padding: 14px 8px;
		border-bottom: 1px solid var(--wp--preset--color--border);
		font-weight: 500;
	}
	.wp-block-navigation__responsive-container-open,
	.wp-block-navigation__responsive-container-close {
		background: transparent;
		color: var(--wp--preset--color--text);
	}
}

/* ============================================================
   APPENDED FOR v0.8.0 — Missing component rules from master
   Claude Design styles.css. These weren't in any of the page-
   specific CSS files I inlined earlier (ratgeber.css, listicle.css,
   single-review.css), so .faq / .references-block / .article /
   .compare / .notice / .proscons / .cite-link were silently
   missing, causing FAQ and Quellen to render unstyled.
   ============================================================ */

/* ===== Section: ARTICLE ===== */
/* ============ ARTICLE BODY ============ */
.article {
  font-family: var(--font-sans);
  max-width: 70ch;
}
.article p { font-size: 1.0625rem; line-height: 1.7; }
.article h2 {
  font-size: 1.875rem;
  margin: 56px 0 16px;
  padding-bottom: 8px;
  position: relative;
}
.article h2::before {
  content: ""; display: block; width: 40px; height: 3px; background: var(--accent);
  margin-bottom: 16px;
}
.article h3 { font-size: 1.25rem; margin: 32px 0 12px; }
.article > section:first-child h2 { margin-top: 0; }

.article a:not(.btn-cta) { color: var(--brand); font-weight: 500; text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--accent) 40%, transparent); text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
.article a:not(.btn-cta):hover { color: var(--accent); text-decoration-color: var(--accent); }

/* Citation: [1] -> #ref-1 */
.cite-link {
  display: inline-block;
  font-size: .75em;
  font-weight: 700;
  color: var(--accent) !important;
  background: color-mix(in srgb, var(--accent) 8%, transparent);
  padding: 1px 5px;
  border-radius: 3px;
  text-decoration: none !important;
  margin: 0 1px;
  vertical-align: super;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.cite-link:hover { background: color-mix(in srgb, var(--accent) 18%, transparent); }
.references li:target {
  background: color-mix(in srgb, var(--highlight) 22%, transparent);
  outline: 2px solid var(--highlight);
  outline-offset: 4px;
  border-radius: var(--radius-sm);
}

/* Pull quote */
.pullquote {
  margin: 32px 0;
  padding: 24px 32px;
  border-left: 3px solid var(--accent);
  background: var(--surface-alt);
  font-family: var(--font-serif); font-style: italic;
  font-size: 1.25rem; line-height: 1.4; color: var(--brand);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
}
.pullquote cite { display: block; margin-top: 12px; font-family: var(--font-sans); font-style: normal; font-size: .875rem; color: var(--text-muted); font-weight: 500; }

/* Hinweis-Box */
.notice {
  display: flex; gap: 14px;
  margin: 24px 0;
  padding: 18px 20px;
  background: color-mix(in srgb, var(--warning) 8%, var(--surface));
  border: 1px solid color-mix(in srgb, var(--warning) 30%, var(--border));
  border-radius: var(--radius-md);
  font-size: .9375rem; line-height: 1.55;
}
.notice__icon { flex-shrink: 0; color: var(--warning); margin-top: 1px; }
.notice strong { color: var(--brand); }

/* Comparison table */
.compare-wrap { overflow-x: auto; margin: 24px 0; border: 1px solid var(--border); border-radius: var(--radius-md); }
.compare {
  width: 100%; border-collapse: collapse;
  font-family: var(--font-sans); font-size: .9375rem;
  font-variant-numeric: tabular-nums;
}
.compare thead { background: var(--brand); color: #fff; }
.compare th, .compare td { padding: 12px 16px; text-align: left; }
.compare th { font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 600; }
.compare tbody tr { border-top: 1px solid var(--border); }
.compare tbody tr:nth-child(even) { background: var(--surface-alt); }
.compare td:first-child { font-weight: 600; color: var(--brand); position: sticky; left: 0; background: inherit; }
.compare tbody tr:nth-child(even) td:first-child { background: var(--surface-alt); }
.compare tbody tr:nth-child(odd) td:first-child { background: var(--surface); }
.compare .yes { color: var(--success); font-weight: 700; }
.compare .no { color: var(--danger); font-weight: 700; }

/* Pros / cons */
.proscons { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin: 32px 0; }
@media (max-width: 600px) { .proscons { grid-template-columns: 1fr; } }
.proscons__col {
  padding: 28px 24px 24px; border-radius: var(--radius-md);
  background: var(--surface);
  border: 1px solid var(--border);
  position: relative;
}
.proscons__col::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  border-radius: var(--radius-md) var(--radius-md) 0 0;
}
.proscons__col--good::before { background: var(--success); }
.proscons__col--bad::before  { background: var(--danger); }
.proscons__col h3 {
  font-family: var(--font-serif); font-size: 1.375rem; font-weight: 700;
  margin: 0 0 4px; padding: 0; border: 0; letter-spacing: -.01em;
}
.proscons__col h3 svg { display: none; }
.proscons__col--good h3 { color: var(--success); }
.proscons__col--bad  h3 { color: var(--danger); }
.proscons__count {
  display: block; font-family: var(--font-sans); font-size: .6875rem;
  font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
  color: var(--text-muted); margin-bottom: 18px;
}
.proscons__col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.proscons__col li {
  display: flex; align-items: flex-start; gap: 12px;
  font-size: .9375rem; line-height: 1.5; color: var(--text);
}
.proscons__col li svg {
  flex-shrink: 0; width: 18px; height: 18px; margin-top: 3px;
  padding: 3px; border-radius: 50%;
  background: color-mix(in srgb, var(--success) 14%, transparent);
  color: var(--success);
}
.proscons__col--bad li svg {
  background: color-mix(in srgb, var(--danger) 14%, transparent);
  color: var(--danger);
}

/* Rating breakdown */
.rating-breakdown {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 24px 28px;
  margin: 32px 0;
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 32px;
  align-items: center;
}
@media (max-width: 720px) { .rating-breakdown { grid-template-columns: 1fr; gap: 20px; text-align: center; } }
.rating-breakdown__overall { text-align: center; padding-right: 24px; border-right: 1px solid var(--border); }
@media (max-width: 720px) { .rating-breakdown__overall { border-right: none; border-bottom: 1px solid var(--border); padding-right: 0; padding-bottom: 16px; } }
.rating-breakdown__overall .score { font-size: 3.5rem; justify-content: center; }
.rating-breakdown__overall .label { font-size: .6875rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--text-muted); margin-top: 4px; }
.rating-breakdown__overall .stars { justify-content: center; margin-top: 8px; }
.rating-breakdown__overall .stars svg { width: 16px; height: 16px; }
.rating-breakdown__list { display: flex; flex-direction: column; gap: 12px; }
.rating-row { display: grid; grid-template-columns: 140px 1fr 40px; align-items: center; gap: 12px; font-size: .9375rem; }
.rating-row__bar { height: 6px; background: var(--bg-deep); border-radius: 999px; overflow: hidden; }
.rating-row__bar-fill { height: 100%; background: var(--accent); border-radius: 999px; }
.rating-row__val { font-family: var(--font-serif); font-weight: 700; color: var(--brand); text-align: right; font-variant-numeric: tabular-nums; }

/* ===== Section: FAQ ===== */
/* ============ FAQ ============ */
.faq { display: flex; flex-direction: column; gap: 0; margin: 32px 0; border-top: 1px solid var(--border); }
.faq details {
  border-bottom: 1px solid var(--border);
}
.faq summary {
  list-style: none; cursor: pointer;
  display: flex; align-items: flex-start; justify-content: space-between; gap: 16px;
  padding: 20px 8px;
  font-family: var(--font-serif); font-size: 1.125rem; font-weight: 700;
  color: var(--brand); line-height: 1.3;
  transition: color .15s ease;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary:hover { color: var(--accent); }
.faq summary::after {
  content: ""; flex-shrink: 0;
  width: 16px; height: 16px;
  background:
    linear-gradient(currentColor, currentColor) center / 100% 2px no-repeat,
    linear-gradient(currentColor, currentColor) center / 2px 100% no-repeat;
  transition: transform .2s ease;
  margin-top: 6px;
}
.faq details[open] summary::after { transform: rotate(45deg); background-size: 100% 2px, 0 100%; }
.faq__answer {
  padding: 0 8px 24px;
  font-size: 1rem; line-height: 1.65; color: var(--text);
  max-width: 70ch;
}
.faq__answer p:last-child { margin-bottom: 0; }

/* ===== Section: REFERENCES ===== */
/* ============ QUELLEN ============ */
.references-block {
  margin: 56px 0 0;
  padding: 24px 28px;
  background: var(--surface-alt);
  border-left: 3px solid var(--accent);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
}
.references-block h2 {
  font-size: 1.125rem; font-family: var(--font-sans); font-weight: 700;
  margin: 0 0 16px; padding: 0;
  text-transform: uppercase; letter-spacing: .12em; color: var(--text-muted);
}
.references-block h2::before { display: none; }
.references {
  list-style: none; margin: 0; padding: 0;
  font-size: .8125rem; line-height: 1.55; color: var(--text-muted);
  counter-reset: ref;
  display: flex; flex-direction: column; gap: 10px;
}
.references li {
  counter-increment: ref;
  padding-left: 32px;
  position: relative;
  scroll-margin-top: 96px;
}
.references li::before {
  content: counter(ref);
  position: absolute; left: 0; top: 0;
  width: 22px; height: 22px;
  background: var(--surface); color: var(--accent);
  border: 1px solid var(--border);
  border-radius: 50%;
  display: grid; place-items: center;
  font-family: var(--font-sans); font-size: .6875rem; font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.references a { color: var(--text); text-decoration: underline; text-decoration-color: var(--border); word-break: break-word; }
.references a:hover { color: var(--accent); text-decoration-color: var(--accent); }
.references .ref-meta { display: block; color: var(--text-muted); font-size: .75rem; margin-top: 2px; }

/* ===== Component rules from master styles.css ===== */

.compare-wrap { overflow-x: auto; margin: 24px 0; border: 1px solid var(--border); border-radius: var(--radius-md); }

.compare-wrap { overflow-x: auto; margin: 24px 0; border: 1px solid var(--border); border-radius: var(--radius-md); }

.proscons { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin: 32px 0; }

.proscons__col {
  padding: 28px 24px 24px; border-radius: var(--radius-md);
  background: var(--surface);
  border: 1px solid var(--border);
  position: relative;
}

.proscons__count {
  display: block; font-family: var(--font-sans); font-size: .6875rem;
  font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
  color: var(--text-muted); margin-bottom: 18px;
}

.notice {
  display: flex; gap: 14px;
  margin: 24px 0;
  padding: 18px 20px;
  background: color-mix(in srgb, var(--warning) 8%, var(--surface));
  border: 1px solid color-mix(in srgb, var(--warning) 30%, var(--border));
  border-radius: var(--radius-md);
  font-size: .9375rem; line-height: 1.55;
}

.notice__icon { flex-shrink: 0; color: var(--warning); margin-top: 1px; }

.cite-link {
  display: inline-block;
  font-size: .75em;
  font-weight: 700;
  color: var(--accent) !important;
  background: color-mix(in srgb, var(--accent) 8%, transparent);
  padding: 1px 5px;
  border-radius: 3px;
  text-decoration: none !important;
  margin: 0 1px;
  vertical-align: super;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.cite-link:hover {
  background: color-mix(in srgb, var(--accent) 18%, transparent);
}

.references li:target {
  background: color-mix(in srgb, var(--highlight) 22%, transparent);
  outline: 2px solid var(--highlight);
  outline-offset: 4px;
  border-radius: var(--radius-sm);
}

.author-box {
  margin: 64px 0 0;
  padding: 28px 32px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 24px;
  align-items: start;
}


/* ============================================================
   APPENDED FOR v0.8.3 — CARDLIST.css inlined into theme
   (so casino-card placeholders render with proper broadsheet
   styling until the real plugin is enqueueing this itself).
   ============================================================ */

/* ============================================================
   CARDLIST.css — Casino Cardlist plugin styling spec.

   These styles assume a specific HTML structure your cardlist
   plugin emits (see `cardlist-plugin-spec.md`). Drop this file
   into your plugin's assets folder, OR enqueue it from your
   theme on pages where the plugin is used.

   The CSS is plugin-agnostic — you can rename .casinocard-* to
   match your plugin's prefix as long as the structure stays.
   ============================================================ */

/* ===================== CONTAINER ===================== */
.casinocards {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin: 24px 0;
  font-family: var(--wp--preset--font-family--sans, "Inter", system-ui, sans-serif);
}

/* ===================== CARD ===================== */
.casinocard {
  display: grid;
  grid-template-columns: 56px 220px 1fr 220px 220px;
  gap: 0;
  align-items: stretch;
  background: var(--wp--preset--color--surface, #fff);
  border: 1px solid var(--wp--preset--color--border, #E4DCC1);
  border-radius: 12px;
  overflow: hidden;
  transition: box-shadow .15s, border-color .15s;
}
.casinocard:hover {
  box-shadow: 0 2px 6px rgba(15,23,42,.08), 0 1px 2px rgba(15,23,42,.04);
  border-color: color-mix(in srgb, var(--wp--preset--color--accent, #0E5C57) 40%, var(--wp--preset--color--border, #E4DCC1));
}
.casinocard.is-featured {
  border-color: var(--wp--preset--color--highlight, #C9A227);
  border-width: 2px;
}

/* ----- Rank column ----- */
.casinocard__rank {
  display: grid;
  place-items: center;
  background: var(--wp--preset--color--bg-deep, #EFEADC);
  border-right: 1px solid var(--wp--preset--color--border, #E4DCC1);
  font-family: var(--wp--preset--font-family--serif, Georgia, serif);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--wp--preset--color--brand, #0B2545);
  position: relative;
}
.casinocard.is-featured .casinocard__rank {
  background: var(--wp--preset--color--highlight, #C9A227);
  color: var(--wp--preset--color--brand, #0B2545);
}
.casinocard__rank::before {
  content: attr(data-rank);
}

/* ----- Logo column ----- */
.casinocard__logo {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 20px 16px;
  border-right: 1px solid var(--wp--preset--color--border, #E4DCC1);
  background: var(--wp--preset--color--bg-deep, #EFEADC);
}
.casinocard__logo img {
  max-width: 140px;
  max-height: 56px;
  width: auto;
  height: auto;
  object-fit: contain;
}
.casinocard__logo-fallback {
  width: 140px; height: 56px;
  display: grid; place-items: center;
  background: var(--wp--preset--color--surface, #fff);
  border: 1px dashed var(--wp--preset--color--border, #E4DCC1);
  border-radius: 6px;
  font-family: var(--wp--preset--font-family--serif, Georgia, serif);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--wp--preset--color--brand, #0B2545);
}
.casinocard__license {
  font-size: .6875rem;
  font-weight: 600;
  letter-spacing: .04em;
  color: var(--wp--preset--color--text-muted, #5D636E);
  text-align: center;
  line-height: 1.2;
}

/* ----- Body column ----- */
.casinocard__body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 20px 24px;
  min-width: 0;
}
.casinocard__name {
  font-family: var(--wp--preset--font-family--serif, Georgia, serif);
  font-size: 1.375rem;
  font-weight: 700;
  color: var(--wp--preset--color--brand, #0B2545);
  line-height: 1.15;
  margin: 0;
}
.casinocard__featured-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  align-self: flex-start;
  padding: 3px 10px;
  background: var(--wp--preset--color--highlight, #C9A227);
  color: var(--wp--preset--color--brand, #0B2545);
  border-radius: 999px;
  font-size: .6875rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.casinocard__rating {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .875rem;
}
.casinocard__rating-score {
  font-family: var(--wp--preset--font-family--serif, Georgia, serif);
  font-size: 1.625rem;
  font-weight: 700;
  color: var(--wp--preset--color--brand, #0B2545);
  line-height: 1;
}
.casinocard__rating-score-max {
  color: var(--wp--preset--color--text-muted, #5D636E);
  font-weight: 400;
  font-size: 1rem;
}
.casinocard__rating-stars {
  color: var(--wp--preset--color--highlight, #C9A227);
  letter-spacing: 1px;
  font-size: 1rem;
}
.casinocard__rating-count {
  color: var(--wp--preset--color--text-muted, #5D636E);
  font-size: .8125rem;
}
.casinocard__features {
  list-style: none;
  padding: 0; margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  font-size: .8125rem;
  color: var(--wp--preset--color--text, #1A1F2E);
}
.casinocard__features li {
  position: relative;
  padding-left: 16px;
}
.casinocard__features li::before {
  content: "";
  position: absolute; left: 0; top: 4px;
  width: 12px; height: 12px;
  background: no-repeat center/contain url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2315803D' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
}
.casinocard__payments {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  padding-top: 8px;
  font-size: .75rem;
  color: var(--wp--preset--color--text-muted, #5D636E);
}
.casinocard__payments img {
  height: 18px;
  width: auto;
  opacity: .8;
}

/* ----- Bonus column ----- */
.casinocard__bonus {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  padding: 20px 22px;
  background: var(--wp--preset--color--surface-alt, #FBF8ED);
  border-left: 1px solid var(--wp--preset--color--border, #E4DCC1);
  border-right: 1px solid var(--wp--preset--color--border, #E4DCC1);
}
.casinocard__bonus-label {
  font-size: .6875rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--wp--preset--color--text-muted, #5D636E);
}
.casinocard__bonus-amount {
  font-family: var(--wp--preset--font-family--serif, Georgia, serif);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--wp--preset--color--brand, #0B2545);
  line-height: 1.1;
}
.casinocard__bonus-detail {
  font-size: .8125rem;
  color: var(--wp--preset--color--text-muted, #5D636E);
  line-height: 1.4;
}

/* ----- CTA column ----- */
.casinocard__cta {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
  padding: 20px 22px;
  background: var(--wp--preset--color--bg-deep, #EFEADC);
}
.casinocard__cta-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 20px;
  background: var(--wp--preset--color--brand, #0B2545);
  color: #fff;
  font-weight: 700;
  font-size: .9375rem;
  text-decoration: none;
  border-radius: 999px;
  transition: background .15s, transform .15s;
  min-height: 44px;
}
.casinocard__cta-primary:hover {
  background: var(--wp--preset--color--accent, #0E5C57);
  transform: translateY(-1px);
}
.casinocard__cta-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  color: var(--wp--preset--color--accent, #0E5C57);
  font-weight: 600;
  font-size: .8125rem;
  text-decoration: underline;
  text-underline-offset: 3px;
  background: transparent;
  border: 0;
}
.casinocard__cta-tc {
  font-size: .6875rem;
  color: var(--wp--preset--color--text-muted, #5D636E);
  line-height: 1.4;
  text-align: center;
}

/* ===================== MOBILE / NARROW ===================== */
@media (max-width: 1024px) {
  .casinocard {
    grid-template-columns: 56px 1fr 1fr;
    grid-template-areas:
      "rank logo logo"
      "rank body body"
      "rank bonus cta";
  }
  .casinocard__rank { grid-area: rank; }
  .casinocard__logo {
    grid-area: logo;
    flex-direction: row;
    justify-content: flex-start;
    border-right: 0;
    border-bottom: 1px solid var(--wp--preset--color--border, #E4DCC1);
  }
  .casinocard__body { grid-area: body; }
  .casinocard__bonus {
    grid-area: bonus;
    border-left: 0;
    border-top: 1px solid var(--wp--preset--color--border, #E4DCC1);
  }
  .casinocard__cta { grid-area: cta; border-top: 1px solid var(--wp--preset--color--border, #E4DCC1); }
}
@media (max-width: 600px) {
  .casinocard {
    grid-template-columns: 56px 1fr;
    grid-template-areas:
      "rank logo"
      "body body"
      "bonus bonus"
      "cta cta";
  }
  .casinocard__bonus { padding: 14px 18px; flex-direction: row; align-items: center; flex-wrap: wrap; gap: 8px 14px; }
  .casinocard__bonus-amount { font-size: 1.25rem; }
}

/* ===================== DARK MODE ===================== */
[data-theme="dark"] .casinocard {
  background: var(--wp--preset--color--surface, #131F33);
  border-color: var(--wp--preset--color--border, #2A3A52);
}
[data-theme="dark"] .casinocard__rank,
[data-theme="dark"] .casinocard__logo,
[data-theme="dark"] .casinocard__cta {
  background: var(--wp--preset--color--bg-deep, #0A1320);
}
[data-theme="dark"] .casinocard__bonus {
  background: var(--wp--preset--color--surface-alt, #1A2740);
}
