/* ══════════════════════════════════════════════════════════════
   ROOT — charte commune
══════════════════════════════════════════════════════════════ */
:root{
  --bg:#f5f7fb;
  --panel:#ffffff;
  --line:rgba(15,23,42,.10);
  --text:#16202b;
  --muted:#66758a;
  --gold:#c89b43;
  --gold-2:#e7bf74;
  --green:#2ca96b;
  --orange:#e79b2e;
  --red:#d85a5a;
  --blue:#1f6ed4;
  --shadow:0 12px 28px rgba(15,23,42,.08);
  --shadow-lg:0 24px 48px rgba(15,23,42,.12);
  --radius:18px;
  color-scheme: only light;
}


/* ── RESET + BOX SIZING ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0;}
html {scroll-behavior: smooth; overflow-x: hidden; }
body { font-family: Arial, Helvetica, sans-serif; color: var(--text); background: #f5f7fb; min-height: 100vh; overflow-x: hidden;   max-width: 100%;}

/* ── UTILITAIRES ── */
.container{max-width:1100px;margin:auto;padding:0 24px}
.eyebrow{ display:inline-block;margin-bottom:14px;padding:7px 12px; border-radius:999px;background:rgba(200,155,67,.10); border:1px solid rgba(200,155,67,.18);color:#9b6d18; font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;}
.block{background:var(--panel);padding:28px;margin-bottom:24px; border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow);}
.block h2{margin:0 0 18px;font-size:22px;font-weight:700;line-height:1.2}
.btn{ display:inline-block;padding:14px 24px;border:none;border-radius:999px; text-decoration:none;font-weight:700;font-size:14px;cursor:pointer;transition:.2s ease;}
.btn:hover{transform:translateY(-2px)}
.btn-primary{ background:linear-gradient(135deg,var(--gold-2),var(--gold));color:#111; box-shadow:0 10px 22px rgba(200,155,67,.22);}
.btn-dark{background:#f4f7fa;color:var(--text);border:1px solid rgba(15,23,42,.10)}
.btn-dark:hover{background:#e9eef3; border-color:rgba(15,23,42,.18); color:var(--text);}

/* ══════════════════════════════════════════════════════════════
   TOP MENU
══════════════════════════════════════════════════════════════ */
.qt-header{position:relative; z-index:1000; background:rgba(255,255,255,.96); backdrop-filter:blur(8px); border-top:3px solid #2a2f36; border-bottom:1px solid rgba(15,23,42,.10);box-shadow:0 8px 20px rgba(15,23,42,.05);}
.qt-header-inner{max-width:1320px; margin:0 auto; padding:12px 20px; display:flex; align-items:center; justify-content:space-between; gap:24px;}
.qt-brand{display:flex;align-items:center; gap:14px; text-decoration:none; min-width:0; flex-shrink: 0;}
.qt-brand-mark{display:flex;align-items:center;justify-content:center;width:58px;height:58px;
  border-radius:18px;background:radial-gradient(circle at 30% 30%, #ff5b5b 0%, #ff1f1f 42%, #cc0000 100%);color:#fff;font-size:42px;
  font-weight:900;line-height:1;font-family:Arial, Helvetica, sans-serif;box-shadow:0 10px 20px rgba(204,0,0,.18),inset 0 1px 0 rgba(255,255,255,.35);letter-spacing:-.06em;}
.qt-brand-text{display:flex; flex-direction:column; min-width:0;}
.qt-brand-name{color:#111827; font-size:30px; font-weight:800; line-height:1;letter-spacing:-.04em;}
.qt-brand-tag{margin-top:4px; color:#7b8794; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap;}
.qt-brand-since {display: block; font-size: 9px; font-weight: 700; letter-spacing: 0.1em; color: #c8a84b; text-transform: uppercase; line-height: 1; margin-top: 3px;}
.qt-nav{margin-left:auto;min-width: 0; overflow: visible;}
.qt-menu{list-style:none; display:flex; align-items:center; gap:0; margin:0; padding:0;overflow: visible;}
.qt-menu > li{position:relative;}
.qt-menu > li + li::before{content:""; position:absolute; left:0; top:50%; transform:translateY(-50%); width:1px; height:22px; background:rgba(15,23,42,.10);}
.qt-menu a{display:block; padding:12px 18px; text-decoration:none; color:#111827; font-size:14px; font-weight:700; text-transform:uppercase; letter-spacing:-.01em; transition:color .2s ease, background .2s ease, transform .2s ease;}
.qt-menu a:hover{  color:#c00000;}
.qt-menu a.is-active{color:#d10000;}
.qt-cta-link{color:#111 !important;background:linear-gradient(135deg, #f0c873, #c89b43);border-radius:999px;margin:0 10px;box-shadow:0 8px 18px rgba(200,155,67,.18);}
.qt-cta-link:hover{transform:translateY(-1px);color:#111 !important;}
.qt-burger{display:none; width:44px; height:44px; border:none; border-radius:12px; background:#f7f9fc; border:1px solid rgba(15,23,42,.10); cursor:pointer; padding:0; flex-shrink:0;}
.qt-burger span{display:block; width:20px; height:2px; background:#111827; margin:5px auto; border-radius:999px; transition:.25s ease;}

@media (max-width:1280px){
  .qt-menu a { padding: 12px 11px; font-size: 12px; }
  .qt-brand-name { font-size: 26px; }
  .qt-brand-mark { width: 50px; height: 50px; font-size: 36px; }
  .qt-account-toggle { padding: 12px 11px; font-size: 12px; }
}

@media (max-width:1160px){
  .qt-brand-tag{display:none;}
  .qt-menu a{padding:12px 14px;font-size:13px;}
}

@media (max-width:1100px){
  .qt-brand-tag { display: none; }
  .qt-menu a { padding: 12px 9px; font-size: 12px; }
  .qt-cta-link { margin: 0 6px; }
  .qt-account-toggle { padding: 12px 9px; }
  .qt-brand-since{ display: none; }
}

@media (max-width:980px){
  .qt-header-inner{padding:12px 16px;}
  .qt-burger{display:block;}
  .qt-nav{position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid rgba(15,23,42,.10);box-shadow:0 14px 28px rgba(15,23,42,.08);display:none;}
  .qt-header.is-open .qt-nav{display:block;}
  .qt-menu{flex-direction:column; align-items:stretch; gap:0; padding:10px 0;}
  .qt-menu > li + li::before{display:none; }
  .qt-menu a{padding:14px 18px;border-top:1px solid rgba(15,23,42,.06);}
  .qt-cta-link{margin:8px 14px;text-align:center;}
  .qt-brand-name{font-size:26px;}
  .qt-brand-mark{width:50px;height:50px;font-size:36px;border-radius:16px;}
}

@media (max-width:560px){
  .qt-brand-name{font-size:24px;}
  .qt-header-inner{gap:14px;}
}



/* MENU MON COMPTE */
.qt-account-menu{position:relative;}
.qt-account-toggle{display:flex;align-items:center;gap:8px;padding:12px 18px;border:none;background:none;color:#8d7357;font-size:14px;font-weight:600;cursor:pointer;transition:color .2s ease, background .2s ease;}
.qt-account-toggle:hover{color:#c00000;}
.qt-account-chevron{font-size:11px; opacity:.7; transition:transform .2s ease;}
.qt-account-menu.is-open .qt-account-chevron{transform:rotate(180deg);}
.qt-account-dropdown{position:absolute; top:calc(100% + 10px); right:0; min-width:240px; padding:10px; background:#ffffff; border:1px solid rgba(15,23,42,.08); border-radius:14px; box-shadow:0 18px 34px rgba(15,23,42,.12); display:none;z-index:1200;}
.qt-account-menu.is-open .qt-account-dropdown{  display:block;}
.qt-account-dropdown a{display:block; padding:11px 12px; border-radius:10px; text-decoration:none; color:#314152; font-size:14px; font-weight:600; transition:background .2s ease, color .2s ease;}
.qt-account-dropdown a:hover{background:#f5f7fa; color:#111827;}
.qt-account-separator{height:1px; margin:8px 4px; background:rgba(15,23,42,.08);}
.qt-account-cta{color:#9b6d18 !important; background:rgba(200,155,67,.10);}
.qt-account-cta:hover{background:rgba(200,155,67,.16) !important; color:#7f5a12 !important;}

@media (max-width:980px){
  .qt-account-menu{width:100%;}
  .qt-account-toggle{width:100%; justify-content:space-between; padding:14px 18px; border-top:1px solid rgba(15,23,42,.06); color:#111827;}
  .qt-account-dropdown{position:static;top:auto; right:auto; min-width:0; margin:0 14px 10px; box-shadow:none; border:1px solid rgba(15,23,42,.08);}
}

.qt-account-logout-form{margin:0;}
.qt-account-logout-btn{display:block; width:100%; padding:11px 12px; border:none; border-radius:10px; background:none; text-align:left; color:#314152; font-size:14px; font-weight:600; cursor:pointer; transition:background .2s ease, color .2s ease;}
.qt-account-logout-btn:hover{background:#f5f7fa; color:#111827;}


/* ══ BONUS QUINTÉS OFFERTS ══ */
.qt-bonus-menu { position: relative;overflow: visible;}
.qt-bonus-toggle {
  display: flex; align-items: center; gap: 7px;
  padding: 10px 14px; border: none; border-radius: 999px;
  background: rgba(200,155,67,.10); border: 1px solid rgba(200,155,67,.25);
  color: #9b6d18; font-size: 13px; font-weight: 700;
  cursor: pointer; transition: background .2s ease, box-shadow .2s ease;
  white-space: nowrap;
}
.qt-bonus-toggle::before { content: "🎁"; font-size: 13px; }
.qt-bonus-toggle:hover {
  background: rgba(200,155,67,.18);
  box-shadow: 0 4px 12px rgba(200,155,67,.20);
}
.qt-bonus-chevron { font-size: 10px; opacity: .7; transition: transform .2s ease; }
.qt-bonus-menu.is-open .qt-bonus-chevron { transform: rotate(180deg); }

.qt-bonus-dropdown {position: absolute; top: calc(100% + 12px); left: 50%; transform: translateX(-50%); min-width: 260px; padding: 8px; background: #ffffff; border: 1px solid rgba(200,155,67,.20); border-top: 3px solid #c89b43; border-radius: 14px; box-shadow: 0 18px 34px rgba(15,23,42,.12); display: none; z-index: 1200;}
.qt-bonus-menu.is-open .qt-bonus-dropdown { display: block; }

.qt-bonus-dropdown-label {padding: 6px 12px 8px; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .10em; color: #c89b43;}

.qt-bonus-dropdown a { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 10px; text-decoration: none; color: #314152; font-size: 13px; font-weight: 600; transition: background .2s ease, color .2s ease;}
.qt-bonus-dropdown a::before { content: "↓"; width: 22px; height: 22px; border-radius: 6px; flex-shrink: 0; background: rgba(200,155,67,.12); color: #9b6d18; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 800;}
.qt-bonus-dropdown a:hover { background: rgba(200,155,67,.07); color: #9b6d18;}

@media (max-width:980px) {
  .qt-bonus-menu { width: 100%; }
  .qt-bonus-toggle { width: 100%; justify-content: space-between; border-radius: 0; border: none; border-top: 1px solid rgba(15,23,42,.06); padding: 14px 18px; background: rgba(200,155,67,.05);  }
  .qt-bonus-dropdown { position: static; transform: none; margin: 0 14px 10px; box-shadow: none; border: 1px solid rgba(200,155,67,.18); border-top: 2px solid #c89b43; }
}





/* ══════════════════════════════════════════════════════════════
   HERO / EN-TÊTE DE PAGE
══════════════════════════════════════════════════════════════ */
.hero{ padding:56px 0 20px; position:relative;overflow:hidden;}
.hero::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse 70% 60% at 80% 40%, rgba(200,155,67,.09) 0%, transparent 70%),
              radial-gradient(ellipse 50% 50% at 10% 80%, rgba(44,169,107,.06) 0%, transparent 60%);
  pointer-events:none;}
.hero-badge{display:inline-flex;align-items:center;gap:8px;margin-bottom:16px; padding:8px 14px;border-radius:999px; background:rgba(200,155,67,.10);border:1px solid rgba(200,155,67,.20);
  color:#9b6d18;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;}
.hero-badge-icon{font-size:13px}
.hero-headline{font-size:38px;font-weight:800;line-height:1.08;letter-spacing:-.025em;margin-bottom:14px;}
.hero-headline em{ font-style:normal; background:linear-gradient(135deg,var(--gold-2),var(--gold));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.hero-sub{font-size:17px;color:#314152;line-height:1.7;margin-bottom:28px;max-width:680px}
.hero-trust{display:flex;gap:20px;flex-wrap:wrap}
.hero-trust-item{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--muted)}
.hero-trust-item strong{color:var(--text)}
.trust-check{width:20px;height:20px;border-radius:999px;background:rgba(44,169,107,.12); display:flex;align-items:center;justify-content:center;color:var(--green);font-size:11px;flex-shrink:0;}
.date-highlight{ display:inline-block; padding:0px 0px; border-radius:6px; color:#b0893f; font-weight:700;}


/* ══════════════════════════════════════════════════════════════
   OFFRES / LIENS UTILES
══════════════════════════════════════════════════════════════ */
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.offer-card{padding:22px;border-radius:16px;background:#ffffff;border:1px solid rgba(15,23,42,.08)}
.offer-card.featured{ background:linear-gradient(180deg,rgba(200,155,67,.09),#ffffff); border-color:rgba(200,155,67,.24);box-shadow:var(--shadow);}
.offer-card h3{margin:0 0 10px;font-size:18px;font-weight:700}
.offer-card p{margin:0 0 14px;color:#314152;line-height:1.7;font-size:14px}
.mini{display:inline-block;margin-bottom:12px;padding:6px 10px;border-radius:999px; background:rgba(200,155,67,.10);border:1px solid rgba(200,155,67,.18); color:#9b6d18;font-size:12px;font-weight:700;text-transform:uppercase;}


/* ══════════════════════════════════════════════════════════════
   GRILLE COURSE + IFT
══════════════════════════════════════════════════════════════ */
.grid{display:grid;grid-template-columns:1.15fr .85fr; gap:24px;margin-bottom:24px;}
.info-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.info-item{padding:14px;border-radius:14px; background:#f9fbfd;border:1px solid rgba(15,23,42,.05);}
.info-item span{display:block;margin-bottom:6px;font-size:12px; text-transform:uppercase;letter-spacing:.08em;color:var(--muted);}
.info-item strong{font-size:17px}

/* ── IFT ── */
.ift-top{display:flex;align-items:flex-end;justify-content:space-between; gap:12px;margin-bottom:14px;flex-wrap: wrap;}
.ift-score{
  font-size:56px;font-weight:800;line-height:1;
  background:linear-gradient(135deg,var(--gold-2),var(--gold));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.ift-label {font-size: 18px; font-weight: 700; color: #9b6d18; word-break: break-word; overflow-wrap: break-word; min-width: 0; flex-shrink: 1;}

@media (max-width: 640px) {
  .ift-label { font-size: 15px; }
  .ift-score { font-size: 44px; }
}

.ift-meter{height:14px;border-radius:999px;background:#eef2f6; border:1px solid rgba(15,23,42,.06);overflow:hidden;margin-bottom:8px;}
.ift-fill{height:100%;border-radius:999px;width:0%; background:linear-gradient(90deg,var(--red) 0%,var(--orange) 45%,var(--green) 100%); ,transition:width 1.2s cubic-bezier(.16,1,.3,1);}
.ift-scale{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-bottom:18px}
.ift-note{margin:0;color:#314152;line-height:1.6;font-size:14px}
.ift-link{display:block;margin-left:auto;width:fit-content;font-size:13px;color:#6b7a8c;padding-top:8px;}
.ift-link:hover{color:#314152; text-decoration:underline;}


/* ══════════════════════════════════════════════════════════════
   ANALYSE
══════════════════════════════════════════════════════════════ */
.analysis{color:#2a3948;font-size:17px;line-height:1.75; display:block;margin-bottom:14px;}
.analysis:last-child{margin-bottom:0}

/* ══════════════════════════════════════════════════════════════
   CTA
══════════════════════════════════════════════════════════════ */
.cta-block{
  text-align:center;padding:40px 28px; border-radius:var(--radius);border:1px solid rgba(200,155,67,.22);
  background:linear-gradient(135deg,rgba(200,155,67,.08),rgba(255,255,255,.9)); box-shadow:var(--shadow);margin-bottom:24px;}
.cta-block h2{font-size:24px;font-weight:800;margin-bottom:10px}
.cta-block p{color:#314152;font-size:16px;margin-bottom:14px;line-height:1.6}
.cta-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* ══════════════════════════════════════════════════════════════
   TABLEAU PARTANTS
══════════════════════════════════════════════════════════════ */
.table-wrap{overflow:auto;border-radius:14px;border:1px solid rgba(15,23,42,.08)}
.table{width:100%;border-collapse:collapse;min-width:700px}
.table th,
.table td{padding:14px 12px;text-align:left;border-bottom:1px solid rgba(15,23,42,.07);}
.table th{background:#f8fafc;color:#9b6d18; font-size:12px;text-transform:uppercase;letter-spacing:.08em;}
.table td{color:#2a3948}
.table tr:last-child td{border-bottom:none}
.table tr:hover td{background:#fbfcfe}
.table .btn { padding: 5px 16px; font-size: 13px; }
.tag { padding: 3px 8px; }

/* ══════════════════════════════════════════════════════════════
   BLOC PRONOS — LOCK
══════════════════════════════════════════════════════════════ */
.lock-shell{  position:relative;overflow:hidden;  border-radius:14px;border:1px solid rgba(15,23,42,.08);background:#fbfcfe;}
.locked{filter:blur(7px);pointer-events:none;user-select:none;transition:.25s ease}
.lock-shell.unlocked .locked{filter:none}
.prono-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:22px}
.prono-card{  padding:18px;border-radius:16px;background:#ffffff;  border:1px solid rgba(15,23,42,.06);}
.prono-card h3{  margin:0 0 12px;font-size:12px;text-transform:uppercase;  letter-spacing:.08em;color:#9b6d18;font-weight:700;}
.prono-values{display:flex;flex-wrap:wrap;gap:10px}
.ball{width:44px;height:44px;border-radius:999px;  display:grid;place-items:center;  background:linear-gradient(135deg,var(--gold-2),var(--gold));  color:#111;font-size:18px;font-weight:800;}
.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(180deg,rgba(255,255,255,.35),rgba(245,247,251,.92));}
.overlay-box{max-width:560px;text-align:center;padding:28px;border-radius:var(--radius);background:#ffffff;border:1px solid rgba(200,155,67,.22);box-shadow:var(--shadow-lg);}
.overlay-box h2{font-size:22px;font-weight:800;margin-bottom:10px}
.overlay-box p{color:#425264;margin-bottom:20px;font-size:15px;line-height:1.6}

/* ══════════════════════════════════════════════════════════════
   OFFRES
══════════════════════════════════════════════════════════════ */
.hidden{display:none}
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.offer-card{padding:22px;border-radius:16px;background:#ffffff;border:1px solid rgba(15,23,42,.08);}
.offer-card.featured{background:linear-gradient(180deg,rgba(200,155,67,.09),#ffffff);border-color:rgba(200,155,67,.24);box-shadow:var(--shadow);}
.mini{display:inline-block;margin-bottom:12px;padding:6px 10px;border-radius:999px;background:rgba(200,155,67,.10);border:1px solid rgba(200,155,67,.18);color:#9b6d18;font-size:12px;font-weight:700;text-transform:uppercase;}
.price{margin:8px 0 14px;font-size:36px;font-weight:800}
.offer-card ul{margin:0 0 16px;padding-left:18px;color:#314152;font-size:14px;line-height:1.8}


/* ══════════════════════════════════════════════════════════════
   HUB GRILLE ACCÈS RAPIDE
══════════════════════════════════════════════════════════════ */
.hub-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px;}

.hub-card{ min-width:0; padding:22px; border-radius:16px; background:#ffffff; border:1px solid rgba(15,23,42,.08);}

.hub-card h3{ margin:0 0 10px; font-size:17px; font-weight:700; overflow-wrap:anywhere; word-break:break-word;}

.hub-card p{ margin:0 0 16px; color:#314152; font-size:14px; line-height:1.7; overflow-wrap:anywhere; word-break:break-word;}

/* Responsive */
@media (max-width:980px){
  .hub-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:680px){
  .hub-grid{ grid-template-columns:1fr; gap:12px; }
  .hub-card{padding:18px; }
}

/* ══════════════════════════════════════════════════════════════
   BLOC À PROPOS — style sobre
══════════════════════════════════════════════════════════════ */
.about-block{background:#f9fbfd}
.about-block p{ font-size:14px;color:#314152;line-height:1.8;margin-bottom:12px;}
.about-block p:last-child{margin-bottom:0}

/* ══════════════════════════════════════════════════════════════
   ANIMATIONS — REVEAL AU SCROLL
══════════════════════════════════════════════════════════════ */
.reveal{ opacity:0;transform:translateY(18px); transition:opacity .55s ease,transform .55s ease;}
.reveal.visible{opacity:1;transform:none}
.reveal-delay-1{transition-delay:.08s}
.reveal-delay-2{transition-delay:.16s}

/* ══════════════════════════════════════════════════════════════
   FAQ SEO
══════════════════════════════════════════════════════════════ */
.faq-list{display:grid;gap:10px}
.faq-item{border-radius:14px;background:#f9fbfd; border:1px solid rgba(15,23,42,.07);overflow:hidden;}
.faq-q{display:flex;justify-content:space-between;align-items:center; padding:16px 18px;cursor:pointer;font-weight:700;font-size:15px; list-style:none;gap:12px;}
.faq-q::-webkit-details-marker{display:none}
.faq-q::after{ content:"+";flex-shrink:0;font-size:20px;color:var(--gold); transition:transform .2s ease;font-weight:300;line-height:1;}
details[open] .faq-q::after{transform:rotate(45deg)}
.faq-a{ padding:0 18px 16px;color:#314152;font-size:14px;line-height:1.75; border-top:1px solid rgba(15,23,42,.05);padding-top:14px;}

/* ══════════════════════════════════════════════════════════════
   CSS SPÉCIAL RÉSULTATS
══════════════════════════════════════════════════════════════ */
.hit-summary{display:grid;grid-template-columns:1.1fr .9fr;gap:22px}
.hit-box{padding:20px;border-radius:16px;background:#f9fbfd;border:1px solid rgba(15,23,42,.06)}
.hit-box h3{margin:0 0 14px;font-size:22px;line-height:1.1}
.hit-line{margin:0 0 10px;color:#314152;font-size:17px;line-height:1.6}
.hit-line strong{color:var(--text)}
.hit-arrivee{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.hit-ball{ width:46px;height:46px;border-radius:999px;display:grid;place-items:center; background:linear-gradient(135deg,var(--gold-2),var(--gold));color:#111;font-size:18px;font-weight:800;}
.hit-ball.light{background:#eef2f6;color:var(--text);border:1px solid rgba(15,23,42,.08)}

/* Arrivée */
.result-top h2 { flex: 1; min-width: 0; }
.result-top .result-badge { flex-shrink: 0; align-self: flex-start; margin-top: 4px; }
.result-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.result-badge{
  display:inline-block;padding:6px 10px;border-radius:999px; background:rgba(44,169,107,.10);border:1px solid rgba(44,169,107,.18); color:#20784d;font-size:12px;font-weight:700;text-transform:uppercase;}
.pronos-badge{display:inline-block;padding:2px 10px;margin-top:00px;border-radius:999px; background:rgba(180,35,35,.10);border:1px solid rgba(180,35,35,.18); color:#b91c1c;font-size:12px;font-weight:700;text-transform:uppercase;}
.arrivee-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.arrivee-card {padding: 16px; border-radius: 16px; background: #f9fbfd; border: 1px solid rgba(15,23,42,.06); text-align: center; display: flex; align-items: center; justify-content: center; min-height: 90px;}
.place{display:block;margin-bottom:10px;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.horse-num {width: 52px; height: 52px; min-width: 52px; min-height: 52px;  flex-shrink: 0; 
  margin: 0 auto; border-radius: 999px; display: grid; place-items: center; background: linear-gradient(135deg, var(--gold-2), var(--gold)); color: #111; font-size: 22px; font-weight: 800;}
.horse-name{font-weight:700;font-size:14px}
.result-note{margin:16px 0 0;color:#314152;line-height:1.65}

/* Grid gains */
.gains-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.gain-card{padding:18px;border-radius:16px;background:#ffffff; border:1px solid rgba(15,23,42,.08);box-shadow:0 6px 18px rgba(15,23,42,.04); position:relative;overflow:hidden;}
.gain-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:4px 0 0 4px}
.gain-card h4{margin:0 0 10px;font-size:18px;line-height:1.2}
.gain-card p{margin:0 0 8px;color:#314152;line-height:1.55}
.gain-card:last-child p:last-child{margin-bottom:0}
.gain-value{font-weight:700;color:var(--text)}

.quinte h4{color:#d64545}.quinte::before{background:#d64545}
.quarte h4{color:#1f6ed4}.quarte-strong::before{background:#1f6ed4}
.tierce h4{color:#118a55}.tierce::before{background:#118a55}
.deuxsurquatre h4{color:#7a3fa0}.deuxsurquatre::before{background:#7a3fa0}
.couple-gagnant h4{color:#e06c00}.couple-gagnant::before{background:#e06c00}
.couple-place h4{color:#f09a2a}.couple-place::before{background:#f09a2a}
.simple-gagnant h4{color:#007fbe}.simple-gagnant::before{background:#007fbe;opacity:.6}
.simple-place h4{color:#007fbe}.simple-place::before{background:#007fbe;opacity:.6}
.result-links{margin-top:16px;display:flex;flex-wrap:wrap;gap:10px}

/* Sélecteur résultats */
.results-filter{display:grid;grid-template-columns:1fr 1fr auto;gap:16px;align-items:end}
.results-field{display:flex;flex-direction:column;gap:8px}
.results-field label{font-size:13px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.results-field select{ width:100%;height:48px;padding:0 14px;border-radius:14px; border:1px solid rgba(15,23,42,.10);background:#f9fbfd; color:var(--text);font-size:15px;font-weight:600;outline:none;}
.results-field select:focus{border-color:rgba(200,155,67,.45);box-shadow:0 0 0 3px rgba(200,155,67,.10)}
.results-action{display:flex}
.info-box{color:#314152;line-height:1.75}
.info-box p{margin-bottom:12px;font-size:14px}
.info-box p:last-child{margin-bottom:0}

/* Responsive résultats */
@media(max-width:980px){
  .hit-summary,.gains-grid,.arrivee-grid{grid-template-columns:1fr}
  .rq-tophits{grid-template-columns:1fr}
}
@media (max-width:720px){
  .results-filter{
    grid-template-columns:1fr 1fr;
    gap:12px;
    align-items:end;
  }
  .results-action{grid-column:1 / -1; width:auto;  }
  .results-action .btn{ width:auto; min-width:0; padding:12px 18px; font-size:14px; text-align:center; border-radius:14px; }
}

@media (max-width:420px){
  .results-filter{ grid-template-columns:1fr; }
  .results-action{grid-column:auto; width:100%;}
  .results-action .btn{width:100%;}
}

/* ══ TOP HITS — définition unifiée ══ */
.rq-tophits {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));gap: 16px;}
.rq-tophit {position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 6px; min-height: 96px;padding: 20px 20px 18px;border-radius: 16px;background: #ffffff; border: 1px solid rgba(15, 23, 42, .08);border-top-width: 4px; box-shadow: 0 10px 24px rgba(15, 23, 42, .06);}

/* Suppression du ::before — l'accent est porté par border-top */
.rq-tophit::before { display: none; }
.rq-tophit strong {display: block; font-size: 20px; font-weight: 800; line-height: 1.05; letter-spacing: -.02em; margin-bottom: 2px;}
.rq-tophit span { display: block; font-size: 14px; color: #314152; line-height: 1.4;}

/* Variantes couleur — border-top uniquement */
.rq-tophit-quinte { border-top-color: #d64545; }
.rq-tophit-quinte strong { color: #d64545; }
.rq-tophit-quarte { border-top-color: #1f6ed4; }
.rq-tophit-quarte strong { color: #1f6ed4; }
.rq-tophit-tierce { border-top-color: #118a55; }
.rq-tophit-tierce strong { color: #118a55; }

/* Responsive */
@media (max-width: 980px) { .rq-tophits { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .rq-tophits { grid-template-columns: 1fr; } }





/* ══════════════════════════════════════════════════════════════
   LISTE RÉSULTATS
══════════════════════════════════════════════════════════════ */
.results-list{display:grid;gap:12px}
.result-item{display:flex;justify-content:space-between;align-items:center; padding:18px;border-radius:14px; border:1px solid rgba(15,23,42,.07);background:#f9fbfd; transition:box-shadow .2s ease,transform .2s ease;}
.result-item:hover{box-shadow:var(--shadow);transform:translateY(-1px);}
.result-left{display:flex;flex-direction:column;gap:5px}
.result-date{font-weight:700;font-size:15px}
.result-meta{font-size:13px;color:var(--muted)}
.result-arrivee{font-size:14px;color:#2a3948}

@media (max-width:680px){
  .result-item{flex-direction:column;align-items:flex-start;gap:12px;  }
  .result-item .btn{align-self:flex-start; padding:10px 16px; font-size:13px; border-radius:12px; max-width:180px; line-height:1.3; white-space:normal; text-align:center;  }
}


/* ══════════════════════════════════════════════════════════════
   SÉLECTEUR RÉSULTATS
══════════════════════════════════════════════════════════════ */
.results-filter{display:grid;grid-template-columns:1fr 1fr auto;gap:16px;align-items:end}
.results-field{display:flex;flex-direction:column;gap:8px}
.results-field label{font-size:13px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.results-field select{width:100%;height:48px;padding:0 14px;border-radius:14px; border:1px solid rgba(15,23,42,.10);background:#f9fbfd; color:var(--text);font-size:15px;font-weight:600;outline:none;}
.results-field select:focus{border-color:rgba(200,155,67,.45); box-shadow:0 0 0 3px rgba(200,155,67,.10);}
.results-action{display:flex}

/* ══════════════════════════════════════════════════════════════
   PAGE ITF — SPÉCIFIQUE
══════════════════════════════════════════════════════════════ */

/* Variables niveaux IFT */
:root{
  --c-incontournable:#c89b43;
  --c-solide:#2ca96b;
  --c-interessant:#1f6ed4;
  --c-speculatif:#e79b2e;
  --c-hasardeux:#d85a5a;
}

/* Hero 2 colonnes (spécifique ITF) */
.hero-inner{display:grid;grid-template-columns:1fr 420px;gap:48px;align-items:center}
.hero-badge-dot{width:8px;height:8px;border-radius:999px;background:var(--gold);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.85)}}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:32px}

/* Hero card droite */
.hero-card{background:var(--panel);border-radius:22px;border:1px solid var(--line);box-shadow:var(--shadow-lg);padding:28px;position:relative}
.hero-card-label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:16px;font-weight:700}
.ift-demo-score{font-size:72px;font-weight:800;line-height:1;background:linear-gradient(135deg,var(--gold-2),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:6px}
.ift-demo-label{font-size:18px;font-weight:700;color:#9b6d18;margin-bottom:18px}
.ift-demo-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ift-demo-stat{padding:12px;border-radius:12px;background:#f9fbfd;border:1px solid rgba(15,23,42,.05);text-align:center}
.ift-demo-stat strong{display:block;font-size:20px;font-weight:800;color:var(--green)}
.ift-demo-stat span{font-size:11px;color:var(--muted)}

/* Block title/sub */
.block-title{font-size:22px;font-weight:700;margin-bottom:6px;line-height:1.2}
.block-sub{color:var(--muted);font-size:14px;margin-bottom:22px;line-height:1.6}

/* Niveaux IFT */
.levels-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.level-card{padding:20px 16px;border-radius:16px;background:var(--panel);border:2px solid transparent;text-align:center;cursor:pointer;transition:.2s ease;position:relative;overflow:hidden}
.level-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;transition:.2s ease}
.level-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.level-card.incontournable::before{background:var(--c-incontournable)}.level-card.incontournable{border-color:rgba(200,155,67,.25)}
.level-card.solide::before{background:var(--c-solide)}.level-card.solide{border-color:rgba(44,169,107,.2)}
.level-card.interessant::before{background:var(--c-interessant)}.level-card.interessant{border-color:rgba(31,110,212,.2)}
.level-card.speculatif::before{background:var(--c-speculatif)}.level-card.speculatif{border-color:rgba(231,155,46,.2)}
.level-card.hasardeux::before{background:var(--c-hasardeux)}.level-card.hasardeux{border-color:rgba(216,90,90,.2)}
.level-emoji{font-size:26px;margin-bottom:10px;display:block}
.level-name{font-size:14px;font-weight:800;margin-bottom:4px}
.level-score{font-size:12px;color:var(--muted);margin-bottom:12px}
.level-incontournable .level-name{color:var(--c-incontournable)}
.level-solide .level-name{color:var(--c-solide)}
.level-interessant .level-name{color:var(--c-interessant)}
.level-speculatif .level-name{color:var(--c-speculatif)}
.level-hasardeux .level-name{color:var(--c-hasardeux)}
.level-stat{font-size:22px;font-weight:800;display:block;margin-bottom:2px}
.level-stat-label{font-size:11px;color:var(--muted)}

/* Comment ça marche */
.how-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.steps{display:grid;gap:14px}
.step{display:flex;gap:16px;align-items:flex-start}
.step-num{flex-shrink:0;width:36px;height:36px;border-radius:999px;background:linear-gradient(135deg,var(--gold-2),var(--gold));display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;color:#111}
.step-body h4{font-size:15px;font-weight:700;margin-bottom:4px}
.step-body p{font-size:14px;color:#314152;line-height:1.6}
.vars-grid{display:grid;gap:10px}
.var-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:#f9fbfd;border:1px solid rgba(15,23,42,.05)}
.var-icon{font-size:18px;flex-shrink:0}
.var-body{flex:1}
.var-body strong{font-size:14px;font-weight:700}
.var-body span{font-size:12px;color:var(--muted);display:block}
.var-weight{flex-shrink:0;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700}
.var-weight.high{background:rgba(200,155,67,.12);color:#9b6d18}
.var-weight.mid{background:rgba(31,110,212,.10);color:var(--blue)}
.var-weight.low{background:rgba(15,23,42,.06);color:var(--muted)}

/* FIX bloc "Comment ça marche" / repères */
.how-grid,
.how-grid > div,
.steps,
.step,
.step-body,
.vars-grid,
.var-row,
.var-body{
  min-width:0;}

.var-row{ display:flex; align-items:flex-start; gap:12px;}
.var-icon{ flex:0 0 24px;}
.var-body{ flex:1 1 auto; min-width:0;}
.var-body strong,
.var-body span{ display:block; overflow-wrap:anywhere; word-break:break-word;}
.var-weight{ flex:0 0 auto; white-space:nowrap;}

@media (max-width:640px){
  .how-grid{ grid-template-columns:1fr;}
  .step{ gap:12px; }
  .step-body h4,
  .var-body strong{overflow-wrap:anywhere; word-break:break-word;}
  .var-row{ flex-wrap:wrap; align-items:flex-start; }
  .var-weight{ margin-left:36px; }
}


/* Stratégie */
.strat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.strat-card{padding:22px;border-radius:16px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);position:relative;overflow:hidden}
.strat-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;border-radius:5px 0 0 5px}
.strat-card.gold::before{background:linear-gradient(180deg,var(--gold-2),var(--gold))}
.strat-card.green::before{background:var(--green)}
.strat-card.blue::before{background:var(--blue)}
.strat-ift{display:inline-block;padding:5px 10px;border-radius:999px;font-size:11px;font-weight:700;margin-bottom:12px;text-transform:uppercase;letter-spacing:.06em}
.strat-card.gold .strat-ift{background:rgba(200,155,67,.12);color:#9b6d18}
.strat-card.green .strat-ift{background:rgba(44,169,107,.12);color:#1a7a4d}
.strat-card.blue .strat-ift{background:rgba(31,110,212,.10);color:var(--blue)}
.strat-card h3{font-size:16px;font-weight:700;margin-bottom:10px}
.strat-card p{font-size:14px;color:#314152;line-height:1.65}
.strat-tips{margin-top:14px;display:grid;gap:7px}
.strat-tip{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:#2a3948}
.strat-tip::before{content:"→";color:var(--gold);font-weight:700;flex-shrink:0}

/* Preuves / Stats */
.proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.proof-card{padding:22px;border-radius:16px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);text-align:center}
.proof-number{font-size:44px;font-weight:800;line-height:1;margin-bottom:6px}
.proof-number.gold{color:var(--gold)}.proof-number.red{color:var(--red)}.proof-number.green{color:var(--green)}.proof-number.blue{color:var(--blue)}
.proof-label{font-size:15px;font-weight:700;margin-bottom:4px}
.proof-sub{font-size:13px;color:var(--muted);line-height:1.5}

/* Legende */
.abo-legende{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:16px;padding-top:20px;}
.abo-legende-item{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--muted);}


/* Responsive ITF */
@media(max-width:980px){
  .hero-inner{grid-template-columns:1fr}
  .hero-card{max-width:420px}
  .levels-grid{grid-template-columns:repeat(3,1fr)}
  .how-grid,.strat-grid,.proof-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
  .levels-grid{grid-template-columns:1fr 1fr}
}

/* ══════════════════════════════════════════════════════════════
   PAGE STATS — SPÉCIFIQUE
══════════════════════════════════════════════════════════════ */
:root{ --purple:#7a3fa0 } /* variable manquante */

.page-header{margin-bottom:32px; padding-top:56px}
.page-title{font-size:34px;line-height:1.05;letter-spacing:-.02em;margin-bottom:10px}
.page-intro{color:var(--muted);font-size:16px;max-width:860px;line-height:1.65}

/* KPI */
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}
.kpi-card{padding:20px;border-radius:16px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);text-align:center;position:relative;overflow:hidden}
.kpi-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold-2),var(--gold))}
.kpi-value{font-size:38px;font-weight:800;line-height:1;margin-bottom:6px;color:var(--text); word-break: break-all;}
.kpi-label{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.kpi-sub{font-size:12px;color:var(--gold);font-weight:700;margin-top:4px}

@media (max-width: 640px) {
  .kpi-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .kpi-card { padding: 14px 10px; }
  .kpi-value { font-size: 26px; }
  .kpi-label { font-size: 11px; }
  .kpi-sub { font-size: 11px; }
}

/* Mensuel highlights */
.monthly-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:22px}
.monthly-card{padding:20px;border-radius:16px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow)}
.monthly-card h3{font-size:14px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:14px}
.monthly-stat{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.monthly-stat:last-child{margin-bottom:0}
.monthly-label{font-size:14px;color:#314152}
.monthly-value{font-size:16px;font-weight:700}
.monthly-bar{height:6px;border-radius:999px;background:#eef2f6;margin-top:4px;overflow:hidden}
.monthly-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--gold-2),var(--gold));transition:width .6s ease}

/* Tabs */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.tab-btn{padding:9px 16px;border-radius:999px;border:1px solid var(--line);background:#f9fbfd;cursor:pointer;font-size:13px;font-weight:700;color:var(--muted);transition:.2s ease;white-space:nowrap}
.tab-btn:hover{border-color:rgba(200,155,67,.4);color:#9b6d18}
.tab-btn.active{background:linear-gradient(135deg,var(--gold-2),var(--gold));color:#111;border-color:transparent;box-shadow:0 6px 16px rgba(200,155,67,.2)}
.tab-panel{display:none}
.tab-panel.active{display:block}

/* Table stats */
.cell-high{color:var(--green);font-weight:800}
.cell-mid{color:var(--orange);font-weight:700}
.cell-low{color:var(--red)}
.cell-top3{background:rgba(44,169,107,.08);border-radius:6px;color:#118a55;font-weight:800;padding:4px 8px;display:inline-block}
.rang-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:linear-gradient(135deg,var(--gold-2),var(--gold));color:#111;font-size:13px;font-weight:800}

/* Répartition */
.rep-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.rep-block{padding:20px;border-radius:16px;border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow)}
.rep-block h3{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px}
.rep-block h3.quinte{color:#d64545}
.rep-block h3.quarte{color:var(--blue)}
.rep-block h3.tierce{color:#118a55}
.rep-row{margin-bottom:12px}
.rep-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px;font-size:13px}
.rep-pct{font-weight:700}
.rep-bar-bg{height:8px;border-radius:999px;background:#eef2f6;overflow:hidden}
.rep-bar-fill{height:100%;border-radius:999px;transition:width .7s ease}
.fill-quinte{background:#d64545}
.fill-quarte{background:var(--blue)}
.fill-tierce{background:#118a55}

/* Saisonnalité */
.season-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.season-card{padding:14px 10px;border-radius:14px;background:#f9fbfd;border:1px solid rgba(15,23,42,.06);text-align:center;transition:.2s ease;cursor:default}
.season-card:hover{background:var(--panel);box-shadow:0 6px 18px rgba(15,23,42,.06)}
.season-card.best{background:linear-gradient(180deg,rgba(200,155,67,.08),#fff);border-color:rgba(200,155,67,.25)}
.season-month{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:8px}
.season-t{font-size:20px;font-weight:800;color:#118a55;display:block}
.season-q4{font-size:14px;font-weight:700;color:var(--blue);margin:2px 0}
.season-q5{font-size:13px;font-weight:700;color:#d64545}
.season-legend{display:flex;gap:16px;margin-bottom:14px;flex-wrap:wrap}
.season-legend-item{display:flex;align-items:center;gap:6px;font-size:13px;color:#314152}
.season-legend-dot{width:10px;height:10px;border-radius:999px}

/* Responsive */
@media (max-width:980px){
  .season-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
}

@media (max-width:680px){
  .season-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .season-card{ padding:12px 8px; }
  .season-month{font-size:11px}
  .season-t{font-size:18px}
  .season-q4{font-size:13px}
  .season-q5{font-size:12px}
}

@media (max-width:420px){
  .season-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}


/* Enseignements */
.insight-list{display:grid;gap:12px}
.insight{display:flex;gap:14px;align-items:flex-start;padding:16px;border-radius:14px;background:#f9fbfd;border:1px solid rgba(15,23,42,.06)}
.insight-num{flex-shrink:0;width:32px;height:32px;border-radius:999px;background:linear-gradient(135deg,var(--gold-2),var(--gold));display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;color:#111}
.insight-text{font-size:15px;color:#2a3948;line-height:1.6}
.insight-text strong{color:var(--text)}

/* Stats mensuelles */
.mensuel-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}
.mensuel-card{padding:18px;border-radius:16px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);text-align:center;position:relative;overflow:hidden}
.mensuel-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:4px 0 0 4px}
.mensuel-card.quinte::before{background:#d64545}
.mensuel-card.quarte::before{background:var(--blue)}
.mensuel-card.tierce::before{background:#118a55}
.mensuel-card.couple::before{background:var(--orange)}
.mensuel-value{font-size:32px;font-weight:800;line-height:1;margin-bottom:4px}
.mensuel-card.quinte .mensuel-value{color:#d64545}
.mensuel-card.quarte .mensuel-value{color:var(--blue)}
.mensuel-card.tierce .mensuel-value{color:#118a55}
.mensuel-card.couple .mensuel-value{color:var(--orange)}
.mensuel-label{font-size:13px;color:var(--muted)}
.mensuel-sub{font-size:12px;color:#9b6d18;font-weight:700;margin-top:3px}


/* Responsive stats */
@media(max-width:980px){
  .kpi-grid{grid-template-columns:repeat(2,1fr)}
  .monthly-row,.rep-grid{grid-template-columns:1fr}
  .season-grid{grid-template-columns:repeat(4,1fr)}
  .mensuel-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:680px){
  .kpi-grid{grid-template-columns:1fr 1fr}
  .tabs{gap:6px}
  .tab-btn{padding:8px 12px;font-size:12px}
  .season-grid{grid-template-columns:repeat(3,1fr)}
  .mensuel-grid{grid-template-columns:1fr 1fr}
  .page-title{font-size:26px}
}

@media (max-width: 640px) {
  .mensuel-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .mensuel-card { padding: 12px 10px; }
  .mensuel-value { font-size: 22px; }
  .mensuel-label { font-size: 11px; }
  .mensuel-sub { font-size: 10px; }
}

/* ══════════════════════════════════════════════════════════════
   CSS SPÉCIFIQUE BILAN MENSUEL
══════════════════════════════════════════════════════════════ */

/* Synthèse chiffres */
.summary-grid-large{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.summary-card{
  padding:18px;border-radius:16px;background:#f9fbfd;
  border:1px solid rgba(15,23,42,.06);position:relative;overflow:hidden;
}
.summary-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px}
.summary-card span{display:block;margin-bottom:8px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.summary-card strong{display:block;font-size:32px;line-height:1;letter-spacing:-.03em}

.summary-quinte::before{background:#d64545}.summary-quinte strong{color:#d64545}
.summary-quarte::before{background:#1f6ed4}.summary-quarte strong{color:#1f6ed4}
.summary-tierce::before{background:#118a55}.summary-tierce strong{color:#118a55}
.summary-deuxsurquatre::before{background:#7a3fa0}.summary-deuxsurquatre strong{color:#7a3fa0}
.summary-couple-gagnant::before{background:#e06c00}.summary-couple-gagnant strong{color:#e06c00}
.summary-couple-place::before{background:#f09a2a}.summary-couple-place strong{color:#f09a2a}
.summary-simple-gagnant::before{background:#007fbe}.summary-simple-gagnant strong{color:#007fbe}
.summary-simple-place::before{background:#4aa3d8}.summary-simple-place strong{color:#4aa3d8}

/* Highlight doré */
.highlight{
  padding:18px 22px;border-radius:16px;margin-bottom:24px;
  background:linear-gradient(135deg,rgba(200,155,67,.10),rgba(255,255,255,.95));
  border:1px solid rgba(200,155,67,.25);box-shadow:0 10px 24px rgba(15,23,42,.06);
  font-size:17px;line-height:1.6;color:#2a3948;position:relative;overflow:hidden;
}
.highlight::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,#e7bf74,#c89b43)}
.highlight strong{color:#9b6d18;font-weight:800}

/* Badge coin */
.top-perf-corner{position:relative;overflow:hidden}
.top-perf-corner-badge{position:absolute;top:10px;right:-34px;z-index:2;display:block;width:130px;padding:3px 0;
  text-align:center;font-size:7px;font-weight:800;text-transform:uppercase;letter-spacing:.10em; color:#fff;background:linear-gradient(135deg,#e7bf74,#c89b43); box-shadow:0 6px 14px rgba(200,155,67,.22);transform:rotate(35deg);}
.top-perf-corner-badge { position: absolute; top: 14px; right: -32px; z-index: 2; display: block; width: 140px; padding: 3px 0; text-align: center; font-size: 9px;
  font-weight: 800; text-transform: uppercase; letter-spacing: .10em; color: #fff; background: linear-gradient(135deg, #e7bf74, #c89b43); box-shadow: 0 6px 14px rgba(200,155,67,.22); transform: rotate(35deg);}

/* Tags tableau */
.tag{display:inline-block;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.tag-quinte{background:rgba(216,90,90,.10);color:var(--red)}
.tag-quarte{background:rgba(31,110,212,.10);color:var(--blue)}
.tag-tierce{background:rgba(44,169,107,.10);color:var(--green)}
.tag-2sur4{background:rgba(122,63,160,.10);color:#7a3fa0}
.tag-couple { background: rgba(240,154,42,.10); color: #f09a2a; }
.tag-simple { background: rgba(0,127,190,.10);  color: #007fbe; }
.tag-muted{background:#eef2f6;color:#425264}

/* Colonnes repères */
.columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.bilan-info-list{display:grid;gap:12px}
.info-row{ padding:14px 16px;border-radius:14px;background:#f9fbfd; border:1px solid rgba(15,23,42,.06);color:#314152;line-height:1.65;}

/* Responsive bilan */
@media(max-width:980px){
  .summary-grid-large{grid-template-columns:repeat(2,minmax(0,1fr))}
  .columns{grid-template-columns:1fr}
}
  

/* ══════════════════════════════════════════════════════════════
   FORMULAIRE CONVERTFORM
══════════════════════════════════════════════════════════════ */
.cta-block .convertforms,.cta-block form{  max-width:820px;  margin:8px auto 0;}
.cta-block .cf-form-group,
.cta-block .cf-control-group,
.cta-block .cf-fields,
.cta-block .cf-row{  width:100%;}
.cta-block input[type="email"],
.cta-block input[type="text"]{  display:block;  width:100%;  max-width:520px;  margin:0 auto 4px !important;  height:48px;  padding:0 18px;  border-radius:14px;  border:1px solid rgba(15,23,42,.14);  background:#fff;  
  font-size:16px;  color:var(--text);  box-sizing:border-box;}

.cta-block input[type="email"]::placeholder,
.cta-block input[type="text"]::placeholder{  color:#8b96a8;}
.cta-block .cf-captcha,
.cta-block .cf-recaptcha,
.cta-block .cf-hcaptcha,
.cta-block .h-captcha,
.cta-block .g-recaptcha{  display:flex;  justify-content:center;  margin:4px auto !important;}
.cta-block .cf-consent,
.cta-block .cf-checkbox-group,
.cta-block .cf-field-type-checkbox{  display:flex;  justify-content:center;  margin:2px auto 4px !important;  text-align:center;}
.cta-block .cf-consent label,
.cta-block .cf-checkbox-group label,
.cta-block .cf-field-type-checkbox label{  display:inline-flex;  align-items:center;  gap:10px;  font-size:14px;  color:#314152;}
.cta-block .cf-field{  margin-bottom:4px !important;}
.cta-block button,
.cta-block input[type="submit"],
.cta-block .cf-btn{  display:block;  width:auto;  min-width:280px;  max-width:420px;  margin:6px auto 0 !important;  padding:15px 28px;  border:none;  border-radius:999px;
  background:linear-gradient(135deg,var(--gold-2),var(--gold));  color:#111;  font-size:16px;  font-weight:700;  box-shadow:0 10px 22px rgba(200,155,67,.22);  text-align:center;  cursor:pointer;}

.cta-block .cf-btn-full,
.cta-block .cf-btn-block{  width:auto !important;  max-width:420px;  margin-left:auto !important;  margin-right:auto !important;}
.cta-block .cf-response,
.cta-block .cf-help,
.cta-block .cf-note{  text-align:center;}
.cta-block .cf-control-group{  margin-bottom:4px !important;}
.cta-block .cf-input{  margin-bottom:4px !important;  height:48px !important;}

body .cta-block .cf-control-group,
body .cta-block .cf-control-input,
body .cta-block .cf-fields .cf-control-group{  margin-bottom:4px !important;  padding-bottom:0 !important;}
body .cta-block .cf-input{  margin-bottom:0 !important;  height:48px !important;}
body .cta-block .cf-captcha-fix,
body .cta-block .cf-captcha-fix .cf-control-input{  margin-bottom:4px !important;  margin-top:0 !important;  padding-bottom:0 !important;  padding-top:0 !important;}
body .cta-block .cf-checkbox-group{  margin-bottom:4px !important;  margin-top:0 !important;  padding-bottom:0 !important;  padding-top:0 !important;}
body .cta-block fieldset.cf-control-group,
body .cta-block .cf-list,
body .cta-block .cf-checkbox-group{  margin-bottom:4px !important;  margin-top:0 !important;  padding-bottom:0 !important;  padding-top:0 !important;}
body .cta-block .cf-list{  row-gap:0 !important;  column-gap:0 !important;  gap:0 !important;}
body .cta-block .cf-control-input .cf-list,
body .cta-block .cf-control-input{  row-gap:0 !important;  gap:0 !important;  margin:0 !important;  padding:0 !important;}
body .cta-block .cf-text-center{  margin-top:0 !important;  padding-top:0 !important;}
body .cta-block .cf-control-group[data-type="submit"]{margin-top:0 !important;  padding-top:0 !important;}
body .cta-block .cf-input{  border-radius:0 !important;}

@media(max-width:680px){
  .cta-block input[type="email"],
  .cta-block input[type="text"]{max-width:100%;}
  .cta-block button,
  .cta-block input[type="submit"],
  .cta-block .cf-btn{ width:100%; max-width:100%; min-width:0;}
}


/* LIMITE LARGEUR CONVERTFORM */
.convertforms,
.convertforms-form,
.cf-form-wrap {  max-width: 600px;  margin-left: auto;  margin-right: auto;}


/* Masque label Captcha obligatoire */
#jform_captcha-lbl {display: none !important;}

/* ══════════════════════════════════════════════════════════════
   				REDUIRE LARGEUR FORMULAIRE CONNEXION
══════════════════════════════════════════════════════════════ */

.com-users-login{max-width:640px; margin:56px auto; padding:36px 34px 28px; background:#fff; border-radius:22px; border:1px solid rgba(15,23,42,.08); box-shadow:0 16px 40px rgba(15,23,42,.08);}
.com-users-login form{ max-width:480px; margin:0 auto;}

/* groupes */
.com-users-login .control-group,
.com-users-login .form-group,
.com-users-login .mb-3{margin-bottom:18px;}

/* labels */
.com-users-login label{display:block; margin-bottom:8px; font-size:14px; font-weight:700; color:var(--text);}

/* champs texte/password */
.com-users-login input[type="text"],
.com-users-login input[type="email"],
.com-users-login input[type="password"]{width:100%;height:52px;padding:0 16px;border-radius:14px;border:1px solid rgba(15,23,42,.12);background:#f7f9fc;color:var(--text);font-size:16px; box-sizing:border-box; box-shadow:none;}
.com-users-login input[type="text"]:focus,
.com-users-login input[type="email"]:focus,
.com-users-login input[type="password"]:focus{ outline:none; border-color:rgba(200,155,67,.55); background:#fff; box-shadow:0 0 0 4px rgba(200,155,67,.10);}

/* bloc mot de passe + icône */
.com-users-login .input-group,
.com-users-login .controls,
.com-users-login .password-group{display:flex; align-items:center; gap:0;}
.com-users-login .input-group input[type="password"],
.com-users-login .controls input[type="password"]{border-top-right-radius:0; border-bottom-right-radius:0;}
.com-users-login .input-group-text,
.com-users-login .btn-password,
.com-users-login .input-group button,
.com-users-login .controls button{height:52px; min-width:52px; display:flex; align-items:center; justify-content:center; border:1px solid rgba(15,23,42,.12); 
  border-left:none; border-top-right-radius:14px; border-bottom-right-radius:14px; background:#f7f9fc; color:#314152; cursor:pointer; box-shadow:none; padding:0 14px;}

/* remember me */
.com-users-login .remember,
.com-users-login .form-check,
.com-users-login .checkbox{  display:flex;  align-items:center;  gap:10px;  margin:6px 0 20px;}
.com-users-login input[type="checkbox"]{  width:16px;  height:16px;  margin:0;  accent-color:#c89b43;}
.com-users-login .remember label,
.com-users-login .form-check label,
.com-users-login .checkbox label{  margin:0;  font-size:14px;  font-weight:500;  color:#314152;}

/* bouton connexion */
.com-users-login .btn,
.com-users-login button[type="submit"],
.com-users-login input[type="submit"]{display:inline-flex;align-items:center;justify-content:center;min-width:170px;height:50px;padding:0 24px;border:none;border-radius:999px;
  background:linear-gradient(135deg,var(--gold-2),var(--gold));color:#111;font-size:16px;font-weight:800;cursor:pointer;box-shadow:0 10px 22px rgba(200,155,67,.22);transition:transform .2s ease,box-shadow .2s ease;}
.com-users-login .btn:hover,
.com-users-login button[type="submit"]:hover,
.com-users-login input[type="submit"]:hover{transform:translateY(-1px);box-shadow:0 14px 26px rgba(200,155,67,.26);}

/* liens du bas */
.com-users-login ul,
.com-users-login .nav,
.com-users-login .list-group{list-style:none;margin:28px 0 0;padding:0;border:1px solid rgba(15,23,42,.08);border-radius:14px;overflow:hidden;}
.com-users-login ul li,
.com-users-login .nav li,
.com-users-login .list-group-item{margin:0;border-top:1px solid rgba(15,23,42,.08);}
.com-users-login ul li:first-child,
.com-users-login .nav li:first-child,
.com-users-login .list-group-item:first-child{border-top:none;}
.com-users-login ul a,
.com-users-login .nav a,
.com-users-login .list-group-item a{display:block;padding:14px 16px;text-decoration:none;color:#314152;font-size:15px;transition:background .2s ease, color .2s ease;}
.com-users-login ul a:hover,
.com-users-login .nav a:hover,
.com-users-login .list-group-item a:hover{background:#f9fbfd;color:#9b6d18;}

/* responsive */
@media (max-width:680px){
  .com-users-login{margin:28px auto;padding:24px 18px 20px;border-radius:18px;}
  .com-users-login form{max-width:100%;}
  .com-users-login .btn,
  .com-users-login button[type="submit"],
  .com-users-login input[type="submit"]{width:100%;}
}

/* ===== Fix champ mot de passe + oeil ===== */
.com-users-login .input-group{ display:grid !important; grid-template-columns:minmax(0,1fr) 56px !important; align-items:stretch !important; width:100% !important;}
.com-users-login .input-group > input[type="password"],
.com-users-login .input-group > input[type="text"],
.com-users-login .input-group > .form-control{ width:100% !important; min-width:0 !important; margin:0 !important; border-top-right-radius:0 !important; border-bottom-right-radius:0 !important;}
.com-users-login .input-group > .input-group-text,
.com-users-login .input-group > button,
.com-users-login .input-group > .btn{ width:56px !important; min-width:56px !important;
  height:52px !important; margin:0 !important; padding:0 !important; display:flex !important; align-items:center !important; justify-content:center !important;
  border:1px solid rgba(15,23,42,.12) !important; border-left:none !important; border-top-left-radius:0 !important; border-bottom-left-radius:0 !important; border-top-right-radius:14px !important; 
  border-bottom-right-radius:14px !important; background:#f7f9fc !important; box-shadow:none !important; overflow:hidden !important;}
.com-users-login form,
.com-users-login .control-group,
.com-users-login .form-group,
.com-users-login .mb-3,
.com-users-login .input-group{ min-width:0;}

/* cohérence au focus */
.com-users-login .input-group:focus-within > input[type="password"],
.com-users-login .input-group:focus-within > input[type="text"],
.com-users-login .input-group:focus-within > .form-control{ border-color:rgba(200,155,67,.55) !important; background:#fff !important;}
.com-users-login .input-group:focus-within > .input-group-text,
.com-users-login .input-group:focus-within > button,
.com-users-login .input-group:focus-within > .btn{
  border-color:rgba(200,155,67,.55) !important;
  background:#fff !important;
}
/* au focus, l'ensemble reste visuellement cohérent */
.com-users-login .input-group:focus-within > input[type="password"],
.com-users-login .input-group:focus-within > input[type="text"]{border-color:rgba(200,155,67,.55) !important;background:#fff !important;}

.com-users-login .input-group:focus-within > .input-group-text,
.com-users-login .input-group:focus-within > button,
.com-users-login .input-group:focus-within > .btn{border-color:rgba(200,155,67,.55) !important;background:#fff !important;}


/* ══════════════════════════════════════════════════════════════
   				MASQUER "JETON JOOMLA"
══════════════════════════════════════════════════════════════ */
.com-users-profile__custom.users-profile-custom-joomlatoken{  display: none !important;}
fieldset:has(  input[name^="jform[joomlatoken]"]){  display: none !important;}


/* ══════════════════════════════════════════════════════════════
   OFFRES ABONNEMENT — NOUVEAU DESIGN CLAIR
══════════════════════════════════════════════════════════════ */
.bloc-abonnement .of-wrap{  max-width:900px;margin:0 auto;padding:24px 16px 100px 16px;}
.bloc-abonnement .of-title{  text-align:center;font-size:22px;font-weight:800;  color:var(--text);margin-bottom:4px;}
.bloc-abonnement .of-sub{  text-align:center;font-size:14px;color:var(--muted);margin-bottom:24px;}
.bloc-abonnement .of-grid{  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.bloc-abonnement .of-card{  border-radius:16px;padding:22px 20px;position:relative;  background:#ffffff;border:1.5px solid rgba(15,23,42,.10);  display:flex;flex-direction:column;  transition:.25s ease;}
.bloc-abonnement .of-card:hover{  transform:translateY(-4px);  box-shadow:0 16px 40px rgba(15,23,42,.10);}
.bloc-abonnement .of-card.of-best{  border:2px solid var(--gold);  background:linear-gradient(180deg,rgba(200,155,67,.06),#fff);}
.bloc-abonnement .of-badge{  position:absolute;top:-11px;left:50%;transform:translateX(-50%);  padding:4px 14px;border-radius:999px;  font-size:11px;font-weight:800;text-transform:uppercase;  letter-spacing:.06em;white-space:nowrap;}
.bloc-abonnement .of-gold{  background:linear-gradient(135deg,var(--gold-2),var(--gold));color:#111;}
.bloc-abonnement .of-grey{background:#eef2f6;color:var(--muted)}
.bloc-abonnement .of-green{background:#d1fae5;color:#065f46}

.bloc-abonnement .of-days{  font-size:26px;font-weight:800;color:var(--text);  margin:10px 0 2px;text-align:center;}
.bloc-abonnement .of-price{text-align:center;margin-bottom:14px}
.bloc-abonnement .of-price .euro{  font-size:38px;font-weight:900;color:var(--text);line-height:1;display:block;}
.bloc-abonnement .of-card.of-best .of-price .euro{  background:linear-gradient(135deg,var(--gold-2),var(--gold));  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.bloc-abonnement .of-price .unit{  font-size:12px;color:var(--muted);display:block;margin-top:2px;}
.bloc-abonnement .of-divider{  height:1px;background:rgba(15,23,42,.06);margin:0 0 14px;}
.bloc-abonnement .of-feats{  list-style:none;padding:0;margin:0 0 16px;  display:flex;flex-direction:column;gap:7px;flex:1;}
.bloc-abonnement .of-feats li{  display:flex;align-items:center;gap:8px;  font-size:13px;color:#314152;}
.bloc-abonnement .of-feats li::before{  content:"✓";color:var(--green);font-weight:800;flex-shrink:0;}
.bloc-abonnement .of-feats li.of-warning::before{color:var(--red);}
.bloc-abonnement .of-paypal{  display:flex;align-items:center;justify-content:center;  gap:6px;font-size:11px;color:#007BBF;margin-bottom:12px;}
.bloc-abonnement .of-paypal img{height:14px;width:auto}

/* Boutons */
.bloc-abonnement .of-btn{  width:100%;padding:13px;border:none;border-radius:12px;  font-weight:800;font-size:14px;cursor:pointer;transition:.2s ease;}
.bloc-abonnement .of-btn-grey{  background:#f4f7fa;color:var(--text);  border:1px solid rgba(15,23,42,.12);}
.bloc-abonnement .of-btn-grey:hover{background:#eef2f6}
.bloc-abonnement .of-btn-gold{ background:linear-gradient(135deg,var(--gold-2),var(--gold));  color:#111;box-shadow:0 8px 20px rgba(200,155,67,.25);}
.bloc-abonnement .of-btn-gold:hover{opacity:.9}
.bloc-abonnement .of-note{  text-align:center;font-size:12px;color:var(--muted);margin-top:16px;}
.bloc-abonnement .payment-zone {display: none; flex-direction: column; align-items: center; width: 100%; max-width: none;}
.bloc-abonnement .payment-zone.show {display: flex !important; padding-bottom: 30px; border-top: 1px solid rgba(15, 23, 42, .08); padding-top: 28px;}

#paypal-button-container,
#applepay-button-container,
#googlepay-button-container {
  width: 100%;
  max-width: 500px;
}

.bloc-abonnement .ot-altpay-block{display:flex;flex-direction:column;gap:8px;margin-top:20px;width:100%;}
.bloc-abonnement .ot-altpay-title{font-size:13px;font-weight:700;color:#66758a;text-align:center;margin-bottom:4px;text-transform:uppercase;letter-spacing:.06em;}
.bloc-abonnement .ot-altpay-buttons{display:flex;flex-direction:row;gap:8px;}
.bloc-abonnement .ot-altpay-btn{flex:1;display:flex !important;align-items:center;justify-content:center;gap:6px;padding:12px 8px !important;border-radius:12px !important;
  text-decoration:none;font-size:13px !important;font-weight:700;border:1px solid rgba(15,23,42,.12) !important;background:#f4f7fa !important;color:#16202b !important;transition:.2s ease;text-align:center;}
.bloc-abonnement .ot-altpay-btn:hover{background:#eef2f6 !important;color:#16202b !important}
.bloc-abonnement .ot-altpay-icon{font-size:14px}
.bloc-abonnement .ot-cheque{border-left:4px solid #1a73e8 !important}
.bloc-abonnement .ot-virement{border-left:4px solid #009688 !important}
.bloc-abonnement .ot-ria{border-left:4px solid #e67e22 !important}
.bloc-abonnement .payment-title {font-size: 17px; font-weight: 800; color: var(--text); text-align: center; margin-bottom: 4px;}
.bloc-abonnement .ot-secure {font-size: 13px; color: var(--muted); text-align: center; margin-bottom: 16px;}

/* Responsive */
@media(max-width:700px){  .bloc-abonnement .of-grid{grid-template-columns:1fr;max-width:360px;margin:0 auto}}
@media(max-width:450px){
  .bloc-abonnement .ot-altpay-buttons { flex-direction: column !important; gap: 6px !important; }
  .bloc-abonnement .ot-altpay-btn { width: 100% !important; justify-content: flex-start !important; padding: 10px 12px !important; }
}


/* ══════════════════════════════════════════════════════════════
   BLOC CONNEXION / ABONNEMENT
══════════════════════════════════════════════════════════════ */
.acces-prono-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:16px;}
.acces-item{border-radius:14px;overflow:hidden;transition:.2s ease;}
.acces-connexion{border:1.5px solid rgba(200,155,67,.35);background:rgba(200,155,67,.05);}
.acces-abonnement{border:1.5px solid rgba(44,169,107,.30);background:rgba(44,169,107,.05);}
.acces-header{display:flex;align-items:center;gap:12px;padding:18px 20px;cursor:pointer;list-style:none;}
.acces-header::-webkit-details-marker{display:none}
.acces-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.acces-connexion .acces-icon{background:rgba(200,155,67,.15);color:#c89b43}
.acces-abonnement .acces-icon{background:rgba(44,169,107,.12);color:#2ca96b}
.acces-text{flex:1;display:flex;flex-direction:column;gap:2px}
.acces-title{font-size:14px;font-weight:700;color:var(--text)}
.acces-connexion .acces-sub{font-size:12px;color:#9b6d18}
.acces-abonnement .acces-sub{font-size:12px;color:#1a7a4d}
.acces-chevron{flex-shrink:0;transition:transform .2s ease}
.acces-connexion .acces-chevron{color:#c89b43}
.acces-abonnement .acces-chevron{color:#2ca96b}
details[open].acces-item .acces-chevron{transform:rotate(180deg)}
.acces-body{padding:16px 20px; border-top:1px solid rgba(15,23,42,.06);}




/* ══════════════════════════════════════════════════════════════
   LIMITER LARGEUR DES PAGES NON MAQUETTES
══════════════════════════════════════════════════════════════ */
.site-shell{
  max-width:1100px;
  margin:0 auto;
  padding:24px 16px;
  box-sizing:border-box;
  width:100%;
  min-width:0;
}

@media (max-width:680px){
  .site-shell{
    padding:12px;
  }
}

.site-shell .blog-featured a,
.site-shell .item-title a,
.site-shell .page-header a,
.site-shell h1 a,
.site-shell h2 a,
.site-shell h3 a{
  overflow-wrap:anywhere;
  word-break:break-word;
}

.inner.clearfix.site-shell .item-title a{
  display:block;
  font-size:15px;
  line-height:1.4;
}

.inner.clearfix.site-shell{
  min-width:0;
}

.inner.clearfix.site-shell *{
  min-width:0;
}



/* ══════════════════════════════════════════════════════════════
   PAGE ABONNEMENT — CSS DÉDIÉ
══════════════════════════════════════════════════════════════ */

/* Grille format prono */
.abo-prono-grid{ display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.abo-prono-card{ padding:24px 20px;border-radius:16px; background:#f9fbfd;border:1px solid rgba(15,23,42,.07); display:flex;flex-direction:column;align-items:center;text-align:center; position:relative;overflow:hidden;}
.abo-prono-card::before{ content:"";position:absolute;top:0;left:0;right:0;height:4px;}
.abo-base::before{background:linear-gradient(90deg,var(--gold-2),var(--gold))}
.abo-complement::before{background:var(--green)}
.abo-outsider::before{background:var(--blue)}
.abo-prono-icon{ width:44px;height:44px;border-radius:50%;  display:flex;align-items:center;justify-content:center;  margin-bottom:12px;}
.abo-base .abo-prono-icon{background:rgba(200,155,67,.12);color:#c89b43}
.abo-complement .abo-prono-icon{background:rgba(44,169,107,.12);color:#2ca96b}
.abo-outsider .abo-prono-icon{background:rgba(31,110,212,.10);color:#1f6ed4}
.abo-prono-count{  font-size:48px;font-weight:900;line-height:1;margin-bottom:4px;}
.abo-base .abo-prono-count{
  background:linear-gradient(135deg,var(--gold-2),var(--gold));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.abo-complement .abo-prono-count{color:var(--green)}
.abo-outsider .abo-prono-count{color:var(--blue)}

.abo-prono-label{ font-size:16px;font-weight:800;color:var(--text);margin-bottom:10px;}
.abo-prono-desc{ font-size:13px;color:#314152;line-height:1.65;margin-bottom:16px;flex:1;}
.abo-balls{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}

/* Balls variantes */
.ball-complement{  background:linear-gradient(135deg,#4fd397,#2ca96b) !important;}
.ball-outsider{  background:linear-gradient(135deg,#5b9cf6,#1f6ed4) !important;color:#fff !important;}

/* Avantages */
.abo-avantages-grid{ display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.abo-avantage{ display:flex;gap:14px;align-items:flex-start; padding:18px;border-radius:14px; background:#f9fbfd;border:1px solid rgba(15,23,42,.06);}
.abo-avantage-icon{ width:40px;height:40px;border-radius:12px;flex-shrink:0;  display:flex;align-items:center;justify-content:center;}
.abo-avantage-title{font-size:15px;font-weight:700;color:var(--text);margin-bottom:6px}
.abo-avantage-desc{font-size:13px;color:#314152;line-height:1.65;margin:0}

/* Responsive */
@media(max-width:980px){
  .abo-prono-grid{grid-template-columns:1fr}
  .abo-avantages-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
  .abo-prono-count{font-size:36px}
}



/* ══════════════════════════════════════════════════════════════
   IDÉES DE TICKETS
══════════════════════════════════════════════════════════════ */
.tickets-block{  background:var(--panel);  border:1px solid var(--line);  border-radius:var(--radius);  box-shadow:var(--shadow);  padding:28px;  margin:24px 0;}
.tickets-header{ margin-bottom:22px;}
.tickets-eyebrow{display:inline-block; margin-bottom:10px; padding:6px 10px; border-radius:999px; background:rgba(200,155,67,.10); border:1px solid rgba(200,155,67,.18); color:#9b6d18; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.08em;}
.tickets-title{ margin:0 0 8px; font-size:28px; line-height:1.1; color:var(--text);}
.tickets-intro{  margin:0;  color:var(--muted);  font-size:15px;  line-height:1.65;  max-width:760px;}
.tickets-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px;}
.ticket-family{ border:1px solid rgba(15,23,42,.08); border-radius:16px; background:#fff; overflow:hidden;}
.ticket-family-head{ padding:18px 18px 16px; border-bottom:1px solid rgba(15,23,42,.06);}
.ticket-family-tierce .ticket-family-head{ background:linear-gradient(180deg, rgba(44,169,107,.08), #fff);}
.ticket-family-quarte .ticket-family-head{ background:linear-gradient(180deg, rgba(31,110,212,.08), #fff);}
.ticket-family-quinte .ticket-family-head{ background:linear-gradient(180deg, rgba(216,90,90,.08), #fff);}
.ticket-badge{ display:inline-block; margin-bottom:10px; padding:5px 10px; border-radius:999px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.08em;}
.ticket-family-tierce .ticket-badge{ background:rgba(44,169,107,.10); color:#1a7a4d;}
.ticket-family-quarte .ticket-badge{ background:rgba(31,110,212,.10); color:var(--blue);}
.ticket-family-quinte .ticket-badge{ background:rgba(216,90,90,.10); color:#b23b3b;}
.ticket-family-title{ margin:0; font-size:22px; color:var(--text);}
.ticket-list{ padding:18px; display:grid; gap:12px;}
.ticket-card{ padding:14px; border-radius:14px; background:#f9fbfd; border:1px solid rgba(15,23,42,.06);}
.ticket-top{ display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:8px;}
.ticket-name{ font-size:15px; font-weight:700; color:var(--text); line-height:1.35;}
.ticket-price{ flex-shrink:0; padding:5px 9px; border-radius:999px; background:rgba(200,155,67,.12); color:#9b6d18; font-size:12px; font-weight:800;}
.ticket-desc{ margin:0 0 8px; color:var(--muted); font-size:13px; line-height:1.5;}
.ticket-numbers{ margin:0; font-size:15px; line-height:1.6; color:#243445; font-weight:700; word-break:break-word;}
.ticket-sep{ color:#9b6d18; font-weight:800;}

@media (max-width:980px){
  .tickets-grid{ grid-template-columns:1fr; }
}

@media (max-width:680px){.tickets-block{ padding:20px; }
  .tickets-title{ font-size:24px; }
  .ticket-top{ flex-direction:column; align-items:flex-start; }
}


/* ══════════════════════════════════════════════════════════════
   FOOTER
══════════════════════════════════════════════════════════════ */
.qt-footer{background:#fff;border-top:1px solid rgba(15,23,42,.10);margin-top:48px}
.qt-footer-inner{max-width:1320px;margin:0 auto;padding:18px 20px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.qt-footer-seo{font-size:12px;color:var(--muted);line-height:1.6;max-width:600px}
.qt-footer-nav{display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:0}
.qt-footer-nav a{padding:4px 12px;text-decoration:none;color:#314152;font-size:12px;font-weight:600;position:relative;transition:color .2s}
.qt-footer-nav a:hover{color:#c00000}
.qt-footer-nav a+a::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:12px;background:rgba(15,23,42,.15)}
.qt-footer-copy{padding:4px 12px;font-size:12px;color:var(--muted);position:relative}
.qt-footer-copy::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:12px;background:rgba(15,23,42,.15)}



/* ══════════════════════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════════════════════ */
@media(max-width:980px){
  .grid,.prono-grid,.offer-grid{grid-template-columns:1fr}
  .hero-headline{font-size:30px}
}

@media(max-width:680px){
  .hero{padding:36px 0 28px}
  .container{padding:0 16px}
  .block{padding:20px}
  .info-list{grid-template-columns:1fr}
  .ift-score{font-size:44px}
  .hero-trust{flex-direction:column;gap:10px}
}

/* ── FIX HERO ── */
.hero {
  width:100%; max-width:100%;
  overflow-x:hidden; box-sizing:border-box;
}
.hero .container { max-width:100%; overflow:hidden; }
.hero-sub { box-sizing:border-box; }
.hero-headline { word-break:break-word; overflow-wrap:break-word; }

/* ── FIX TABLEAU ── */
.table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; max-width:100%; }

/* ── RESPONSIVE MOBILE ── */
@media(max-width:640px){
  .hero-headline { font-size:24px; }
  .hero-sub, .hero-badge { max-width:100%; white-space:normal; }
  .hero .btn { width:100%; text-align:center; }
  .hero { padding:24px 0 16px; }
  .table { min-width:500px; }
  .table th, .table td { padding:8px; font-size:12px; }
  .tickets-grid { grid-template-columns:1fr; }
  .prono-grid { grid-template-columns:1fr; gap:6px; padding:8px; }
  .abo-prono-grid { grid-template-columns:1fr; }
  .bloc-abonnement .of-grid { grid-template-columns:1fr; }
  .container { padding:0 8px; }
  .block { padding:14px; border-radius:14px; }
  .site-shell { padding:8px !important; }
  .grid { display:flex; flex-direction:column; gap:16px; }
  .cta-block { padding: 24px 14px; }
  .cta-block .convertforms,
  .cta-block form { max-width: 100% !important; }
  
  /* ── Template TCK Joomla ── */
  .tck-wrapper { padding: 0 !important; }
  .tck-container { padding: 0 !important; }
  .tck-container.inner { padding: 0 !important; }
  #maincontent { padding: 0 !important; }
  .maincontent { padding: 0 !important; }
  .inner.clearfix { padding: 0 !important; }
  .site-shell { padding: 8px !important; }
  
  /* ── Wrappers Joomla ── */
  #sp-main-body { padding:0 !important; }
  .sp-column { padding:0 !important; }
  .item-page { padding:0 !important; margin:0 !important; }
  .blog-featured { padding:0 !important; margin:0 !important; }
  #sp-content { padding:0 8px !important; }
  .container-fluid { padding:0 8px !important; }

  .tck-wrapper,
  .tck-container,
  .tck-container.inner,
  #maincontent,
  .maincontent,
  .inner.clearfix,
  .tck-article,
  .tck-article-body,
  .com-content-article__body,
  .item-page {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  /* ── Prono cards ── */
  .abo-prono-card { flex-direction:column !important; align-items:center !important; text-align:center !important; padding:10px 16px !important; gap:6px !important; }
  .abo-prono-icon { width:32px !important; height:32px !important; margin-bottom:0 !important; }
  .abo-prono-icon svg { width:16px !important; height:16px !important; }
  .abo-prono-label { font-size:13px !important; margin-bottom:4px !important; }
  .prono-values { justify-content:center !important; gap:6px !important; }
  .ball { width:38px !important; height:38px !important; font-size:16px !important; }
    
  .cta-block button,
  .cta-block input[type="submit"],
  .cta-block .cf-btn {min-width: 0 !important; width: auto !important; max-width: 100% !important; padding: 14px 20px !important;}
 
  .arrivee-grid {grid-template-columns: repeat(5, 1fr) !important; gap: 6px !important;}
  .arrivee-card {padding: 8px 4px !important; min-height: 60px !important; border-radius: 10px !important;}
  .horse-num {width: 38px !important; height: 38px !important; min-width: 38px !important; min-height: 38px !important; font-size: 16px !important;}
}


/* ── FIX GRID MOBILE ── */
.grid { width: 100%;  min-width: 0;}
.grid > .block { min-width: 0; width: 100%; box-sizing: border-box;}

@media(max-width:980px){
  .grid {
    grid-template-columns: 1fr;
    width: 100%;
  }
}
  
/* ── FIX TURNSTILE ── */
.cf-turnstile,
.cf-turnstile iframe,
[data-cf-turnstile],
[data-cf-turnstile] iframe { max-width: 100% !important;  width: 100% !important;}

.cta-block iframe,
.convertforms iframe,
.cf-form-wrap iframe { max-width: 100% !important;  width: 100% !important;}
.cta-block .cf-turnstile { overflow: hidden;  max-width: 100%;}

@media (max-width: 640px) {
  .cf-turnstile {
    transform: scale(0.9);
    transform-origin: left center;
  }
}

