/* =====================================================================
   Peak Man design system, v1 (2026-10-18)
   One layer over Mercury (space-*), redesign (mx-*), home (pmh-*),
   content blocks (ocg-*, casino-table-*) and wpDiscuz.
   Scope: body.pm-ds (added by the mu-plugin). Remove the plugin to roll back.
   ===================================================================== */

/* ---------- 1. Tokens ---------- */
html:root {
	/* Brand */
	--pm-navy-900: #0b1a2e;
	--pm-navy-800: #14263f;
	--pm-navy-700: #22385a;
	--pm-gold-500: #c9a227;
	--pm-gold-600: #b08c1e;
	--pm-gold-700: #86680f; /* gold as text on white, 5.2:1 */
	--pm-gold-100: #f5eed8;

	/* One neutral family, slightly warm, used for every grey on the site */
	--pm-ink: #1a2230;
	--pm-ink-2: #464f5e;
	--pm-ink-3: #6b7280;
	--pm-line: #e2e0da;
	--pm-line-strong: #cfccc4;
	--pm-surface: #f6f5f2;
	--pm-surface-2: #eeece7;
	--pm-white: #ffffff;

	/* Status: text colour only, no tinted boxes */
	--pm-ok: #1d6f47;
	--pm-warn: #9a4a12;
	--pm-bad: #a32d2d;

	/* Type */
	--pm-font: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	--pm-fs-xs: 12px;
	--pm-fs-sm: 14px;
	--pm-fs-md: 16px;
	--pm-fs-lg: 20px;
	--pm-fs-xl: 28px;
	--pm-fs-2xl: clamp(30px, 4.2vw, 42px);

	/* Space (4px grid) */
	--pm-s1: 4px; --pm-s2: 8px; --pm-s3: 12px; --pm-s4: 16px; --pm-s5: 24px; --pm-s6: 32px; --pm-s7: 48px; --pm-s8: 72px;

	/* Elevation: one shadow, tinted with the navy */
	--pm-shadow: 0 1px 2px rgba(11, 26, 46, .06), 0 6px 18px -10px rgba(11, 26, 46, .22);
	--pm-focus: 0 0 0 2px #fff, 0 0 0 4px var(--pm-gold-600);

	/* Old variables now point at the tokens, so every mx-* rule follows */
	--mx-black: var(--pm-ink);
	--mx-dark: var(--pm-ink);
	--mx-navy: var(--pm-navy-900);
	--mx-navy-light: var(--pm-navy-800);
	--mx-navy-medium: var(--pm-navy-700);
	--mx-gold: var(--pm-gold-500);
	--mx-gold-dark: var(--pm-gold-700);
	--mx-gold-light: var(--pm-gold-100);
	--mx-gold-bg: var(--pm-gold-100);
	--mx-gold-border: var(--pm-line-strong);
	--mx-white: var(--pm-white);
	--mx-gray-50: var(--pm-surface);
	--mx-gray-100: var(--pm-surface-2);
	--mx-gray-200: var(--pm-line);
	--mx-gray-300: var(--pm-line-strong);
	--mx-gray-500: var(--pm-ink-3);
	--mx-gray-600: var(--pm-ink-2);
	--mx-text-muted: var(--pm-ink-3);
	--mx-success: var(--pm-ok);
	--mx-success-bg: transparent;
	--mx-success-border: var(--pm-line);
	--mx-warning: var(--pm-warn);
	--mx-warning-bg: transparent;
	--mx-warning-border: var(--pm-line);
	--mx-danger: var(--pm-bad);
	--mx-danger-bg: transparent;
	--mx-danger-border: var(--pm-line);
	--mx-shadow: var(--pm-shadow);
	--mx-shadow-sm: none;
	--mx-shadow-md: var(--pm-shadow);
	--mx-shadow-lg: var(--pm-shadow);
	--mx-radius-sm: 0;
	--mx-radius-md: 0;
	--mx-radius-lg: 0;
	--mx-radius-xl: 0;
	--mx-font: var(--pm-font);
	--mx-h1-size: var(--pm-fs-2xl);
	--mx-h2-size: var(--pm-fs-xl);
	--mx-h3-size: var(--pm-fs-lg);
	--mx-text-xs: var(--pm-fs-xs);
	--mx-text-sm: var(--pm-fs-sm);
	--mx-text-md: var(--pm-fs-md);
	--mx-text-lg: var(--pm-fs-lg);
}

/* ---------- 2. Base type ---------- */
body.pm-ds,
body.pm-ds :is(input, select, textarea, button),
body.pm-ds :is(.pmh, .faq-section, #ocg-container, .space-page-content, .mx-shell, .mx-page-wrapper) {
	font-family: var(--pm-font) !important;
}
body.pm-ds { color: var(--pm-ink); -webkit-font-smoothing: antialiased; font-feature-settings: "ss01" 0; }
body.pm-ds :is(h1, h2, h3, h4) { font-family: var(--pm-font) !important; letter-spacing: -0.015em; text-wrap: balance; }
body.pm-ds :is(p, li) { text-wrap: pretty; }
/* Base colours use :where() so any component colour (e.g. white text on dark sections) still wins */
:where(body.pm-ds) :is(h1, h2, h3, h4) { color: var(--pm-navy-900); }

