:root {
  color-scheme: light;
  --cpa-ink: #172033;
  --cpa-muted: #5d6b82;
  --cpa-blue: #1261d8;
  --cpa-blue-dark: #0c3f9e;
  --cpa-line: #dbe5f1;
  --cpa-surface: #ffffff;
  --cpa-surface-soft: #f4f8fc;
}

html { background: #f5f8fc; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
  background: linear-gradient(180deg, #ffffff 0%, #f4f8fc 58%, #edf4fb 100%) !important;
  color: var(--cpa-ink) !important;
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.72 !important;
}
.topnav {
  background: rgba(255,255,255,.96) !important;
  border-bottom: 1px solid var(--cpa-line) !important;
}
.topnav a { color: #51627a !important; }
.topnav a:hover, .topnav a.active { background: #eaf2ff !important; color: var(--cpa-blue-dark) !important; }
h1, h2, h3, h4, strong, .home-hero h1 { color: var(--cpa-ink) !important; }
h2 { color: var(--cpa-blue-dark) !important; }
p, li, td, th { color: var(--cpa-muted) !important; font-size: 1rem !important; line-height: 1.68 !important; }
h1, h2, h3, h4 { line-height: 1.3 !important; }
strong, b { font-weight: 800 !important; }
a { color: var(--cpa-blue-dark); }
main, .home-hero { position: relative; }
.bookmaker, .seo-table-wrap, .info-callout, .responsible-box,
.content-section, .cpa-authority-card, .faq-item {
  background: rgba(255,255,255,.88) !important;
  border-color: var(--cpa-line) !important;
  box-shadow: 0 10px 28px rgba(37, 70, 110, .07) !important;
}
footer {
  background: rgba(255,255,255,.78) !important;
  border-top-color: var(--cpa-line) !important;
  color: #6b7a90 !important;
}
.site-update-stamp {
  width: min(980px, calc(100% - 32px));
  margin: 0 auto 20px;
  padding: 10px 14px;
  border: 1px solid #cfe0f5;
  border-radius: 10px;
  background: #edf5ff;
  color: #425b78;
  font-size: .78rem;
  text-align: center;
}
.site-update-stamp strong { color: var(--cpa-blue-dark) !important; }
.cpa-ai-editorial-update {
  width: min(820px, calc(100% - 44px));
  margin: 28px auto 36px;
  padding: 22px 24px;
  border: 1px solid #cfe0f5;
  border-radius: 16px;
  background: linear-gradient(145deg, #f7fbff, #ffffff);
  box-shadow: 0 12px 30px rgba(37, 70, 110, .08);
}
.cpa-ai-editorial-update h2 { margin: 0 0 12px !important; }
.cpa-ai-editorial-update p { margin-bottom: 12px; }
.cpa-ai-editorial-update p:last-child { margin-bottom: 0; }
.cpa-ai-kicker {
  color: var(--cpa-blue) !important;
  font-size: .72rem !important;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.cpa-ai-meta {
  color: #6b7a90 !important;
  font-size: .76rem !important;
}
.football-news {
  background: linear-gradient(145deg, #eaf3ff, #ffffff) !important;
  border-color: #c7dcf7 !important;
  box-shadow: 0 16px 34px rgba(37, 70, 110, .11) !important;
}
.football-news h2, .football-news-card h3 { color: var(--cpa-ink) !important; }
.football-news-intro, .football-news-summary, .football-news-meta,
.football-news-status { color: var(--cpa-muted) !important; }
.football-news-source { color: var(--cpa-blue-dark) !important; border-color: #b4cff0 !important; background: #f7fbff; }
.football-news-card { background: rgba(255,255,255,.9) !important; border-color: #d5e3f2 !important; }
.football-news-read { background: var(--cpa-blue) !important; }
.football-news-read:hover { background: var(--cpa-blue-dark) !important; }
.football-news-source-group--maxifoot { border-left-color: #1261d8 !important; }
.football-news-source-group--lequipe { border-left-color: #d97706 !important; }
.football-news-source-group--predictions { border-left-color: #059669 !important; }
@media (max-width: 700px) {
  .site-update-stamp { width: calc(100% - 28px); }
  body { font-size: 16px !important; }
  .topnav a { font-size: .86rem !important; font-weight: 750 !important; }
  .home-hero p, main p, main li, main td, main th { font-size: 1rem !important; line-height: 1.72 !important; }
  main { padding-left: 16px !important; padding-right: 16px !important; }
  h1 { font-size: clamp(1.85rem, 8vw, 2.45rem) !important; }
  h2 { font-size: clamp(1.45rem, 6vw, 1.95rem) !important; }
  h3 { font-size: 1.08rem !important; }
  button, .btn-copy, .cta-button, input, select, textarea { font-size: .98rem !important; }
}

/* Added SEO descriptions: preserves the existing visual system while making offer details easier to scan. */
.seo-promo-description {
  max-width: 820px;
  margin: 30px auto 34px;
  padding: 22px 24px;
  border: 1px solid #cfe0f5;
  border-radius: 14px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 10px 28px rgba(37,70,110,.06);
}
.seo-promo-description h2 { margin: 0 0 12px; color: var(--cpa-blue-dark) !important; }
.seo-promo-description h3 { margin: 0 0 8px; color: var(--cpa-ink) !important; font-size: 1.03rem; }
.seo-promo-description p { margin: 0 0 12px; color: var(--cpa-muted) !important; line-height: 1.7; }
.seo-promo-description p:last-child { margin-bottom: 0; }
.seo-promo-description strong { color: var(--cpa-ink) !important; }
.seo-promo-note { padding: 12px 14px; border-left: 4px solid var(--cpa-blue); border-radius: 8px; background: #edf5ff; }
.seo-promo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 16px 0; }
.seo-promo-grid article { padding: 16px; border: 1px solid #dbe5f1; border-radius: 11px; background: #f8fbff; }
.seo-promo-grid article p { font-size: .92rem; }
@media (max-width: 700px) {
  .seo-promo-description { margin: 24px 14px 28px; padding: 17px 15px; }
  .seo-promo-grid { grid-template-columns: 1fr; gap: 10px; }
}


/* Performance: keep below-the-fold content from competing with the first paint. */
.seo-promo-description, .football-news {
  content-visibility: auto;
  contain-intrinsic-size: 1px 520px;
}

/* Lisibilité : texte plus foncé et plus appuyé sur tout le site. */
:root {
  --cpa-ink: #0b1220;
  --cpa-muted: #24303f;
}
body { color: #0b1220 !important; font-weight: 500 !important; }
p, li, td, th, figcaption, label, span, dd, dt {
  color: #24303f !important;
  font-weight: 500 !important;
}
h1, h2, h3, h4, h5, h6 { font-weight: 800 !important; letter-spacing: -.01em; }
h1, h3, h4, h5, h6 { color: #070d18 !important; }
h2 { color: #08306e !important; }
strong, b { color: #070d18 !important; font-weight: 800 !important; }
a { color: #08306e !important; font-weight: 600 !important; }
.topnav a { color: #24303f !important; font-weight: 700 !important; }
.home-hero p, .cpa-authority-note, .cpa-rating-help,
.inline-promo-image figcaption, footer, .cpa-empty {
  color: #2b3849 !important;
}
.faq-item h3, .bookmaker h3 { color: #070d18 !important; }

/* Exceptions : éléments sur fond sombre ou coloré restent clairs. */
.ccode, .code-pill, .hl-code, .btn-copy, .cpa-submit,
#float-bar, #float-bar *, .cpa-float-title, .cpa-float-subtitle,
.cpa-social-btn, .cpa-share-link, .cpa-register-btn {
  color: #ffffff !important;
}
.cpa-float-subtitle { color: #d7e3f5 !important; }
