/*
Theme Name: Quelcasino Luxe
Theme URI: https://quelcasino.fr/
Author: Quelcasino.fr
Author URI: https://quelcasino.fr/
Description: Thème WordPress premium dark / luxe moderne finalisé avec pages complètes, maillage interne, pages légales modèles et intégration Quelcasino Recommender.
Version: 4.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: quelcasino-luxe
Tags: custom-background, custom-logo, custom-menu, featured-images, full-width-template, one-column, responsive-layout, dark, entertainment
*/


/* --------------------------------------------------------------------------
   Quelcasino v2.5 stable CSS loader
   This file intentionally contains the full frontend stylesheet so WordPress
   always loads the visual design even when asset paths or cache/minification
   plugins interfere with /assets/css/quelcasino-luxe.css.
   -------------------------------------------------------------------------- */
:root {
    --csl-bg: #05070d;
    --csl-bg-2: #0b0f19;
    --csl-card: rgba(15, 20, 32, .82);
    --csl-card-strong: rgba(20, 26, 42, .94);
    --csl-border: rgba(255, 214, 122, .18);
    --csl-border-soft: rgba(255, 255, 255, .09);
    --csl-text: #f8f4ea;
    --csl-muted: #aeb4c1;
    --csl-muted-2: #747d8e;
    --csl-gold: #f5c96f;
    --csl-gold-2: #b98128;
    --csl-amber: #ffd67a;
    --csl-violet: #7c5cff;
    --csl-green: #68e59c;
    --csl-shadow: 0 28px 90px rgba(0, 0, 0, .52);
    --csl-radius-xl: 30px;
    --csl-radius-lg: 22px;
    --csl-radius-md: 16px;
    --csl-container: 1120px;
    --csl-page-gutter: clamp(32px, 5.6vw, 76px);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.csl-site {
    margin: 0;
    background: var(--csl-bg);
    color: var(--csl-text);
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.65;
    overflow-x: hidden;
}
body.csl-site a { color: inherit; text-decoration: none; }
body.csl-site img { max-width: 100%; height: auto; }
body.csl-site button, body.csl-site input, body.csl-site select, body.csl-site textarea { font: inherit; }
.csl-background { position: fixed; inset: 0; z-index: -2; overflow: hidden; background: radial-gradient(circle at 75% 8%, rgba(124,92,255,.22), transparent 32%), radial-gradient(circle at 12% 20%, rgba(245,201,111,.13), transparent 28%), linear-gradient(180deg, #05070d 0%, #090d16 52%, #040509 100%); }
.csl-background:before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.026) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.026) 1px, transparent 1px); background-size: 52px 52px; mask-image: linear-gradient(to bottom, rgba(0,0,0,.7), transparent 72%); }
.csl-background span { position: absolute; width: 520px; height: 520px; border-radius: 999px; filter: blur(70px); opacity: .22; }
.csl-background span:nth-child(1) { right: -120px; top: -90px; background: #6147ff; }
.csl-background span:nth-child(2) { left: -150px; top: 340px; background: #c48a2f; }
.csl-background span:nth-child(3) { right: 18%; bottom: -220px; background: #162b79; }
.csl-container { width: min(var(--csl-container), calc(100% - (var(--csl-page-gutter) * 2))); margin: 0 auto; }
.csl-main { min-height: 68vh; }

.csl-header { position: sticky; top: 0; z-index: 50; padding: 16px 0; transition: background .25s ease, border-color .25s ease, backdrop-filter .25s ease; }
.csl-header.is-scrolled { background: rgba(5, 7, 13, .74); border-bottom: 1px solid rgba(255,255,255,.08); backdrop-filter: blur(18px); }
.csl-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 18px; border: 1px solid rgba(255,255,255,.1); border-radius: 24px; background: rgba(10, 14, 23, .66); box-shadow: 0 18px 60px rgba(0,0,0,.26); backdrop-filter: blur(22px); }
.csl-brand, .custom-logo-link { display: inline-flex; align-items: center; gap: 12px; min-width: max-content; }
.csl-brand-mark { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; color: #090b10; background: linear-gradient(135deg, var(--csl-amber), var(--csl-gold-2)); box-shadow: 0 0 0 6px rgba(245,201,111,.08), 0 10px 35px rgba(245,201,111,.24); font-size: 24px; font-weight: 900; }
.csl-brand strong { display: block; font-size: 16px; line-height: 1; letter-spacing: .08em; text-transform: uppercase; }
.csl-brand em { display: block; font-style: normal; font-size: 18px; line-height: 1; color: var(--csl-gold); letter-spacing: .06em; text-transform: uppercase; font-weight: 800; }
.custom-logo { max-height: 54px; width: auto; }
.csl-nav { flex: 1; display: flex; justify-content: center; }
.csl-menu, .csl-footer-menu { list-style: none; margin: 0; padding: 0; }
.csl-menu { display: flex; align-items: center; gap: 4px; flex-wrap: nowrap; }
.csl-menu a { display: inline-flex; padding: 9px 10px; color: rgba(248,244,234,.82); border-radius: 999px; font-size: 13px; white-space: nowrap; font-weight: 600; transition: background .2s ease, color .2s ease, transform .2s ease; }
.csl-menu a:hover { background: rgba(255,255,255,.08); color: #fff; transform: translateY(-1px); }
.csl-header-cta, .csl-btn, .csl-hero__tool .csr-premium .csr-cta, .csl-site .csr-premium .csr-cta { display: inline-flex; align-items: center; justify-content: center; gap: 10px; border-radius: 14px; border: 1px solid rgba(255,214,122,.38); background: linear-gradient(135deg, #ffe08d 0%, #d99b32 52%, #f2c86d 100%); color: #11100b !important; font-weight: 800; letter-spacing: -.01em; box-shadow: 0 14px 38px rgba(245,201,111,.2), inset 0 1px 0 rgba(255,255,255,.48); text-decoration: none !important; }
.csl-header-cta { padding: 10px 14px; font-size: 13px; white-space: nowrap; }
.csl-btn { min-height: 52px; padding: 14px 22px; }
.csl-btn--ghost { color: var(--csl-text) !important; background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.13); box-shadow: none; }
.csl-menu-toggle { display: none; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.12); border-radius: 14px; background: rgba(255,255,255,.06); color: #fff; padding: 10px; }
.csl-menu-toggle span { display: block; height: 2px; background: var(--csl-text); margin: 5px 0; border-radius: 3px; }
.csl-menu-toggle em { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

.csl-hero { padding: 58px 0 42px; position: relative; }
.csl-hero__grid { display: grid; grid-template-columns: minmax(0, .86fr) minmax(520px, 1.14fr); gap: 34px; align-items: center; }
.csl-kicker { display: inline-flex; align-items: center; gap: 8px; width: fit-content; color: var(--csl-gold); background: rgba(245,201,111,.1); border: 1px solid rgba(245,201,111,.22); border-radius: 999px; padding: 7px 12px; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; font-weight: 800; }
.csl-hero h1, .csl-page-hero h1, .csl-content-hero h1, .csl-article__header h1 { margin: 18px 0 18px; font-family: "Playfair Display", Georgia, serif; font-size: clamp(44px, 5.4vw, 78px); line-height: .97; letter-spacing: -.045em; }
.csl-hero h1 span, .csl-page-hero h1 span { color: var(--csl-gold); text-shadow: 0 0 28px rgba(245,201,111,.16); }
.csl-hero p, .csl-page-hero p, .csl-content-hero p { margin: 0; color: var(--csl-muted); font-size: clamp(16px, 1.2vw, 19px); max-width: 650px; }
.csl-hero__actions { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 30px; }
.csl-trust-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 34px; }
.csl-trust-row div { padding: 14px; border: 1px solid rgba(255,255,255,.1); border-radius: 18px; background: rgba(255,255,255,.045); }
.csl-trust-row strong { display: block; color: var(--csl-gold); font-size: 18px; }
.csl-trust-row span { color: var(--csl-muted); font-size: 12px; }
.csl-hero__tool { position: relative; }
.csl-hero__tool:before { display:none; }

.csl-section { padding: 54px 0; }
.csl-section-head { display: flex; align-items: end; justify-content: space-between; gap: 22px; margin-bottom: 24px; }
.csl-section-head h2, .csl-editorial-panel h2, .csl-footer h2 { margin: 10px 0 0; font-family: "Playfair Display", Georgia, serif; font-size: clamp(30px, 3vw, 46px); line-height: 1.05; }
.csl-section-head p { color: var(--csl-muted); max-width: 580px; margin: 12px 0 0; }
.csl-category-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.csl-category-card { position: relative; overflow: hidden; min-height: 176px; padding: 24px; border: 1px solid rgba(255,255,255,.1); border-radius: var(--csl-radius-lg); background: linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.035)); box-shadow: 0 20px 60px rgba(0,0,0,.22); transition: transform .24s ease, border-color .24s ease, background .24s ease; }
.csl-category-card:before { content: ""; position: absolute; inset: auto -40px -80px auto; width: 180px; height: 180px; border-radius: 999px; background: rgba(245,201,111,.12); filter: blur(30px); }
.csl-category-card:hover { transform: translateY(-4px); border-color: rgba(245,201,111,.35); background: linear-gradient(145deg, rgba(255,255,255,.1), rgba(255,255,255,.045)); }
.csl-category-card span { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 16px; background: rgba(245,201,111,.12); border: 1px solid rgba(245,201,111,.2); font-size: 22px; }
.csl-category-card strong { display: block; margin-top: 22px; font-size: 20px; }
.csl-category-card em { display: block; margin-top: 4px; color: var(--csl-muted); font-style: normal; font-size: 14px; }
.csl-method-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: 18px; align-items: stretch; }
.csl-editorial-panel, .csl-admin-notice, .csl-content-tool { border: 1px solid rgba(255,255,255,.1); border-radius: var(--csl-radius-xl); background: linear-gradient(145deg, rgba(15,20,32,.86), rgba(10,14,23,.72)); box-shadow: var(--csl-shadow); padding: clamp(22px, 3vw, 36px); }
.csl-editorial-panel p { color: var(--csl-muted); margin-bottom: 0; }
.csl-mini-stats { display: grid; gap: 14px; }
.csl-mini-stats div { display: flex; align-items: center; gap: 15px; padding: 22px; border: 1px solid rgba(255,255,255,.1); border-radius: 22px; background: rgba(255,255,255,.055); }
.csl-mini-stats strong { color: var(--csl-gold); font-size: 34px; line-height: 1; }
.csl-mini-stats span { color: var(--csl-muted); }

.csl-page { padding: 46px 0 70px; }
.csl-page__content > * + * { margin-top: 28px; }
.csl-content-hero { padding: clamp(34px, 6vw, 78px) clamp(20px, 5vw, 64px); border: 1px solid rgba(255,255,255,.1); border-radius: var(--csl-radius-xl); background: radial-gradient(circle at 88% 20%, rgba(124,92,255,.16), transparent 34%), radial-gradient(circle at 16% 80%, rgba(245,201,111,.12), transparent 38%), rgba(10,14,23,.66); box-shadow: var(--csl-shadow); }
.csl-content-hero h1 { max-width: 860px; }
.csl-content-tool { padding: 0; border-color: rgba(245,201,111,.13); overflow: hidden; }
.csl-inline-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 24px; }
.csl-inline-grid div { padding: 18px; border: 1px solid rgba(255,255,255,.1); border-radius: 18px; background: rgba(255,255,255,.045); }
.csl-inline-grid strong { display: block; color: var(--csl-gold); margin-bottom: 4px; }
.csl-inline-grid span { color: var(--csl-muted); font-size: 14px; }
.csl-admin-notice { margin: 20px 0; color: var(--csl-text); }
.csl-admin-notice code { display: inline-block; margin-top: 8px; color: var(--csl-gold); }

.csl-article { padding: 46px 0 80px; }
.csl-article__wrap { max-width: 900px; }
.csl-article__header { margin-bottom: 28px; padding: clamp(28px, 5vw, 54px); border: 1px solid rgba(255,255,255,.1); border-radius: var(--csl-radius-xl); background: rgba(10,14,23,.76); box-shadow: var(--csl-shadow); }
.csl-article__content { color: rgba(248,244,234,.92); padding: clamp(24px, 4vw, 46px); border: 1px solid rgba(255,255,255,.09); border-radius: var(--csl-radius-xl); background: rgba(255,255,255,.04); }
.csl-article__content h2, .csl-page__content h2 { font-family: "Playfair Display", Georgia, serif; font-size: clamp(28px, 3vw, 42px); line-height: 1.1; margin-top: 1.2em; }
.csl-article__content p, .csl-page__content p { color: rgba(248,244,234,.82); }
.csl-post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.csl-post-card a { display: block; height: 100%; padding: 18px; border: 1px solid rgba(255,255,255,.1); border-radius: 22px; background: rgba(255,255,255,.045); }
.csl-post-card img { border-radius: 16px; aspect-ratio: 16/10; object-fit: cover; margin-bottom: 14px; }
.csl-post-card span { color: var(--csl-gold); font-size: 12px; text-transform: uppercase; font-weight: 800; }
.csl-post-card h2 { margin: 8px 0; font-size: 22px; line-height: 1.15; }
.csl-post-card p { color: var(--csl-muted); }

.csl-footer { margin-top: 40px; padding: 48px 0 24px; border-top: 1px solid rgba(255,255,255,.09); background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(0,0,0,.16)); }
.csl-footer__grid { display: grid; grid-template-columns: 1.1fr .9fr .9fr; gap: 34px; }
.csl-footer p { color: var(--csl-muted); max-width: 460px; }
.csl-footer h2 { font-family: Inter, system-ui, sans-serif; font-size: 15px; text-transform: uppercase; letter-spacing: .09em; color: var(--csl-gold); }
.csl-footer-menu { display: grid; gap: 8px; }
.csl-footer-menu a { color: var(--csl-muted); }
.csl-footer-menu a:hover { color: var(--csl-gold); }
.csl-footer-sitemap { color: var(--csl-gold); font-weight: 800; text-decoration: none; }
.csl-footer-sitemap:hover { color: var(--csl-gold-2); text-decoration: underline; }
.csl-footer__bottom { display: flex; justify-content: space-between; gap: 16px; color: var(--csl-muted-2); border-top: 1px solid rgba(255,255,255,.08); margin-top: 34px; padding-top: 20px; font-size: 13px; }