/* Long-form text: one size, one rhythm on every template */
body.pm-ds .space-page-content :is(p, li) { font-size: var(--pm-fs-md); line-height: 1.68; }
/* Text colour on the container, not on p/li, so dark blocks can pass their own colour down */
:where(body.pm-ds .space-page-content) { color: var(--pm-ink); }
body.pm-ds .space-page-content h2 { font-size: var(--pm-fs-xl) !important; line-height: 1.2 !important; font-weight: 800 !important; margin: 40px 0 12px !important; }
body.pm-ds .space-page-content h3 { font-size: var(--pm-fs-lg) !important; line-height: 1.3 !important; font-weight: 750 !important; margin: 28px 0 8px !important; }
body.pm-ds .space-page-content h4 { font-size: 17px !important; line-height: 1.35 !important; font-weight: 700 !important; }
:where(body.pm-ds .space-page-content) a:not([class]) { color: var(--pm-gold-700); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
:where(body.pm-ds .space-page-content) a:not([class]):hover { color: var(--pm-navy-900); }
body.pm-ds .space-page-content table { font-size: var(--pm-fs-sm); }
body.pm-ds .space-page-content :is(th) { text-transform: none !important; letter-spacing: 0 !important; font-weight: 700; color: var(--pm-navy-900); }

/* Figures that get compared: ratings, percentages, amounts */
body.pm-ds :is(.pmh-rating, .pmh-top-rank, .mx-rank, .mx-score, .mx-rb-value, .bellnumbers, .mx-verdict-score, [class*="rating"], [class*="score"], td) { font-variant-numeric: tabular-nums; }

/* Default link blue must never show through */
:where(body.pm-ds) a { color: inherit; }
body.pm-ds a:focus-visible, body.pm-ds button:focus-visible, body.pm-ds summary:focus-visible { outline: none !important; box-shadow: var(--pm-focus) !important; }

/* ---------- 3. Corners: square everywhere (the rule already existed, these leaked) ---------- */
html body.pm-ds :is(#pm-ds-square, *),
html body.pm-ds :is(#pm-ds-square, *)::before,
html body.pm-ds :is(#pm-ds-square, *)::after { border-radius: 0 !important; }
html body.pm-ds :is(#pm-ds-square, input[type="radio"]) { border-radius: 50% !important; }

/* ---------- 4. Surfaces: border instead of floating cards, one shadow on hover ---------- */
body.pm-ds :is(.mx-hero, .mx-panel, .mx-row, .mx-offer-card, .mx-single-offer-shell, .mx-single-offer-visual, .mx-single-offer-fact,
	.mx-related-bonus-card, .mx-alt-card, .mx-decision-section, .mx-audit, .mx-audit-box, .mx-quick-facts-wrap, .bonus-author-card,
	.space-page-content-wrap, .space-archive-title-box-h1, .pmh-top-row, .pmh-card, .pmh-cat,
	.ocg-cards-container, .space-offers-archive-item, .space-offers-archive-item-ins, .wpd-form-wrap, .wpd-thread-wrapper,
	.mx-single-offer-meta-chip, span.primary, .tp-badge-single, .space-breadcrumbs, img.mx-auto, img.attachment-mercury-100-100, .mx-logo) {
	box-shadow: none !important;
}
body.pm-ds :is(.pmh-top-row, .mx-row, .mx-offer-card, .ocg-cards-container, .mx-alt-card, .mx-related-bonus-card, .pmh-card, .pmh-cat) {
	transition: border-color .18s ease, box-shadow .18s ease;
}
body.pm-ds :is(.pmh-top-row, .mx-row, .mx-offer-card, .ocg-cards-container, .mx-alt-card, .mx-related-bonus-card, .pmh-card, .pmh-cat):hover {
	border-color: var(--pm-line-strong) !important;
	box-shadow: var(--pm-shadow) !important;
}

/* Decorative gradient strips on top of cards and the pink/violet wpDiscuz bar */
body.pm-ds :is(.mx-hero, .mx-row, .mx-offer-card, .mx-single-offer-shell, .mx-related-bonus-card, .space-archive-title-box-h1, .wpd-form-wrap, .wpd-thread-wrapper)::before {
	display: none !important;
}

/* ---------- 5. Buttons: one primary, one secondary, one text link ---------- */
body.pm-ds :is(.pmh-card-btn, .pmh-hero-cta, .mx-btn, .mx-offer-btn, a.casino-table-btn, .bonus-button-new, .pm-community-btn,
	.space-offers-archive-item-button a, .mx-alt-card-button, .mx-action a, a.btn.casino-table-btn,
	#ocg-container a.casino-table-btn, .space-organization-header-button a) {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px;
	min-height: 44px !important;
	padding: 0 20px !important;
	background: var(--pm-gold-500) !important;
	background-image: none !important;
	color: var(--pm-navy-900) !important;
	border: 1px solid var(--pm-gold-500) !important;
	font-family: var(--pm-font) !important;
	font-size: 15px !important;
	font-weight: 750 !important;
	line-height: 1.2 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	text-decoration: none !important;
	text-align: center !important;
	box-shadow: none !important;
	transition: background-color .15s ease, border-color .15s ease, transform .1s ease !important;
}
body.pm-ds :is(.pmh-card-btn, .pmh-hero-cta, .mx-btn, .mx-offer-btn, a.casino-table-btn, .bonus-button-new, .pm-community-btn,
	.space-offers-archive-item-button a, .mx-alt-card-button, .mx-action a, .space-organization-header-button a):hover {
	background: var(--pm-gold-600) !important;
	border-color: var(--pm-gold-600) !important;
	color: var(--pm-navy-900) !important;
}
body.pm-ds :is(.pmh-card-btn, .pmh-hero-cta, .mx-btn, .mx-offer-btn, a.casino-table-btn, .bonus-button-new, .pm-community-btn,
	.space-offers-archive-item-button a, .mx-alt-card-button, .mx-action a, .space-organization-header-button a):active { transform: translateY(1px); }
body.pm-ds :is(.pmh-hero-cta)::after { display: none !important; }

/* Secondary: outline */
body.pm-ds :is(.pmh-hero-ghost, a.ocg-more-details, .more-details, .pm-community-bridge a:not(.pm-community-btn)) {
	display: inline-flex !important; align-items: center; justify-content: center; min-height: 44px; padding: 0 18px !important;
	background: transparent !important; color: var(--pm-navy-900) !important; border: 1px solid var(--pm-line-strong) !important;
	font-size: 14px !important; font-weight: 700 !important; text-transform: none !important; letter-spacing: 0 !important; box-shadow: none !important;
}
body.pm-ds .pmh-hero .pmh-hero-ghost { color: #fff !important; border-color: rgba(255,255,255,.3) !important; }
body.pm-ds :is(.pmh-hero-ghost, a.ocg-more-details, .more-details):hover { border-color: var(--pm-navy-900) !important; }

/* Text link with arrow ("Mehr lesen", "Alle ... ansehen") */
body.pm-ds :is(.mx-read-more-btn, .pmh-more, .pmh-link-more) {
	background: none !important; border: 0 !important; padding: 0 !important; min-height: 0 !important;
	color: var(--pm-gold-700) !important; font-size: 14px !important; font-weight: 700 !important;
	text-transform: none !important; letter-spacing: 0 !important; text-decoration: none !important;
}
body.pm-ds :is(.mx-read-more-btn, .pmh-more, .pmh-link-more):hover { color: var(--pm-navy-900) !important; text-decoration: underline !important; }

/* ---------- 6. Labels and badges: two kinds only ---------- */
/* Small section label above a heading: sentence case, no tracking */
body.pm-ds :is(.pmh-kicker, .mx-kicker, span.mx-bvh-kicker, .mx-hero-next-kicker, .mx-guide-visual-kicker, .mx-bvh-card-kicker,
	.mx-rating-breakdown-title, .mx-single-offer-eyebrow span, .space-title-box-category a, .mx-audit-date) {
	display: inline-block;
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	color: var(--pm-gold-700) !important;
	background: none !important;
	border: 0 !important;
	padding: 0 !important;
	box-shadow: none !important;
}
body.pm-ds .mx-guide-visual-icon { display: none !important; }

/* Tag: neutral outline, used for "Neu 2026", "GGL", "Ohne Einzahlung", chips, verdicts */
body.pm-ds :is(.pmh-badge, .mx-badge, .mx-offer-pill, .mx-chip, .mx-alt-card-label, .mx-verdict-badge, .mx-tag, .mx-tp-badge,
	.mx-single-offer-meta-chip, .mx-post-cat-badge, .mx-audit-verdict, .pmh-hero-badge, .space-archive-loop-item-cat a) {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	padding: 3px 8px !important;
	background: var(--pm-white) !important;
	color: var(--pm-ink-2) !important;
	border: 1px solid var(--pm-line-strong) !important;
	font-size: 12px !important;
	font-weight: 650 !important;
	line-height: 1.3 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	box-shadow: none !important;
}
body.pm-ds .mx-post-cat-badge { background: var(--pm-navy-900) !important; color: #fff !important; border-color: var(--pm-navy-900) !important; }
body.pm-ds .pmh-hero .pmh-hero-badge { background: transparent !important; color: #e9d38a !important; border-color: rgba(201,162,39,.4) !important; }
/* Warning tags keep a colour, but only in the text */
body.pm-ds :is(.mx-tag.danger, .mx-badge.is-unknown) { color: var(--pm-warn) !important; }
body.pm-ds .mx-tp-badge { color: #0e7a55 !important; }

/* Quick-facts status column: plain text, colour marks only the outliers */
body.pm-ds [class*="mx-quick-fact-status"] { background: none !important; border: 0 !important; padding: 0 !important; font-size: 13px !important; font-weight: 650 !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--pm-ink-3) !important; }
body.pm-ds .mx-quick-fact-status.good { color: var(--pm-ok) !important; }
body.pm-ds .mx-quick-fact-status.warn, body.pm-ds .mx-quick-fact-status.bad { color: var(--pm-warn) !important; }

/* "Für wen geeignet / Nicht geeignet": one neutral box, simple markers */
body.pm-ds :is(.mx-hero-audience-card, .mx-fit-card) { background: var(--pm-surface) !important; border: 1px solid var(--pm-line) !important; }
body.pm-ds :is(.mx-hero-audience-bullet, .mx-fit-bullet) {
	background: none !important; width: auto !important; min-width: 14px; height: auto !important;
	font-size: 15px !important; font-weight: 800 !important; line-height: 1.5 !important;
}
body.pm-ds :is(.mx-hero-audience-bullet, .mx-fit-bullet).good { color: var(--pm-ok) !important; }
body.pm-ds :is(.mx-hero-audience-bullet, .mx-fit-bullet).bad { color: var(--pm-warn) !important; font-size: 0 !important; }
body.pm-ds :is(.mx-hero-audience-bullet, .mx-fit-bullet).bad::after { content: "–"; font-size: 15px; }

/* ---------- 7. Casino / bonus rows: one look for every list ---------- */
body.pm-ds :is(.pmh-top-row, .mx-row, .mx-offer-card, #ocg-container .ocg-cards-container, .space-page-content .table-bonuses .space-offers-archive-item-wrap, .mx-alt-card, .mx-related-bonus-card) {
	background: var(--pm-white) !important;
	background-image: none !important;
	border: 1px solid var(--pm-line) !important;
	color: var(--pm-ink) !important;
}
/* Rank: navy square with gold figure, same everywhere */
body.pm-ds :is(.pmh-top-rank, .mx-rank, .bellnumbers) {
	display: inline-flex !important; align-items: center; justify-content: center;
	width: 28px !important; height: 28px !important; min-width: 28px; flex: 0 0 28px !important;
	padding: 0 !important; background: var(--pm-navy-900) !important; color: var(--pm-gold-500) !important;
	border: 0 !important; font-size: 13px !important; font-weight: 800 !important; line-height: 1 !important;
}
/* Names: one size */
body.pm-ds :is(.pmh-top-name, .mx-row .mx-title h3, .mx-row .mx-title h3 a, .mx-offer-card h3, .mx-offer-card h3 a, .mx-offer-card .mx-offer-title, .mx-alt-card h3) {
	font-size: 18px !important; line-height: 1.25 !important; font-weight: 800 !important; letter-spacing: -0.01em !important; color: var(--pm-navy-900) !important;
}
/* Logos: fixed tile on a dark ground so white logos stay visible */
body.pm-ds :is(.pmh-card-logo, .mx-row .mx-logo, .mx-hero .mx-logo, .space-organizations-archive-item-logo img, #ocg-container img.mx-auto) {
	background: var(--pm-navy-900) !important;
	border: 0 !important;
	object-fit: contain;
}
body.pm-ds .mx-hero .mx-logo { padding: 0 !important; overflow: hidden; }
body.pm-ds .mx-hero .mx-logo img { width: 100%; height: 100%; object-fit: contain; }
/* Facts line under the offer: quiet, tabular */
body.pm-ds :is(.pmh-top-meta, .mx-row .mx-meta, .mx-row .mx-checks) { color: var(--pm-ink-3) !important; font-size: 13px !important; }
body.pm-ds :is(.mx-row .mx-meta span, .mx-row .mx-checks span) { background: none !important; border: 0 !important; padding: 0 !important; color: var(--pm-ink-2) !important; font-size: 13px !important; }
body.pm-ds :is(.mx-row .mx-meta, .mx-row .mx-checks) span + span::before { content: "·"; margin: 0 8px 0 2px; color: var(--pm-line-strong); }
body.pm-ds .mx-row .mx-audit { background: none !important; border: 0 !important; padding: 0 !important; }
body.pm-ds .mx-row .mx-audit strong { font-size: 13px !important; color: var(--pm-ink-2) !important; }

/* Bonus archive cards were dark: same light card as the rest */
body.pm-ds .mx-offer-card.mx-dark :is(h3, h3 a, .mx-offer-title, a:not(.mx-offer-btn)) { color: var(--pm-navy-900) !important; }
body.pm-ds .mx-offer-card :is(.mx-offer-highlight, .mx-bonus-desc) { color: var(--pm-ink-2) !important; }
body.pm-ds .mx-offer-card :is(.mx-bonus-checked, .mx-bonus-tp-rating) { color: var(--pm-ink-3) !important; }
body.pm-ds :is(.mx-bonus-tp, .mx-bonus-tp-stars) { background: none !important; color: var(--pm-navy-900) !important; border: 0 !important; padding: 0 !important; font-weight: 700; }
body.pm-ds .mx-offer-card .mx-offer-logo { background: var(--pm-surface) !important; }

/* Ratings: one style (number in navy, star in gold) */
body.pm-ds :is(.pmh-rating, .ocg-stars) { color: var(--pm-navy-900) !important; font-weight: 800 !important; background: none !important; border: 0 !important; }

/* /casinos/: the name was 30px+, the card had a coloured left edge */
body.pm-ds .mx-row { border-left-width: 1px !important; }

/* ---------- 8. Page header: one pattern for all inner pages ---------- */
/* Band */
body.pm-ds :is(.space-title-box, .space-archive-title-box, .space-style-2-organization-header) {
	background: var(--pm-surface) !important;
	background-image: none !important;
	border-bottom: 1px solid var(--pm-line) !important;
}
body.pm-ds :is(.space-title-box, .space-archive-title-box) { padding: 32px 0 28px !important; }
/* H1: one size on every template */
body.pm-ds :is(.space-title-box-h1 h1, .space-archive-title-box-h1 h1, .mx-hero h1, .mx-title h1, .mx-bvh h1, .mx-new-casinos .mx-hero h1, .mx-single-offer-copy h1, .single-offer-hero h1) {
	font-size: var(--pm-fs-2xl) !important;
	line-height: 1.12 !important;
	font-weight: 800 !important;
	letter-spacing: -0.02em !important;
	color: var(--pm-navy-900) !important;
	margin-bottom: 12px !important;
}
/* Lead paragraph */
body.pm-ds :is(.mx-bvh-sub, .mx-new-casinos .mx-hero .mx-sub, .mx-single-offer-desc, .mx-decision-note) {
	font-size: 17px !important; line-height: 1.6 !important; color: var(--pm-ink-2) !important; max-width: 68ch;
}
/* Breadcrumbs: small, grey, above the H1 */
body.pm-ds .space-breadcrumbs { font-size: 13px !important; color: var(--pm-ink-3) !important; background: none !important; border: 0 !important; padding: 0 !important; }
body.pm-ds .space-breadcrumbs a { color: var(--pm-ink-2) !important; text-decoration: none; }
body.pm-ds .space-breadcrumbs a:hover { color: var(--pm-navy-900) !important; text-decoration: underline; }
/* Meta line (checked / updated) */
body.pm-ds :is(.mx-bvh-meta, .mx-single-offer-meta) { color: var(--pm-ink-3) !important; font-size: 13px !important; }

/* Bonus hub and amount pages: the header was a white card inside the band */
body.pm-ds .space-archive-title-box-h1 { background: none !important; border: 0 !important; padding: 0 !important; }
body.pm-ds .mx-bvh { background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
body.pm-ds .mx-bvh-card { background: var(--pm-white) !important; border: 1px solid var(--pm-line) !important; color: var(--pm-ink) !important; box-shadow: none !important; }
body.pm-ds .mx-bvh-card :is(li, p, span, a) { color: var(--pm-ink-2) !important; }
body.pm-ds .mx-bvh-card a { color: var(--pm-gold-700) !important; font-weight: 700; }

/* /casinos/: dark gradient banner -> same light header */
body.pm-ds .mx-new-casinos .mx-panel.mx-hero {
	background: var(--pm-surface) !important; background-image: none !important;
	border: 0 !important; border-bottom: 1px solid var(--pm-line) !important; color: var(--pm-ink) !important;
}
body.pm-ds .mx-new-casinos .mx-hero :is(.mx-sub, .mx-sub.is-muted, p, span, li) { color: var(--pm-ink-2) !important; }
body.pm-ds .mx-new-casinos .mx-hero .breadcrumb_last { color: var(--pm-ink-3) !important; }
body.pm-ds .mx-new-casinos .mx-hero a { color: var(--pm-ink-2) !important; }

/* Casino review header: no floating card */
body.pm-ds .mx-hero { background: var(--pm-white) !important; border: 1px solid var(--pm-line) !important; }

/* Single bonus header: cream card -> white panel */
body.pm-ds :is(.mx-single-offer-shell, .single-offer-hero) { background: var(--pm-white) !important; background-image: none !important; border: 1px solid var(--pm-line) !important; }
body.pm-ds :is(.mx-single-offer-fact, .mx-single-offer-visual) { background: var(--pm-surface) !important; border: 1px solid var(--pm-line) !important; }

/* ---------- 9. Sidebar ---------- */
body.pm-ds .space-sidebar-section .space-widget { background: var(--pm-white) !important; border: 1px solid var(--pm-line) !important; box-shadow: none !important; }
body.pm-ds .space-sidebar-section .space-widget :is(h2, h3, h4, .widget-title, .space-widget-title) {
	font-size: 17px !important; line-height: 1.3 !important; font-weight: 800 !important; color: var(--pm-navy-900) !important;
	text-transform: none !important; letter-spacing: -0.01em !important; margin: 0 0 12px !important; padding: 0 0 10px !important;
	border-bottom: 1px solid var(--pm-line) !important; background: none !important;
}
body.pm-ds .space-sidebar-section .space-widget :is(h2, h3, h4, .widget-title)::before { display: none !important; }
body.pm-ds .space-sidebar-section a { color: var(--pm-ink) !important; }
body.pm-ds .space-sidebar-section a:hover { color: var(--pm-gold-700) !important; }

/* ---------- 10. Content blocks inside posts (#ocg-container, FAQ) ---------- */
body.pm-ds #ocg-container .ocg-cards-container { padding: 16px 20px !important; margin-bottom: 10px !important; }
body.pm-ds #ocg-container :is(h2, h3, h4, .casino-name) { color: var(--pm-navy-900) !important; }
body.pm-ds .faq-section { color: var(--pm-ink) !important; }

/* ---------- 11. Comments (wpDiscuz): brand colours instead of pink/violet ---------- */
body.pm-ds #wpdcom :is(.wpd-prim-button, .wc_comm_submit, .wpd-second-button) { background: var(--pm-gold-500) !important; color: var(--pm-navy-900) !important; border: 0 !important; box-shadow: none !important; }
body.pm-ds :is(.wpd-form-wrap, .wpd-thread-wrapper) { border: 1px solid var(--pm-line) !important; background: var(--pm-white) !important; }

/* ---------- 12. Reduced motion respected site-wide ---------- */
@media (prefers-reduced-motion: reduce) {
	body.pm-ds *, body.pm-ds *::before, body.pm-ds *::after { transition: none !important; }
}

/* ---------- 13. No all-caps labels anywhere (text written in caps, like GGL or KYC, stays as written) ---------- */
body.pm-ds *:not(.text-logo):not(.text-logo *):not(.space-header-logo *) {
	text-transform: none !important;
}
body.pm-ds :is(span, small, strong, b, em, label, th, div, p, a, li, dt, dd):not(.text-logo):not(.text-logo *) { letter-spacing: normal !important; }
body.pm-ds :is(h1, h2, h3, h4) { letter-spacing: -0.015em !important; }

/* Sidebar shortcode titles: drop Mercury's coloured square */
body.pm-ds .space-block-title span { font-size: 17px !important; font-weight: 800 !important; color: var(--pm-navy-900) !important; }
body.pm-ds .space-block-title span::before, body.pm-ds .space-block-title::before, body.pm-ds .space-block-title::after { display: none !important; }
body.pm-ds .space-block-title { border-bottom: 1px solid var(--pm-line) !important; padding-bottom: 10px !important; margin-bottom: 12px !important; }

/* Bonus cards: thick top rule -> same 1px border */
body.pm-ds .mx-offer-card { border-top-width: 1px !important; border-top-color: var(--pm-line) !important; }

/* /casinos/ header: left aligned like every other page */
body.pm-ds .mx-new-casinos .mx-hero, body.pm-ds .mx-new-casinos .mx-hero * { text-align: left !important; }
body.pm-ds .mx-new-casinos .mx-hero .space-breadcrumbs { justify-content: flex-start !important; margin-left: 0 !important; }
body.pm-ds .mx-new-casinos .mx-hero .mx-kicker { margin-bottom: 8px; }

/* Category badge on news cards */
body.pm-ds .mx-post-cat-badge :is(a, span) { color: #fff !important; background: none !important; font-size: 12px !important; }

/* ---------- 14. Specificity fixes (shared :is() lists outrank single overrides) ---------- */
html body.pm-ds .space-block-title span { padding-left: 0 !important; }
html body.pm-ds .space-block-title span::after { display: none !important; }
html body.pm-ds .space-block-title { padding-left: 0 !important; }
html body.pm-ds div.mx-post-cat-badge { background: var(--pm-navy-900) !important; border-color: var(--pm-navy-900) !important; }
html body.pm-ds div.mx-post-cat-badge a { color: #fff !important; background: none !important; border: 0 !important; padding: 0 !important; }
html body.pm-ds .pmh-hero span.pmh-hero-badge { background: transparent !important; color: #e9d38a !important; border-color: rgba(201,162,39,.4) !important; }
html body.pm-ds .mx-tag.danger, html body.pm-ds .mx-badge.is-unknown { color: var(--pm-warn) !important; }
html body.pm-ds span.mx-tp-badge { color: #0e7a55 !important; }

/* Corners, strongest form: each :not(#id) adds ID weight and matches every element */
html body.pm-ds *:not(#pm-q1):not(#pm-q2):not(#pm-q3),
html body.pm-ds *:not(#pm-q1):not(#pm-q2):not(#pm-q3)::before,
html body.pm-ds *:not(#pm-q1):not(#pm-q2):not(#pm-q3)::after { border-radius: 0 !important; }
html body.pm-ds input[type="radio"]:not(#pm-q1):not(#pm-q2):not(#pm-q3):not(#pm-q4) { border-radius: 50% !important; }

/* Content casino list (#ocg-container): ID-scoped theme rules need ID-scoped overrides */
html body.pm-ds #ocg-container .ocg-cards-container.casino-card-item:not(#pm-q1) {
	box-shadow: none !important; border: 1px solid var(--pm-line) !important; background: var(--pm-white) !important;
}
html body.pm-ds #ocg-container .ocg-cards-container.casino-card-item:not(#pm-q1):hover { box-shadow: var(--pm-shadow) !important; border-color: var(--pm-line-strong) !important; }
html body.pm-ds #ocg-container .ocg-cards-container:not(#pm-q1)::before { display: none !important; }
html body.pm-ds #ocg-container :is(img, .ocg-item-logo):not(#pm-q1) { box-shadow: none !important; }
html body.pm-ds #ocg-container a.ocg-more-details:not(#pm-q1) {
	background: transparent !important; color: var(--pm-navy-900) !important; border: 1px solid var(--pm-line-strong) !important;
	min-height: 40px; font-size: 14px !important; font-weight: 700 !important; box-shadow: none !important;
}
html body.pm-ds #ocg-container a.ocg-more-details:not(#pm-q1):hover { border-color: var(--pm-navy-900) !important; }
html body.pm-ds #ocg-container .ocg-stars:not(#pm-q1) { background: none !important; border: 0 !important; box-shadow: none !important; }
html body.pm-ds #ocg-container .bellnumbers:not(#pm-q1) { box-shadow: none !important; }
html body.pm-ds .space-offers-archive-item:not(#pm-q1), html body.pm-ds .space-offers-archive-item-ins:not(#pm-q1) { box-shadow: none !important; }

/* One typeface everywhere, icon fonts excluded */
html body.pm-ds :is(a, span, div, p, li, h1, h2, h3, h4, h5, h6, td, th, button, input, select, textarea, label, strong, b, em, small, nav):not(#pm-q1):not(#pm-q2):not(.fa):not(.fas):not(.far):not(.fab):not([class*="fa-"]):not([class*="icon"]):not([class*="wpdiscuz-icon"]):not(.star):not([class*="star-"]) {
	font-family: var(--pm-font) !important;
}

/* Home hero secondary button sits on navy */
html body.pm-ds .pmh-hero a.pmh-hero-ghost:not(#pm-q1) { color: #fff !important; border-color: rgba(255,255,255,.32) !important; background: transparent !important; }
html body.pm-ds .pmh-hero a.pmh-hero-ghost:not(#pm-q1):hover { border-color: #fff !important; background: rgba(255,255,255,.06) !important; }

/* ---------- 15. Compact content casino card (#ocg-container): ~330px -> ~130px high ---------- */
html body.pm-ds #ocg-container .ocg-cards-container.casino-card-item:not(#pm-q1) { padding: 0 !important; margin-bottom: 8px !important; position: relative; }
html body.pm-ds #ocg-container .ocg-cards-container .card:not(#pm-q1) { padding: 0 !important; border: 0 !important; background: none !important; position: relative; }
/* Rank: small square in the top-left corner */
html body.pm-ds #ocg-container .ocg-cards-container .bell:not(#pm-q1) {
	position: absolute !important; top: 14px !important; left: 14px !important; width: 24px !important; height: 24px !important; z-index: 2; margin: 0 !important;
}
html body.pm-ds #ocg-container .ocg-cards-container .bellnumbers:not(#pm-q1) { width: 24px !important; height: 24px !important; min-width: 24px; flex-basis: 24px !important; font-size: 12px !important; display: flex !important; }

@media (min-width: 769px) {
	html body.pm-ds #ocg-container .ocg-cards-container .casino-table-top.casino-table-top:not(#pm-q1) {
		display: grid !important;
		grid-template-columns: 76px minmax(0, 1fr) 200px !important;
		grid-template-areas: "logo info cta" "logo stars cta" !important;
		grid-template-rows: auto auto !important;
		column-gap: 18px !important;
		row-gap: 4px !important;
		align-items: center !important;
		padding: 14px 18px 14px 50px !important;
		min-height: 0 !important;
	}
	/* Logo column: 64px tile, details as a small text link under it */
	html body.pm-ds #ocg-container .casino-table-top > .col-md-2:first-child:not(#pm-q1) {
		grid-area: logo !important; display: flex !important; flex-direction: column !important; align-items: center !important; gap: 6px !important; align-self: center !important;
	}
	html body.pm-ds #ocg-container .casino-table-top img.ocg-item-logo:not(#pm-q1) {
		width: 64px !important; height: 64px !important; max-width: 64px !important; margin: 0 !important; object-fit: contain;
	}
	html body.pm-ds #ocg-container .casino-table-top .ocg-more-details-block:not(#pm-q1) { width: auto !important; margin: 0 !important; }
	html body.pm-ds #ocg-container .casino-table-top a.ocg-more-details:not(#pm-q1) {
		min-height: 0 !important; padding: 0 !important; border: 0 !important; background: none !important;
		font-size: 12px !important; font-weight: 600 !important; color: var(--pm-ink-3) !important; gap: 4px; white-space: nowrap;
	}
	html body.pm-ds #ocg-container .casino-table-top a.ocg-more-details:not(#pm-q1):hover { color: var(--pm-navy-900) !important; text-decoration: underline; }
	html body.pm-ds #ocg-container .casino-table-top a.ocg-more-details i:not(#pm-q1) { font-size: 11px !important; }

	/* Info: name + badge on one line, offer, facts on one line */
	html body.pm-ds #ocg-container .casino-table-top > .col-md-3:nth-child(2):not(#pm-q1) {
		grid-area: info !important; display: flex !important; flex-flow: row wrap !important; align-items: center !important; justify-content: flex-start !important;
		gap: 2px 10px !important; text-align: left !important; align-self: end !important;
	}
	html body.pm-ds #ocg-container .casino-table-top .ocg-title:not(#pm-q1) { font-size: 13px !important; font-weight: 700 !important; color: var(--pm-ink-3) !important; margin: 0 !important; }
	html body.pm-ds #ocg-container .casino-table-top .pm-apple-badge-row:not(#pm-q1) { margin: 0 !important; }
	html body.pm-ds #ocg-container .casino-table-top .pm-apple-badge:not(#pm-q1) {
		padding: 1px 6px !important; font-size: 11px !important; font-weight: 650 !important; min-height: 0 !important; line-height: 1.4 !important;
		background: none !important; color: var(--pm-ok) !important; border: 1px solid var(--pm-line-strong) !important;
	}
	html body.pm-ds #ocg-container .casino-table-top p.ocg-info:not(#pm-q1) {
		flex: 1 1 100% !important; margin: 2px 0 0 !important; padding: 0 !important; min-height: 0 !important;
		font-size: 18px !important; line-height: 1.25 !important; font-weight: 800 !important; color: var(--pm-navy-900) !important; text-align: left !important;
	}
	html body.pm-ds #ocg-container .casino-table-top .pm-apple-card-meta:not(#pm-q1) {
		flex: 1 1 100% !important; display: flex !important; flex-flow: row wrap !important; gap: 0 14px !important; margin: 2px 0 0 !important;
		font-size: 13px !important; color: var(--pm-ink-3) !important;
	}
	html body.pm-ds #ocg-container .casino-table-top .pm-apple-card-meta span:not(#pm-q1) { gap: 4px !important; font-size: 13px !important; }
	html body.pm-ds #ocg-container .casino-table-top .pm-apple-card-meta b:not(#pm-q1) { font-weight: 650 !important; color: var(--pm-ink-2) !important; }

	/* Stars: one small line under the facts */
	html body.pm-ds #ocg-container .casino-table-top > .col-md-2:nth-child(3):not(#pm-q1) { grid-area: stars !important; text-align: left !important; align-self: start !important; width: auto !important; }
	html body.pm-ds #ocg-container .casino-table-top .ocg-stars:not(#pm-q1) { padding: 0 !important; gap: 2px !important; min-height: 0 !important; }
	html body.pm-ds #ocg-container .casino-table-top .ocg-stars i:not(#pm-q1) { font-size: 12px !important; width: auto !important; }
	html body.pm-ds #ocg-container .casino-table-top .ocg-star-rating:not(#pm-q1) { font-size: 13px !important; padding-left: 6px !important; font-weight: 800 !important; }

	/* CTA: button + one line of terms */
	html body.pm-ds #ocg-container .casino-table-top > .casino-table-cta:not(#pm-q1) { grid-area: cta !important; display: flex !important; flex-direction: column !important; gap: 6px !important; align-self: center !important; }
	html body.pm-ds #ocg-container .casino-table-top a.casino-table-btn:not(#pm-q1) { margin: 0 !important; min-height: 40px !important; font-size: 14px !important; padding: 0 14px !important; }
	html body.pm-ds #ocg-container .casino-table-top .ocg-item-tc:not(#pm-q1) { font-size: 11.5px !important; line-height: 1.35 !important; color: var(--pm-ink-3) !important; text-align: left !important; margin: 0 !important; }
}
@media (min-width: 769px) {
	html body.pm-ds #ocg-container .ocg-cards-container .casino-table-top.casino-table-top:not(#pm-q1):not(#pm-q2) { grid-template-columns: 116px minmax(0, 1fr) 200px !important; padding-left: 46px !important; }
}

/* ---------- 16. Sidebar: names and titles only, no text walls ---------- */
html body.pm-ds .space-sidebar-section .space-widget:not(#pm-q1) { padding: 16px !important; overflow: hidden; }
html body.pm-ds .space-sidebar-section :is(.space-shortcode-wrap, .space-shortcode-wrap-ins, .space-companies-2-archive-items, .space-news-1-items):not(#pm-q1) { width: 100% !important; max-width: 100% !important; margin: 0 !important; padding: 0 !important; }
html body.pm-ds .space-sidebar-section .space-widget > p:empty { display: none; }

/* Casinos: 40px logo | name + stars, one line each */
html body.pm-ds .space-sidebar-section .space-companies-2-archive-item-desc:not(#pm-q1) { display: none !important; }
html body.pm-ds .space-sidebar-section .space-companies-2-archive-item:not(#pm-q1) { width: 100% !important; padding: 0 !important; margin: 0 !important; border-bottom: 1px solid var(--pm-line); }
html body.pm-ds .space-sidebar-section .space-companies-2-archive-item:last-child:not(#pm-q1) { border-bottom: 0; }
html body.pm-ds .space-sidebar-section .space-companies-2-archive-item-ins:not(#pm-q1) {
	display: grid !important; grid-template-columns: 40px minmax(0, 1fr); column-gap: 12px; align-items: center; padding: 10px 0 !important; margin: 0 !important; min-height: 0 !important; width: 100% !important;
}
html body.pm-ds .space-sidebar-section .space-companies-2-archive-item-img:not(#pm-q1) { width: 40px !important; height: 40px !important; margin: 0 !important; float: none !important; overflow: hidden; background: var(--pm-navy-900); }
html body.pm-ds .space-sidebar-section .space-companies-2-archive-item-img img:not(#pm-q1) { width: 40px !important; height: 40px !important; object-fit: contain; display: block; }
html body.pm-ds .space-sidebar-section .space-companies-2-archive-item-title-box:not(#pm-q1) { width: auto !important; float: none !important; padding: 0 !important; margin: 0 !important; min-height: 0 !important; }
html body.pm-ds .space-sidebar-section .space-companies-2-archive-item-title-box-ins:not(#pm-q1) { padding: 0 !important; margin: 0 !important; }
html body.pm-ds .space-sidebar-section .space-companies-2-archive-item-title:not(#pm-q1),
html body.pm-ds .space-sidebar-section .space-companies-2-archive-item-title a:not(#pm-q1) { font-size: 14px !important; line-height: 1.3 !important; font-weight: 750 !important; margin: 0 !important; padding: 0 !important; }
html body.pm-ds .space-sidebar-section .space-companies-2-archive-item-rating:not(#pm-q1) { margin: 2px 0 0 !important; padding: 0 !important; transform: scale(.8); transform-origin: left center; }

/* Articles: titles only */
html body.pm-ds .space-sidebar-section :is(.space-news-1-item-img, .space-news-1-item-meta):not(#pm-q1) { display: none !important; }
html body.pm-ds .space-sidebar-section .space-news-1-item:not(#pm-q1) { width: 100% !important; padding: 0 !important; margin: 0 !important; border-bottom: 1px solid var(--pm-line); }
html body.pm-ds .space-sidebar-section .space-news-1-item:last-child:not(#pm-q1) { border-bottom: 0; }
html body.pm-ds .space-sidebar-section :is(.space-news-1-item-ins, .space-news-1-item-title-box, .space-news-1-item-title-box-ins):not(#pm-q1) { width: 100% !important; float: none !important; padding: 0 !important; margin: 0 !important; min-height: 0 !important; }
html body.pm-ds .space-sidebar-section .space-news-1-item-title:not(#pm-q1) { padding: 10px 0 !important; margin: 0 !important; }
html body.pm-ds .space-sidebar-section .space-news-1-item-title a:not(#pm-q1) { font-size: 14px !important; line-height: 1.4 !important; font-weight: 650 !important; }

/* Core "latest posts" block (other sidebars): plain list */
html body.pm-ds .space-sidebar-section .wp-block-latest-posts__list li:not(#pm-q1) { padding: 8px 0 !important; border-bottom: 1px solid var(--pm-line); font-size: 14px !important; line-height: 1.4; }

/* ---------- 17. Compact content casino card on phones ---------- */
@media (max-width: 768px) {
	html body.pm-ds #ocg-container .ocg-cards-container .casino-table-top.casino-table-top:not(#pm-q1) {
		display: grid !important;
		grid-template-columns: 56px minmax(0, 1fr) !important;
		grid-template-areas: "logo info" "logo stars" "cta cta" "det det" !important;
		column-gap: 12px !important; row-gap: 6px !important; align-items: start !important;
		padding: 14px !important; min-height: 0 !important; text-align: left !important;
	}
	html body.pm-ds #ocg-container .casino-table-top > .col-md-2:first-child:not(#pm-q1) { display: contents !important; }
	html body.pm-ds #ocg-container .casino-table-top img.ocg-item-logo:not(#pm-q1) {
		grid-area: logo !important; width: 56px !important; height: 56px !important; max-width: 56px !important; margin: 0 !important; object-fit: contain;
	}
	html body.pm-ds #ocg-container .casino-table-top .ocg-more-details-block.mobhide:not(#pm-q1) { grid-area: det !important; display: flex !important; justify-content: center; width: 100% !important; margin: 0 !important; }
	html body.pm-ds #ocg-container .casino-table-top .ocg-more-details-block.mobhide a.ocg-more-details:not(#pm-q1) {
		min-height: 28px !important; width: auto !important; padding: 0 !important; border: 0 !important; background: none !important;
		font-size: 13px !important; font-weight: 600 !important; color: var(--pm-ink-3) !important; gap: 4px;
	}
	/* Info column is hidden by Bootstrap on phones (d-none d-md-block) in the theme; the Apple Pay version shows it */
	html body.pm-ds #ocg-container .casino-table-top > .col-md-3:nth-child(2):not(#pm-q1) {
		grid-area: info !important; display: flex !important; flex-flow: row wrap !important; align-items: center !important; gap: 2px 8px !important; text-align: left !important; margin: 0 !important;
	}
	html body.pm-ds #ocg-container .casino-table-top .ocg-title:not(#pm-q1) { font-size: 13px !important; font-weight: 700 !important; color: var(--pm-ink-3) !important; margin: 0 !important; }
	html body.pm-ds #ocg-container .casino-table-top .pm-apple-badge-row:not(#pm-q1) { margin: 0 !important; }
	html body.pm-ds #ocg-container .casino-table-top .pm-apple-badge:not(#pm-q1) { padding: 1px 6px !important; font-size: 11px !important; min-height: 0 !important; line-height: 1.4 !important; background: none !important; color: var(--pm-ok) !important; border: 1px solid var(--pm-line-strong) !important; }
	html body.pm-ds #ocg-container .casino-table-top p.ocg-info:not(#pm-q1) { flex: 1 1 100% !important; margin: 2px 0 0 !important; padding: 0 !important; font-size: 17px !important; line-height: 1.25 !important; font-weight: 800 !important; text-align: left !important; color: var(--pm-navy-900) !important; }
	html body.pm-ds #ocg-container .casino-table-top .pm-apple-card-meta:not(#pm-q1) { flex: 1 1 100% !important; display: flex !important; flex-flow: row wrap !important; gap: 0 12px !important; margin: 0 !important; font-size: 12.5px !important; justify-content: flex-start !important; }
	html body.pm-ds #ocg-container .casino-table-top > .col-md-2:nth-child(3):not(#pm-q1) { grid-area: stars !important; text-align: left !important; margin: 0 !important; }
	html body.pm-ds #ocg-container .casino-table-top .ocg-stars:not(#pm-q1) { padding: 0 !important; gap: 2px !important; min-height: 0 !important; }
	html body.pm-ds #ocg-container .casino-table-top .ocg-stars i:not(#pm-q1) { font-size: 12px !important; width: auto !important; }
	html body.pm-ds #ocg-container .casino-table-top .ocg-star-rating:not(#pm-q1) { font-size: 13px !important; padding-left: 6px !important; }
	html body.pm-ds #ocg-container .casino-table-top > .casino-table-cta:not(#pm-q1) { grid-area: cta !important; display: flex !important; flex-direction: column !important; gap: 6px !important; margin: 4px 0 0 !important; }
	html body.pm-ds #ocg-container .casino-table-top a.casino-table-btn:not(#pm-q1) { margin: 0 !important; min-height: 44px !important; width: 100% !important; font-size: 14px !important; }
	html body.pm-ds #ocg-container .casino-table-top .ocg-item-tc:not(#pm-q1) { font-size: 11.5px !important; line-height: 1.35 !important; color: var(--pm-ink-3) !important; text-align: center !important; margin: 0 !important; width: 100% !important; }
	html body.pm-ds #ocg-container .ocg-cards-container .bell:not(#pm-q1) { top: 10px !important; left: 10px !important; width: 20px !important; height: 20px !important; }
	html body.pm-ds #ocg-container .ocg-cards-container .bellnumbers:not(#pm-q1) { width: 20px !important; height: 20px !important; min-width: 20px; flex-basis: 20px !important; font-size: 11px !important; }
}
@media (max-width: 768px) {
	html body.pm-ds #ocg-container .ocg-cards-container .bell:not(#pm-q1):not(#pm-q2) { top: 6px !important; left: 6px !important; width: 18px !important; height: 18px !important; }
	html body.pm-ds #ocg-container .ocg-cards-container .bellnumbers:not(#pm-q1):not(#pm-q2) { width: 18px !important; height: 18px !important; min-width: 18px; flex-basis: 18px !important; font-size: 10.5px !important; }
	html body.pm-ds #ocg-container .ocg-cards-container.casino-card-item:not(#pm-q1):not(#pm-q2) { margin-bottom: 10px !important; }
}
html body.pm-ds .space-sidebar-section :is(.space-companies-2-archive-item-title-box, .space-companies-2-archive-item-title-box *, .space-news-1-item-title, .space-news-1-item-title *):not(#pm-q1) { text-align: left !important; }
html body.pm-ds .space-sidebar-section .space-companies-2-archive-item-rating .star-rating:not(#pm-q1) { justify-content: flex-start !important; margin: 0 !important; }

/* Bonus amount pages: audit card is light now, its figures were white */
html body.pm-ds .mx-bvh-card :is(strong, b, .mx-audit-stat strong, .mx-audit-stat b):not(#pm-q1) { color: var(--pm-navy-900) !important; }
