/* Site-wide design polish (4 Nov 2026). Based on the unslop method by Damir Sokolovsky
   (@heydamir, CC BY 4.0). Keeps the brand colours, layouts, images and diagrams; removes the
   AI-template signs: purple and blue colour washes, gradient and glowing buttons, gradient text,
   uppercase tracked labels, gradient cards, hover spotlights and lifts, and heavy headings.

   This file loads in the <head> of every page, before each page's own stylesheet. To win
   without depending on load order, every rule starts with the $P prefix below,
   body:not(#cs-polish-a):not(#cs-polish-b), which adds the weight of two IDs.
   To revert everything: remove the site-polish.css link from the page heads
   (include/new-latest-header.php, include/new-home-page-header.php, blogs/templates/layout.php,
   white-label-poker-software.php, include/error-page.php). */

:root {
  --cp-bg: #0b1019;
  --cp-raised: #121826;
  --cp-raised-2: #1a2131;
  --cp-line: rgba(238, 240, 245, 0.08);
  --cp-text: #eef0f5;
  --cp-text-2: #a3a9b8;
  --cp-text-3: #8a92a6;
  --cp-blue: #0070d8;
  --cp-blue-hover: #0062c0;
  --cp-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

/* 1. Section labels: sentence case, no wide tracking, no blue square or glowing dot */
body:not(#cs-polish-a):not(#cs-polish-b) :is(
  .partner-eyebrow, .fh-eyebrow, .cpl-eyebrow, .cs-trusted-clients__eyebrow, .cs-partner-stories__eyebrow,
  .fh-poker-features__eyebrow, .fh-platform-overview__eyebrow, .pl-eyebrow, .about-eyebrow,
  .contact-form-eyebrow, .ct-eyebrow, .pf-eyebrow, .cs-blog-eyebrow, .creatio-technology__label,
  .fh-growth-audience, .fh-growth-included, .fh-stage-kicker
) {
  text-transform: none;
  letter-spacing: 0;
  font-weight: 500;
  color: var(--cp-text-3);
}
body:not(#cs-polish-a):not(#cs-polish-b) :is(.partner-eyebrow, .fh-eyebrow, .pl-eyebrow, .about-eyebrow, .ct-eyebrow, .pf-eyebrow, .cs-blog-eyebrow, .cs-partner-stories__eyebrow, .cs-trusted-clients__eyebrow)::before {
  content: none;
  display: none;
}
body:not(#cs-polish-a):not(#cs-polish-b) :is(.fh-growth-audience, .fh-growth-included, .fh-stage-kicker) {
  background: none;
  border: 0;
  border-radius: 0;
  padding: 0;
}
body:not(#cs-polish-a):not(#cs-polish-b) :is(.fh-stage-kicker > span, .cpl-status) { display: none; }

/* 2. Second headline lines and gradient text: one solid secondary colour */
body:not(#cs-polish-a):not(#cs-polish-b) :is(h1 > em, h1 > span:not([class]), h2 > span:not([class]), h3 > span:not([class]), .partner-color-text, .about-gradient, .cs-partner-stories h2 > span) {
  color: var(--cp-text-2);
  background: none;
  -webkit-text-fill-color: currentColor;
  font-style: normal;
}

/* 3. Headings: weight for emphasis only, hierarchy from size */
body:not(#cs-polish-a):not(#cs-polish-b) h1 { font-weight: 600; }
body:not(#cs-polish-a):not(#cs-polish-b) h2 { font-weight: 500; }
body:not(#cs-polish-a):not(#cs-polish-b) :is(h1, h2) :is(strong, b) { font-weight: 600; }

/* 4. Primary buttons: one solid brand blue, no gradient, glow, lift or arrow nudge */
body:not(#cs-polish-a):not(#cs-polish-b) :is(
  .partner-button, .contact-submit, .pf-button, .ct-button, .pl-button, .abt-action, .cs-footer-button,
  .fh-stage-cta, .cpl-primary, .fh-growth-card--elite .fh-growth-cta
) {
  background: var(--cp-blue);
  background-image: none;
  border: 1px solid var(--cp-blue);
  border-radius: 8px;
  color: #fff;
  font-weight: 500;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
  filter: none;
  text-shadow: none;
  transition: background-color 150ms var(--cp-ease), border-color 150ms var(--cp-ease), transform 150ms var(--cp-ease);
}
body:not(#cs-polish-a):not(#cs-polish-b) :is(
  .partner-button, .contact-submit, .pf-button, .ct-button, .pl-button, .abt-action, .cs-footer-button,
  .fh-stage-cta, .cpl-primary, .fh-growth-card--elite .fh-growth-cta
):is(:hover, :focus-visible) {
  background: var(--cp-blue-hover);
  border-color: var(--cp-blue-hover);
  color: #fff;
  transform: none;
  translate: none;
  filter: none;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
}
body:not(#cs-polish-a):not(#cs-polish-b) :is(.partner-button, .contact-submit, .pf-button, .ct-button, .pl-button, .abt-action, .cs-footer-button, .fh-stage-cta, .cpl-primary):active { transform: scale(0.98); }
body:not(#cs-polish-a):not(#cs-polish-b) :is(.partner-button, .pf-button, .ct-button, .abt-action, .cs-footer-button, .fh-stage-cta):hover > span { transform: none; translate: none; }
body:not(#cs-polish-a):not(#cs-polish-b) :is(.partner-button, .contact-submit, .pf-button, .ct-button, .pl-button, .abt-action, .cs-footer-button, .fh-stage-cta, .cpl-primary, .partner-text-link, .cs-intro-hero-link):focus-visible {
  outline: 2px solid #72d1fb;
  outline-offset: 3px;
}

/* Secondary buttons inside cards: a quiet surface with a hairline instead of light blue fills */
body:not(#cs-polish-a):not(#cs-polish-b) .partner-text-link {
  background: var(--cp-raised-2);
  border: 1px solid var(--cp-line);
  border-radius: 8px;
  color: var(--cp-text);
  font-weight: 500;
  box-shadow: none;
  transition: background-color 150ms var(--cp-ease);
}
body:not(#cs-polish-a):not(#cs-polish-b) .partner-text-link:hover { background: #222a3c; color: var(--cp-text); transform: none; }

/* 5. Sections: remove the radial purple and blue washes; the base colour stays */
body:not(#cs-polish-a):not(#cs-polish-b) :is(
  .fh-stage, .partner-hero, .cs-partner-stories, .abt-intro, .abt-belief, .partner-commitment, .contact-hero,
  .pf-hero, .pf-demo-panel, .pf-feature-group, .partner-option-art
) { background-image: none; }
body:not(#cs-polish-a):not(#cs-polish-b) :is(.cs-partner-stories) { background-color: var(--cp-bg); }
body:not(#cs-polish-a):not(#cs-polish-b) :is(.pl-hero, .ct-delivery) { background: #111827; background-image: none; }

/* 6. Cards: one flat raised surface and a hairline instead of diagonal gradients */
body:not(#cs-polish-a):not(#cs-polish-b) :is(
  .cs-partner-story, .partner-option, .abt-office-card, .pf-feature-card, .ct-system-flow > li, .pf-category,
  .fh-poker-features__card, .cpl-module-hub
) {
  background: var(--cp-raised);
  background-image: none;
  border-color: var(--cp-line);
}

/* 7. Hover spotlights, colour lights and lifts on cards: off */
body:not(#cs-polish-a):not(#cs-polish-b) :is(.cs-cinema-card-light, .cs-cinema-light) { display: none; }
body:not(#cs-polish-a):not(#cs-polish-b) :is(.cs-motion-card, .pgd-card, .partner-option, .pf-feature-card, .pf-category, .fh-poker-features__card):hover {
  transform: none;
  translate: none;
}

/* 8. Service pages (poker development family): editorial rows instead of boxed templates */
body:not(#cs-polish-a):not(#cs-polish-b) .pgd-page .pgd-proof {
  gap: 0;
  border: 1px solid var(--cp-line);
  border-radius: 12px;
  overflow: hidden;
  background: var(--cp-raised);
}
body:not(#cs-polish-a):not(#cs-polish-b) .pgd-page .pgd-proof li { background: transparent; border: 0; border-radius: 0; padding: 20px 24px; }
body:not(#cs-polish-a):not(#cs-polish-b) .pgd-page .pgd-proof li + li { border-left: 1px solid var(--cp-line); }
body:not(#cs-polish-a):not(#cs-polish-b) .pgd-page .pgd-proof strong { font-weight: 500; font-variant-numeric: tabular-nums; }
body:not(#cs-polish-a):not(#cs-polish-b) .pgd-page .pgd-proof span { color: var(--cp-text-3); }

body:not(#cs-polish-a):not(#cs-polish-b) .pgd-page .pgd-cards { gap: 0 32px; }
body:not(#cs-polish-a):not(#cs-polish-b) .pgd-page .pgd-card {
  background: transparent;
  border: 0;
  border-top: 1px solid var(--cp-line);
  border-radius: 0;
  padding: 24px 0 32px;
  transition: none;
}
body:not(#cs-polish-a):not(#cs-polish-b) .pgd-page .pgd-icon {
  background: none;
  width: auto;
  height: auto;
  border-radius: 0;
  color: var(--cp-text-3);
  margin-bottom: 16px;
}
body:not(#cs-polish-a):not(#cs-polish-b) .pgd-page .pgd-icon svg { width: 20px; height: 20px; stroke-width: 1.5; }
body:not(#cs-polish-a):not(#cs-polish-b) .pgd-page .pgd-card h3 { font-weight: 500; letter-spacing: 0; }
body:not(#cs-polish-a):not(#cs-polish-b) .pgd-page .pgd-card p { color: var(--cp-text-2); }

body:not(#cs-polish-a):not(#cs-polish-b) .pgd-page .pgd-checklist { gap: 0; border-bottom: 1px solid var(--cp-line); }
body:not(#cs-polish-a):not(#cs-polish-b) .pgd-page .pgd-checklist li {
  background: transparent;
  border: 0;
  border-top: 1px solid var(--cp-line);
  border-radius: 0;
  padding: 20px 0 20px 56px;
  color: var(--cp-text-2);
}
body:not(#cs-polish-a):not(#cs-polish-b) .pgd-page .pgd-checklist li::before { left: 0; top: 20px; color: var(--cp-text-3); font-weight: 500; font-variant-numeric: tabular-nums; }
body:not(#cs-polish-a):not(#cs-polish-b) .pgd-page .pgd-checklist strong { font-weight: 500; color: var(--cp-text); }

body:not(#cs-polish-a):not(#cs-polish-b) .pgd-page :is(.sw-table tbody th, .pgd-games dt) { color: var(--cp-text); font-weight: 500; }
body:not(#cs-polish-a):not(#cs-polish-b) .pgd-page .sw-table thead th { color: var(--cp-text-3); font-weight: 500; }

/* Service page heroes: secondary second line, no colour wash */
body:not(#cs-polish-a):not(#cs-polish-b) .process-partnership .partner-hero { border-bottom: 1px solid var(--cp-line); }
body:not(#cs-polish-a):not(#cs-polish-b) .process-partnership .partner-hero h1 { letter-spacing: -0.03em; }

@media (max-width: 760px) {
  body:not(#cs-polish-a):not(#cs-polish-b) .pgd-page .pgd-proof li + li { border-left: 0; }
  body:not(#cs-polish-a):not(#cs-polish-b) .pgd-page .pgd-proof li:nth-child(even) { border-left: 1px solid var(--cp-line); }
  body:not(#cs-polish-a):not(#cs-polish-b) .pgd-page .pgd-proof li:nth-child(n+3) { border-top: 1px solid var(--cp-line); }
  body:not(#cs-polish-a):not(#cs-polish-b) .pgd-page .pgd-proof li { padding: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  body:not(#cs-polish-a):not(#cs-polish-b) :is(.partner-button, .contact-submit, .pf-button, .ct-button, .pl-button, .abt-action, .cs-footer-button, .fh-stage-cta, .cpl-primary, .partner-text-link) { transition: none; }
}