/* Strong compatibility layer for Quelcasino Recommender premium output */
.csl-site .csr-premium, .csl-site .csr-app, .csl-site .csr-shell { font-family: Inter, system-ui, sans-serif !important; }
.csl-site .csr-premium { border-radius: var(--csl-radius-xl) !important; }
.csl-site .csr-premium button, .csl-site .csr-premium a { text-decoration: none; }
.csl-site .csr-premium .csr-card,
.csl-site .csr-premium .csr-result-card,
.csl-site .csr-premium .csr-quiz-panel,
.csl-site .csr-premium .csr-comparison { border-color: rgba(255,214,122,.16) !important; box-shadow: 0 24px 70px rgba(0,0,0,.32) !important; }
.csl-site .csr-premium .csr-result-score, .csl-site .csr-premium .csr-compatible { color: var(--csl-green) !important; }

.csl-reveal { opacity: 0; transform: translateY(16px); transition: opacity .7s ease, transform .7s ease; }
.csl-reveal.is-visible { opacity: 1; transform: translateY(0); }


@media (min-width: 861px) and (max-width: 1160px) {
    .csl-header__inner { gap: 10px; padding-left: 14px; padding-right: 14px; }
    .csl-menu a { padding: 8px 8px; font-size: 12.5px; }
    .csl-header-cta { display: none; }
}

