/* Footer commun et présence Mathia. Aucun habillage des jeux n'est modifié. */
.pm-standard-footer { font-family: Nunito, system-ui, sans-serif; font-size: 16px; line-height: 1.7; }
.pm-standard-footer footer { margin-top: 0; }
html body footer.pm-site-footer { background: #12365f; color: #e3edf7; border-top: 4px solid #e8b940; margin-top: 0; }
@media (max-width:1023px) { html body footer.pm-site-footer .copy { padding-bottom: 100px !important; } }
@layer pm-relief {
body .pm-mathia-slot[hidden] { display: none !important; }
body.mb-open .pm-mathia-present,
body:has(dialog[open]) .pm-mathia-present,
body:has(.jx-ov[style*="flex"]) .pm-mathia-present { visibility: hidden !important; }
@media (min-width: 1024px) {
  body .pm-mathia-slot {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    max-width: 1248px;
    min-height: 70px;
    margin: 8px auto 14px;
    padding: 0 24px;
    box-sizing: border-box;
  }
  html body .pm-mathia-slot > a.mathia-fab.pm-mathia-present {
    position: relative !important;
    z-index: auto !important;
    inset: auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: auto !important;
    height: auto !important;
    min-height: 64px;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 7px 16px 7px 8px !important;
    border: 2px solid #c7d8ec !important;
    border-radius: 20px !important;
    background: #fff7de !important;
    color: #153d80 !important;
    box-shadow: 0 3px 9px #153d8012 !important;
    text-decoration: none !important;
    animation: pm-mathia-idle 24s ease-in-out infinite !important;
    transform: none;
  }
  html body a.mathia-fab.pm-mathia-present > img {
    width: 48px !important;
    height: 54px !important;
    object-fit: contain !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    animation: none !important;
  }
  html body a.mathia-fab.pm-mathia-present > span {
    position: static !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    max-width: none !important;
    color: #153d80 !important;
    font: 800 14px/1.4 Nunito, system-ui, sans-serif !important;
    transform: none;
  }
  html body a.mathia-fab.pm-mathia-present small { display: block; margin-top: 3px; color: #41546d; font-size: 11px; font-weight: 700; }
  html body a.mathia-fab.pm-mathia-present:is(:hover,:focus-visible) { animation-play-state: paused !important; }
  html body a.mathia-fab.pm-mathia-present:focus-visible { outline: 3px solid #153d80 !important; outline-offset: 4px !important; }
  html body.pm-final footer .copy { padding-bottom: 17px !important; }
}
/* Téléphone et tablette étroite : uniquement la véritable mascotte cliquable. */
@media (max-width:1023px) {
  html body a.mathia-fab.pm-mathia-present {
    position: fixed !important;
    right: max(12px, env(safe-area-inset-right)) !important;
    bottom: max(12px, env(safe-area-inset-bottom)) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 64px !important;
    height: 72px !important;
    min-width: 64px !important;
    max-width: 64px !important;
    padding: 4px !important;
    gap: 0 !important;
    box-sizing: border-box !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: transparent !important;
    box-shadow: none !important;
    animation: pm-mathia-idle 24s ease-in-out infinite !important;
    transform: none;
  }
  html body a.mathia-fab.pm-mathia-present > span { display: none !important; }
  html body a.mathia-fab.pm-mathia-present > img {
    width: 54px !important;
    height: 62px !important;
    object-fit: contain !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    animation: none !important;
  }
  html body a.mathia-fab.pm-mathia-present:is(:hover,:focus-visible) { animation-play-state: paused !important; }
  html body a.mathia-fab.pm-mathia-present:focus-visible { outline: 3px solid #153d80 !important; outline-offset: 2px !important; }
}
@keyframes pm-mathia-idle {
  0%, 86%, 100% { transform: translateY(0); }
  89% { transform: translateY(-2px); }
  92% { transform: translateY(0); }
  94% { transform: translateY(-1px); }
  97% { transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  html body a.mathia-fab.pm-mathia-present.pm-mathia-present,
  html body a.mathia-fab.pm-mathia-present.pm-mathia-present > img { animation: none !important; transition: none !important; transform: none !important; }
}
@media print { body .pm-mathia-slot,html body a.mathia-fab.pm-mathia-present.pm-mathia-present { display: none !important; } }
}
/* Les pages CEB utilisent le même dialogue écrit de Mathia et de cookies. */
.cebm-page .warm-dialog { width: min(570px,calc(100vw - 32px)); max-height: calc(100dvh - 36px); overflow: auto; padding: 28px; border: 2px solid #153d80; border-radius: 24px; background: #fffef8; color: #153d80; font: 16px/1.65 Nunito,system-ui,sans-serif; }
.cebm-page .warm-dialog::backdrop { background: #102b4e80; }
.cebm-page .warm-dialog h2 { margin: 0 40px 18px 0; font-size: 26px; }
.cebm-page .warm-dialog p { margin: 12px 0; }
.cebm-page .warm-close { position: absolute; top: 12px; right: 12px; min-width: 44px; min-height: 44px; }
.cebm-page .warm-dialog-mathia { width: 78px; height: 90px; object-fit: contain; float: right; margin: 0 0 12px 14px; }

/* Les longs intitulés juridiques NL restent lisibles sur écran étroit. */
body.final-legal main { overflow-wrap: anywhere; hyphens: auto; }