@media (max-width: 1080px) {
    .csl-hero__grid { grid-template-columns: 1fr; }
    .csl-hero__tool { max-width: 820px; }
    .csl-category-grid, .csl-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
    .csl-header__inner { padding: 12px; }
    .csl-menu-toggle { display: block; }
    .csl-nav { position: fixed; left: 20px; right: 20px; top: 88px; display: none; padding: 16px; border: 1px solid rgba(255,255,255,.11); border-radius: 22px; background: rgba(8, 12, 20, .96); box-shadow: var(--csl-shadow); backdrop-filter: blur(18px); }
    .csl-nav.is-open { display: block; }
    .csl-menu { display: grid; gap: 6px; }
    .csl-menu a { display: flex; padding: 13px 14px; background: rgba(255,255,255,.045); }
    .csl-header-cta { display: none; }
    .csl-trust-row, .csl-method-grid, .csl-footer__grid, .csl-inline-grid { grid-template-columns: 1fr; }
    .csl-section-head { display: block; }
}
@media (max-width: 640px) {
    .csl-container { width: min(100% - 24px, var(--csl-container)); }
    .csl-header { padding: 10px 0; }
    .csl-brand-mark { width: 40px; height: 40px; }
    .csl-brand strong { font-size: 14px; }
    .csl-brand em { font-size: 15px; }
    .csl-hero { padding-top: 30px; }
    .csl-hero h1, .csl-page-hero h1, .csl-content-hero h1, .csl-article__header h1 { font-size: clamp(38px, 12vw, 52px); }
    .csl-hero__actions { display: grid; }
    .csl-trust-row, .csl-category-grid, .csl-post-grid { grid-template-columns: 1fr; }
    .csl-category-card { min-height: 150px; }
    .csl-footer__bottom { display: grid; }
}

/* Quelcasino.fr Final Starter Content v2 */
.csl-two-col { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(320px, .72fr); gap: 22px; align-items: stretch; }
.csl-checklist-panel,
.csl-disclaimer-box,
.csl-related-card,
.csl-faq details,
.csl-longform,
.csl-legal-page { border: 1px solid rgba(255,255,255,.10); background: linear-gradient(180deg, rgba(19,24,38,.88), rgba(8,11,19,.86)); border-radius: 24px; box-shadow: 0 22px 70px rgba(0,0,0,.28); }
.csl-checklist-panel { padding: 28px; }
.csl-checklist-panel h3 { margin: 0 0 16px; font-size: 22px; }
.csl-checklist-panel ul,
.csl-longform ul { margin: 0; padding-left: 20px; color: rgba(248,244,234,.82); }
.csl-checklist-panel li,
.csl-longform li { margin: 9px 0; }
.csl-longform { padding: clamp(24px, 4vw, 44px); }
.csl-longform h2 { margin: 0 0 16px; font-family: "Playfair Display", Georgia, serif; font-size: clamp(30px, 3vw, 48px); line-height: 1.05; letter-spacing: -.035em; }
.csl-longform h2:not(:first-child) { margin-top: 34px; }
.csl-longform h3 { margin: 26px 0 12px; font-size: 22px; color: var(--csl-gold); }
.csl-longform p { color: var(--csl-muted); font-size: 17px; }
.csl-longform strong { color: var(--csl-text); }
.csl-text-link { display: inline-flex; margin-top: 12px; color: var(--csl-gold) !important; font-weight: 800; }
.csl-related-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.csl-related-card { position: relative; overflow: hidden; min-height: 158px; padding: 22px; display: flex; flex-direction: column; gap: 9px; transition: transform .22s ease, border-color .22s ease, background .22s ease; }
.csl-related-card:before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 20% 0%, rgba(245,201,111,.16), transparent 34%), radial-gradient(circle at 110% 30%, rgba(124,92,255,.16), transparent 42%); opacity: .7; pointer-events: none; }
.csl-related-card > * { position: relative; z-index: 1; }
.csl-related-card:hover { transform: translateY(-4px); border-color: rgba(245,201,111,.36); background: linear-gradient(180deg, rgba(28,34,51,.92), rgba(10,13,22,.9)); }
.csl-related-card span { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 16px; background: rgba(245,201,111,.12); border: 1px solid rgba(245,201,111,.24); font-size: 22px; }
.csl-related-card strong { font-size: 18px; line-height: 1.2; }
.csl-related-card em { color: var(--csl-muted); font-style: normal; font-size: 14px; line-height: 1.45; }
.csl-disclaimer-box { width: min(var(--csl-container), calc(100% - 40px)); margin: 42px auto 64px; padding: 20px 22px; border-color: rgba(245,201,111,.22); background: linear-gradient(135deg, rgba(245,201,111,.10), rgba(124,92,255,.08)); }
.csl-disclaimer-box strong { display: block; color: var(--csl-gold); margin-bottom: 6px; }
.csl-disclaimer-box p { margin: 0; color: rgba(248,244,234,.78); font-size: 14px; }
.csl-faq { width: min(var(--csl-container), calc(100% - 40px)); margin: 42px auto; }
.csl-faq details { padding: 0; margin: 12px 0; overflow: hidden; }
.csl-faq summary { cursor: pointer; padding: 20px 22px; font-weight: 800; color: var(--csl-text); list-style: none; display: flex; justify-content: space-between; gap: 20px; }
.csl-faq summary::-webkit-details-marker { display: none; }
.csl-faq summary:after { content: "+"; color: var(--csl-gold); font-size: 22px; line-height: 1; }
.csl-faq details[open] summary:after { content: "–"; }
.csl-faq details p { margin: 0; padding: 0 22px 22px; color: var(--csl-muted); }
.csl-legal-page h2 { color: var(--csl-gold); font-size: 24px; margin-top: 30px; }
.csl-content-hero { padding: 46px 0 22px; }
.csl-page--tool .csl-page__content { padding-bottom: 44px; }
.csl-content-tool { margin: 26px 0 38px; }
.csl-page .csl-section { padding: 38px 0; }
.csl-page .csl-section > .csl-editorial-panel,
.csl-page .csl-section > .csl-related-grid,
.csl-page .csl-section > .csl-section-head { width: 100%; }

@media (max-width: 1100px) {
    .csl-two-col { grid-template-columns: 1fr; }
    .csl-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
    .csl-related-grid { grid-template-columns: 1fr; }
    .csl-related-card { min-height: 0; }
    .csl-longform { padding: 22px; border-radius: 20px; }
    .csl-disclaimer-box, .csl-faq { width: min(100% - 28px, var(--csl-container)); }
    .csl-content-hero { padding-top: 24px; }
    .csl-content-hero h1 { font-size: clamp(34px, 12vw, 48px); }
}


/* v2.1: cleaner tool integration, no stacked decorative backgrounds */
.csl-content-tool { background: transparent !important; border: 0 !important; box-shadow: none !important; overflow: visible !important; }
.csl-hero__tool { z-index: 1; }
.csl-site .csr-shell { background: transparent !important; border: 0 !important; box-shadow: none !important; }
.csl-site .csr-quiz-screen,
.csl-site .csr-results-screen,
.csl-site .csr-list-screen,
.csl-site .csr-comparator-screen { border-color: rgba(255,255,255,.13) !important; }
.csl-site .csr-answer { color: #fbf7ee !important; }
.csl-site .csr-answer strong,
.csl-site .csr-answer small { color: inherit; }
.csl-site .csr-answer small { color:#c1c6d1 !important; }
@media (min-width:1081px){
  .csl-hero__grid { grid-template-columns: minmax(0,.92fr) minmax(500px,1.08fr); align-items:center; }
}


/* v2.2 — alignment and tool integration fixes */
.csl-page__content {
  width: 100%;
}
.csl-content-hero {
  padding: clamp(34px, 5vw, 62px) clamp(24px, 4vw, 54px) !important;
  width: 100%;
  overflow: hidden;
}
.csl-content-hero h1,
.csl-content-hero p {
  max-width: 920px;
}
.csl-content-tool {
  width: 100% !important;
  margin: 28px 0 42px !important;
}
.csl-content-tool .csr-app,
.csl-page__content > .csr-app,
.csl-page__content .csr-comparator-wrap,
.csl-page__content .csr-wager-calculator {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.csl-content-tool .csr-wager-calculator,
.csl-page__content .csr-wager-calculator,
.csl-page__content .csr-comparator-wrap {
  padding: clamp(18px, 2.4vw, 28px) !important;
}
.csl-site .csr-premium .csr-btn-gold,
.csl-site .csr-premium button.csr-btn-gold {
  background: linear-gradient(135deg, #ffe08d 0%, #f5c96f 42%, #d99b32 100%) !important;
  color: #120f08 !important;
  border-color: rgba(255,226,155,.68) !important;
}
.csl-site .csr-premium .csr-btn-gold:disabled,
.csl-site .csr-premium button.csr-btn-gold:disabled {
  background: linear-gradient(135deg, rgba(245,201,111,.28), rgba(217,155,50,.18)) !important;
  color: #f9df9b !important;
  border-color: rgba(245,201,111,.30) !important;
  opacity: 1 !important;
}
@media (max-width: 720px) {
  .csl-content-hero { padding: 28px 20px !important; border-radius: 22px; }
  .csl-content-tool { margin: 20px 0 34px !important; }
}


/* v2.3 — strict page rhythm + unified widths
   Goal: every page block (H1 hero, tool, editorial content, related grids) shares the same outer width.
   The H1 panel also gets real internal breathing room on desktop/tablet/mobile. */
.csl-page__content {
  --csl-page-inner-pad: clamp(28px, 4.4vw, 64px);
}
.csl-page--tool .csl-page__content,
.csl-page .csl-page__content {
  display: block;
}
.csl-content-hero,
.csl-content-tool,
.csl-page .csl-section,
.csl-page__content > .csl-editorial-panel,
.csl-page__content > .csl-longform,
.csl-page__content > .csl-related-grid,
.csl-page__content > .csl-faq,
.csl-page__content > .csl-disclaimer-box,
.csl-page__content > .csr-premium,
.csl-page__content > .csr-app,
.csl-page__content > .csr-comparator-wrap,
.csl-page__content > .csr-wager-calculator {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.csl-content-hero {
  padding: clamp(42px, 5vw, 72px) var(--csl-page-inner-pad) !important;
  min-height: 0;
  display: block;
}
.csl-content-hero .csl-kicker {
  margin-bottom: 16px;
}
.csl-content-hero h1 {
  margin-top: 0 !important;
  margin-bottom: 18px !important;
  max-width: 900px !important;
}
.csl-content-hero p {
  max-width: 760px !important;
}
.csl-content-tool {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.csl-content-tool .csr-premium,
.csl-content-tool .csr-app,
.csl-content-tool .csr-shell,
.csl-page__content > .csr-premium,
.csl-page__content > .csr-app,
.csl-page__content .csr-app {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.csl-content-tool .csr-quiz-screen,
.csl-content-tool .csr-results-screen,
.csl-content-tool .csr-list-screen,
.csl-content-tool .csr-comparator-screen,
.csl-page__content > .csr-premium .csr-quiz-screen,
.csl-page__content > .csr-premium .csr-results-screen,
.csl-page__content > .csr-premium .csr-list-screen,
.csl-page__content > .csr-premium .csr-comparator-screen {
  width: 100% !important;
}
.csl-page .csl-section {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.csl-page .csl-section > .csl-editorial-panel,
.csl-page .csl-section > .csl-longform,
.csl-page .csl-section > .csl-section-head,
.csl-page .csl-section > .csl-related-grid {
  width: 100% !important;
  max-width: 100% !important;
}
@media (max-width: 860px) {
  .csl-page__content { --csl-page-inner-pad: clamp(22px, 5vw, 34px); }
  .csl-content-hero { padding-top: 34px !important; padding-bottom: 34px !important; }
}
@media (max-width: 520px) {
  .csl-container { width: min(100% - 24px, var(--csl-container)); }
  .csl-page__content { --csl-page-inner-pad: 20px; }
  .csl-content-hero { border-radius: 22px !important; padding: 28px var(--csl-page-inner-pad) !important; }
}


/* v2.4 — real page gutters, no full-width block effect
   The previous alignment pass made blocks consistent, but too wide on common desktop screens.
   This restores premium breathing room on both sides while keeping all page blocks aligned together. */
.csl-container {
  width: min(var(--csl-container), calc(100% - (var(--csl-page-gutter) * 2))) !important;
  max-width: var(--csl-container) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.csl-home-editable > .csl-hero,
.csl-home-editable > .csl-section,
.csl-page {
  width: 100%;
}
.csl-content-hero,
.csl-content-tool,
.csl-page .csl-section,
.csl-page__content > .csl-editorial-panel,
.csl-page__content > .csl-longform,
.csl-page__content > .csl-related-grid,
.csl-page__content > .csl-faq,
.csl-page__content > .csl-disclaimer-box,
.csl-page__content > .csr-premium,
.csl-page__content > .csr-app,
.csl-page__content > .csr-comparator-wrap,
.csl-page__content > .csr-wager-calculator {
  max-width: 100% !important;
}
.csl-page__content {
  max-width: var(--csl-container) !important;
}
.csl-content-hero {
  padding-left: clamp(34px, 4.4vw, 60px) !important;
  padding-right: clamp(34px, 4.4vw, 60px) !important;
}
.csl-section {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
@media (min-width: 1280px) {
  :root { --csl-container: 1120px; --csl-page-gutter: 80px; }
}

@media (min-width: 861px) and (max-width: 1160px) {
    .csl-header__inner { gap: 10px; padding-left: 14px; padding-right: 14px; }
    .csl-menu a { padding: 8px 8px; font-size: 12.5px; }
    .csl-header-cta { display: none; }
}

@media (max-width: 1080px) {
  :root { --csl-page-gutter: 34px; }
}
@media (max-width: 760px) {
  :root { --csl-page-gutter: 16px; }
  .csl-content-hero { padding-left: 22px !important; padding-right: 22px !important; }
}
@media (max-width: 420px) {
  :root { --csl-page-gutter: 12px; }
  .csl-content-hero { padding-left: 18px !important; padding-right: 18px !important; }
}


/* --------------------------------------------------------------------------
   v2.5 layout safety patch: consistent readable container and no full-width blowout
   -------------------------------------------------------------------------- */
:root{
  --csl-page-max:1180px;
  --csl-page-gutter:clamp(18px,4vw,56px);
  --csl-card-pad:clamp(24px,4.2vw,54px);
}
body.csl-site{overflow-x:hidden;}
.csl-container,
.csl-page .wp-block-group,
.csl-content-wrap,
.csl-section,
.csl-legal,
.csl-page-hero__inner{
  width:min(var(--csl-page-max), calc(100vw - (var(--csl-page-gutter) * 2))) !important;
  max-width:var(--csl-page-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.csl-page-hero,
.csl-hero,
.csl-content-card,
.csl-tool-card,
.csl-section-card{
  box-sizing:border-box;
}
.csl-page-hero__inner,
.csl-content-card,
.csl-section-card{
  padding-left:var(--csl-card-pad) !important;
  padding-right:var(--csl-card-pad) !important;
}
.csl-content-tool,
.csl-content-tool .csr-app,
.csl-content-tool .csr-shell,
.csl-content-tool .csr-quiz-screen,
.csl-content-tool .csr-results-screen,
.csl-content-tool .csr-list-screen,
.csl-content-tool .csr-comparator-screen{
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.csl-content-tool{width:min(var(--csl-page-max), calc(100vw - (var(--csl-page-gutter) * 2))) !important; margin:32px auto !important;}
.csl-site-main img, .csl-site-main iframe{max-width:100%;}
@media (max-width:760px){
  :root{--csl-page-gutter:16px;--csl-card-pad:22px;}
  .csl-page-hero__inner,.csl-content-card,.csl-section-card{padding-left:22px !important;padding-right:22px !important;}
}


/* --------------------------------------------------------------------------
   v2.5.1 — MARGES UNIQUEMENT, base v2.5/v5.9 restaurée
   Objectif : garder exactement la logique visuelle 5.9, mais empêcher les
   pages, héros, outils et sections de partir en pleine largeur.
   -------------------------------------------------------------------------- */
:root{
  --qcl-page-max: 1180px;
  --qcl-page-gutter: clamp(24px, 5vw, 84px);
  --qcl-mobile-gutter: 16px;
}

/* Conteneur central unique du site */
body.csl-site .csl-container,
body.csl-site .csl-page__content{
  width: min(var(--qcl-page-max), calc(100vw - (var(--qcl-page-gutter) * 2))) !important;
  max-width: var(--qcl-page-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Si une page utilise le template "blank" ou qu'un bloc sort du conteneur,
   on le recentre aussi. */
body.csl-site .csl-page--blank > .csl-content-hero,
body.csl-site .csl-page--blank > .csl-content-tool,
body.csl-site .csl-page--blank > .csl-section,
body.csl-site .csl-page--blank > .csl-longform,
body.csl-site .csl-page--blank > .csl-editorial-panel,
body.csl-site .csl-home-editable > .csl-content-hero,
body.csl-site .csl-home-editable > .csl-content-tool,
body.csl-site .csl-home-editable > .csl-section{
  width: min(var(--qcl-page-max), calc(100vw - (var(--qcl-page-gutter) * 2))) !important;
  max-width: var(--qcl-page-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Dans le vrai conteneur, les blocs prennent 100% de CE conteneur,
   pas 100% de l'écran. */
body.csl-site .csl-page__content > .csl-content-hero,
body.csl-site .csl-page__content > .csl-content-tool,
body.csl-site .csl-page__content > .csl-section,
body.csl-site .csl-page__content > .csl-longform,
body.csl-site .csl-page__content > .csl-editorial-panel,
body.csl-site .csl-page__content > .csl-related-grid,
body.csl-site .csl-page__content > .csl-faq,
body.csl-site .csl-page__content > .csl-disclaimer-box{
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Les sections internes gardent l'alignement sans créer une nouvelle largeur. */
body.csl-site .csl-page__content .csl-section > .csl-editorial-panel,
body.csl-site .csl-page__content .csl-section > .csl-longform,
body.csl-site .csl-page__content .csl-section > .csl-section-head,
body.csl-site .csl-page__content .csl-section > .csl-related-grid{
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* L'outil du plugin remplit le bloc prévu, sans imposer sa propre largeur. */
body.csl-site .csl-content-tool .csr-app,
body.csl-site .csl-content-tool .csr-premium,
body.csl-site .csl-content-tool .csr-shell,
body.csl-site .csl-page__content .csr-app,
body.csl-site .csl-page__content .csr-premium,
body.csl-site .csl-page__content .csr-shell{
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Le bloc H1 garde un vrai espace intérieur. */
body.csl-site .csl-content-hero{
  padding-left: clamp(30px, 4vw, 58px) !important;
  padding-right: clamp(30px, 4vw, 58px) !important;
}

@media (max-width: 900px){
  :root{ --qcl-page-gutter: clamp(18px, 4vw, 34px); }
}
@media (max-width: 640px){
  body.csl-site .csl-container,
  body.csl-site .csl-page__content,
  body.csl-site .csl-page--blank > .csl-content-hero,
  body.csl-site .csl-page--blank > .csl-content-tool,
  body.csl-site .csl-page--blank > .csl-section,
  body.csl-site .csl-home-editable > .csl-content-hero,
  body.csl-site .csl-home-editable > .csl-content-tool,
  body.csl-site .csl-home-editable > .csl-section{
    width: calc(100vw - (var(--qcl-mobile-gutter) * 2)) !important;
  }
  body.csl-site .csl-content-hero{
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}


/* --------------------------------------------------------------------------
   v2.5.3 — correctif mobile contenu invisible
   Certaines pages étaient encapsulées dans .csl-reveal. Si le script
   d'animation était retardé/bloqué sur mobile, le contenu restait en opacity:0.
   On rend maintenant le contenu visible par défaut ; l'animation n'est plus
   bloquante pour l'affichage des pages.
   -------------------------------------------------------------------------- */
body.csl-site .csl-reveal,
body.csl-site .csl-reveal.is-visible {
  opacity: 1 !important;
  transform: none !important;
}
body.csl-site .csl-main,
body.csl-site .csl-page,
body.csl-site .csl-home-editable,
body.csl-site .csl-page__content,
body.csl-site .csl-content-hero,
body.csl-site .csl-content-tool,
body.csl-site .csl-section {
  display: block !important;
  visibility: visible !important;
}
@media (max-width: 760px) {
  body.csl-site .csl-home-editable,
  body.csl-site .csl-page__content {
    min-height: 1px;
  }
}


/* --------------------------------------------------------------------------
   Quelcasino v3.0 — pre-publication templates, casino pages and SEO polish
   -------------------------------------------------------------------------- */
body.csl-site .csl-casino-hero,
body.csl-site .csl-casino-body,
body.csl-site .csl-casino-archive,
body.csl-site .csl-seo-panel,
body.csl-site .csl-legal-page{
  width:min(var(--qcl-page-max,1180px), calc(100vw - (var(--qcl-page-gutter, clamp(24px,5vw,84px)) * 2))) !important;
  max-width:var(--qcl-page-max,1180px) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.csl-casino-hero{margin:42px auto 26px;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:22px;align-items:stretch;}
.csl-casino-hero__main,.csl-casino-side,.csl-casino-section,.csl-casino-archive-head{border:1px solid rgba(255,255,255,.10);border-radius:30px;background:linear-gradient(145deg,rgba(15,20,32,.88),rgba(10,14,23,.74));box-shadow:var(--csl-shadow);padding:clamp(24px,3.4vw,44px);}
.csl-casino-hero h1{font-family:"Playfair Display",Georgia,serif;font-size:clamp(42px,5vw,74px);line-height:.98;letter-spacing:-.045em;margin:16px 0;}
.csl-casino-hero p{color:var(--csl-muted);font-size:17px;max-width:720px;margin:0;}
.csl-casino-logo{width:90px;height:90px;border-radius:24px;display:grid;place-items:center;background:radial-gradient(circle at 35% 20%,rgba(245,201,111,.28),rgba(0,0,0,.22) 52%),#111521;border:1px solid rgba(245,201,111,.30);font-weight:900;font-size:26px;color:#fff;overflow:hidden;margin-bottom:18px;}
.csl-casino-logo img{max-width:84%;max-height:84%;object-fit:contain;}
.csl-casino-badges,.csl-casino-metrics,.csl-pros-cons{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px;}
.csl-casino-badges span{display:inline-flex;min-height:30px;align-items:center;padding:0 11px;border-radius:999px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.12);color:#e9edf5;font-size:12px;font-weight:800;}
.csl-casino-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.csl-casino-metrics div{padding:14px;border-radius:18px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.09);}
.csl-casino-metrics span{display:block;color:#aeb4c1;font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:900;}
.csl-casino-metrics strong{display:block;margin-top:5px;color:#fff;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.csl-casino-side{padding:20px;}
.csl-casino-side .csr-single-card-wrap{margin:0;}
.csl-casino-body{display:grid;gap:22px;margin-bottom:70px;}
.csl-casino-section h2,.csl-casino-archive h1,.csl-casino-archive h2{font-family:"Playfair Display",Georgia,serif;font-size:clamp(30px,3vw,46px);line-height:1.08;letter-spacing:-.035em;margin:0 0 14px;}
.csl-casino-section h3{font-size:21px;line-height:1.2;margin:26px 0 10px;color:#fff;}
.csl-casino-section p,.csl-casino-section li,.csl-casino-archive p{color:rgba(248,244,234,.82);}
.csl-pros-cons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.csl-pros-cons div{padding:18px;border-radius:22px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.10);}
.csl-pros-cons ul{margin:12px 0 0;padding-left:18px;}
.csl-casino-cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px;}
.csl-casino-archive{margin:42px auto 74px;display:grid;gap:24px;}
.csl-casino-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.csl-casino-archive-card{display:flex;flex-direction:column;gap:12px;min-height:100%;padding:20px;border-radius:24px;background:#111725;border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 44px rgba(0,0,0,.25);}
.csl-casino-archive-card h2{font-family:Inter,system-ui,sans-serif;font-size:21px;letter-spacing:-.03em;margin:0;}
.csl-casino-archive-card p{margin:0;color:#aeb4c1;font-size:14px;}
.csl-breadcrumb{font-size:13px;color:#aeb4c1;margin:22px auto -18px;}
.csl-breadcrumb a{color:#f5c96f;}
.csl-text-cta{display:inline-flex;align-items:center;gap:8px;font-weight:900;color:#f5c96f!important;margin-top:auto;}
@media (max-width: 980px){.csl-casino-hero{grid-template-columns:1fr}.csl-casino-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.csl-casino-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width: 640px){.csl-casino-hero,.csl-casino-body,.csl-casino-archive{width:calc(100vw - 32px)!important}.csl-casino-archive-grid,.csl-pros-cons{grid-template-columns:1fr}.csl-casino-metrics{grid-template-columns:1fr}.csl-casino-hero__main,.csl-casino-section,.csl-casino-archive-head{padding:22px;border-radius:24px}.csl-casino-hero h1{font-size:clamp(36px,12vw,50px)}}


/* --------------------------------------------------------------------------
   Quelcasino v3.2 — accueil lisible + menu desktop raccourci
   Le H1 de la page d’accueil est désormais un bloc plein conteneur, puis
   l’outil arrive en dessous. Plus de disposition côte à côte sur desktop.
   -------------------------------------------------------------------------- */
body.csl-site .csl-home-hero {
  padding: 58px 0 22px;
}
body.csl-site .csl-home-hero .csl-container {
  display: block !important;
}
body.csl-site .csl-home-hero__content {
  max-width: 920px;
}
body.csl-site .csl-home-hero h1 {
  max-width: 880px;
  font-size: clamp(46px, 4.8vw, 72px);
  line-height: .98;
}
body.csl-site .csl-home-hero p {
  max-width: 760px;
}
body.csl-site .csl-home-quiz-section {
  padding: 12px 0 54px;
}
body.csl-site .csl-home-quiz-section .csl-container {
  display: block !important;
}
body.csl-site .csl-home-quiz-head {
  align-items: flex-start;
  margin-bottom: 18px;
}
body.csl-site .csl-home-quiz-head h2 {
  max-width: 720px;
}
body.csl-site .csl-home-quiz-section .csl-content-tool {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}
body.csl-site .csl-home-quiz-section .csr-app,
body.csl-site .csl-home-quiz-section .csr-premium,
body.csl-site .csl-home-quiz-section .csr-shell {
  width: 100% !important;
  max-width: 100% !important;
}
@media (min-width: 981px) {
  body.csl-site .csl-menu a { font-size: 12.5px; padding: 8px 9px; }
  body.csl-site .csl-header-cta { padding: 9px 12px; font-size: 12.5px; }
}
@media (max-width: 760px) {
  body.csl-site .csl-home-hero { padding-top: 30px; }
  body.csl-site .csl-home-hero h1 { font-size: clamp(38px, 11vw, 52px); }
  body.csl-site .csl-home-quiz-section { padding-bottom: 34px; }
}


/* v3.4 — cartes plus sobres : suppression des fonds décoratifs superposés */
.csl-category-card:before,
.csl-related-card:before { display:none !important; content:none !important; }
.csl-category-card,
.csl-related-card,
.csl-editorial-panel,
.csl-content-tool,
.csl-article__header,
.csl-article__content,
.csl-casino-section,
.csl-casino-hero {
  background: rgba(12, 17, 28, .84) !important;
  box-shadow: 0 18px 55px rgba(0,0,0,.24) !important;
}
.csl-casino-section h2,
.csl-casino-editor-content h2 { margin-top: 34px; }
.csl-casino-editor-content h2:first-child { margin-top: 0; }


/* --------------------------------------------------------------------------
   Quelcasino v3.5 — fiche casino orientée information, sans carte de recommandation parasite
   -------------------------------------------------------------------------- */
.csl-casino-facts h2{font-family:"Playfair Display",Georgia,serif;font-size:30px;line-height:1.08;letter-spacing:-.035em;margin:0 0 18px;color:#fff;}
.csl-fact-group{padding:16px;border-radius:20px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.10);margin-bottom:14px;}
.csl-fact-label{display:block;margin-bottom:10px;color:#f5c96f;text-transform:uppercase;letter-spacing:.07em;font-size:11px;font-weight:900;}
.csl-chip-list{display:flex;flex-wrap:wrap;gap:8px;}
.csl-chip-list span{display:inline-flex;align-items:center;min-height:29px;padding:0 10px;border-radius:999px;background:rgba(245,201,111,.11);border:1px solid rgba(245,201,111,.20);color:#fff1cf;font-size:12px;font-weight:800;}
.csl-fact-grid{display:grid;grid-template-columns:1fr;gap:10px;margin:14px 0;}
.csl-fact-grid div{padding:13px 14px;border-radius:18px;background:rgba(0,0,0,.20);border:1px solid rgba(255,255,255,.09);}
.csl-fact-grid span{display:block;color:#aeb4c1;text-transform:uppercase;letter-spacing:.065em;font-size:10.5px;font-weight:900;}
.csl-fact-grid strong{display:block;margin-top:5px;color:#fff;font-size:13px;line-height:1.35;}
.csl-fact-group p{margin:0;color:rgba(248,244,234,.82);font-size:13.5px;line-height:1.55;}
.csl-archive-facts{display:grid;gap:8px;margin-top:2px;}
.csl-archive-facts span{display:block;padding:10px 12px;border-radius:15px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);}
.csl-archive-facts em{display:block;color:#aeb4c1;font-style:normal;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:900;}
.csl-archive-facts strong{display:block;margin-top:3px;color:#fff;font-size:13px;line-height:1.35;}
body.csl-site .csr-review-metrics-rich{grid-template-columns:repeat(2,minmax(0,1fr));}
body.csl-site .csr-review-metrics-rich span:nth-child(n+4){background:rgba(245,201,111,.055);border-color:rgba(245,201,111,.12);}
@media(max-width:980px){.csl-fact-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px){.csl-fact-grid{grid-template-columns:1fr}.csl-chip-list span{font-size:11.5px}.csl-casino-side.csl-casino-facts{padding:18px;border-radius:24px}}


/* v3.6 — blocs offres casino */
.csl-offer-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 0}
.csl-offer-summary>div{border:1px solid rgba(245,201,111,.22);background:rgba(255,255,255,.045);border-radius:18px;padding:16px;box-shadow:0 18px 40px rgba(0,0,0,.18)}
.csl-offer-summary span{display:block;color:#f5c96f;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:800;margin-bottom:6px}
.csl-offer-summary strong{display:block;color:#fff;font-size:1.02rem;line-height:1.35}
.csl-offer-summary small{display:block;color:rgba(255,255,255,.68);margin-top:6px;line-height:1.45}
@media(max-width:760px){.csl-offer-summary{grid-template-columns:1fr}}
