/* RULEZZ_PUBLIC_MOBILE_NAV_SHARED_V1 — une seule navigation sur toutes les pages.
   templates/header.php est la source unique du menu de l'accueil.
   L'assistant conserve uniquement son contenu et ses commandes de partie. */
@media (max-width:900px) {
  body.rz-public.pluginHost.rzm-mobile-v1 {
    --rzm-ink:#eff8ff;
    --rzm-line:#1b5680;
    --rzm-bg:#06172c;
    --rzm-panel:#0a294b;
    --rzm-accent:#0ee0cd;
    display:flex!important;
    flex-direction:column!important;
    box-sizing:border-box!important;
    min-width:0!important;
    min-height:100dvh!important;
    padding:0!important;
    overflow-x:clip!important;
  }
  /* Conserver le header, le menu déroulant et le footer publics, comme à l'accueil. */
  body.rz-public.pluginHost.rzm-mobile-v1 > header.rz-shared-head {
    display:grid!important;
    flex:0 0 auto!important;
  }
  body.rz-public.pluginHost.rzm-mobile-v1 > .rz52-mobileMenu[hidden] {
    display:none!important;
  }
  body.rz-public.pluginHost.rzm-mobile-v1 > main.pluginHostMain {
    flex:1 0 auto!important;
    align-self:stretch!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
  body.rz-public.pluginHost.rzm-mobile-v1 .gamePluginFrame {
    min-height:240px!important;
    overflow:hidden!important;
  }
  body.rz-public.pluginHost.rzm-mobile-v1 > .rz-social-block,
  body.rz-public.pluginHost.rzm-mobile-v1 > footer.rz-footer {
    display:block!important;
    flex:0 0 auto!important;
  }
  body.rz-public.pluginHost.rzm-mobile-v1 > footer.rz-footer {margin-top:auto!important;}
  /* Un seul défilement vertical pour l'hôte ; pas de recentrage artificiel au changement d'onglet. */
  html:has(> body.rzm-mobile-v1) {
    scroll-behavior:auto!important;
    overflow-y:auto!important;
    scroll-padding-top:12px!important;
    scroll-padding-bottom:18px!important;
  }
  body.rzm-mobile-v1 {overscroll-behavior-y:auto!important;}
  body.rz-public.pluginHost.rzm-mobile-v1 :is(
    #rzuxAssistantShell,.rzux-hero,.rzux-tabs,.rzux-main-panel,
    .rzux-full-card,#rzCanonicalRules,main.pluginHostMain
  ) {scroll-margin-top:12px;scroll-margin-bottom:18px;}
  /* Confirmation propre à la partie, conservée indépendamment de la navigation. */
  body.rzm-mobile-v1 .rzm-game-confirm-layer:not([hidden]){position:fixed!important;inset:0!important;z-index:2147483000!important;display:grid!important;place-items:center!important;padding:calc(18px + env(safe-area-inset-top,0px)) 16px calc(18px + env(safe-area-inset-bottom,0px))!important;background:rgba(2,12,30,.76)!important;box-sizing:border-box!important;}
  body.rzm-mobile-v1 .rzm-game-confirm-dialog{width:min(420px,100%)!important;padding:23px!important;border:1px solid #6383ac!important;border-radius:18px!important;background:#0b2447!important;color:#f2f7ff!important;box-shadow:0 24px 70px rgba(0,0,0,.42)!important;}
  body.rzm-mobile-v1 .rzm-game-confirm-dialog :is(h2,p){color:#f2f7ff!important;margin:0 0 14px!important;line-height:1.5!important;}
  body.rzm-mobile-v1 .rzm-game-confirm-dialog h2{font-size:21px!important;}
  body.rzm-mobile-v1 .rzm-game-confirm-actions{display:flex!important;gap:12px!important;flex-wrap:wrap!important;}
  body.rzm-mobile-v1 .rzm-game-confirm-actions button{flex:1 1 130px!important;min-height:48px!important;border:1px solid #a7c4e4!important;border-radius:11px!important;padding:10px!important;font-size:14px!important;font-weight:800!important;background:#20466f!important;color:#f2f7ff!important;}
  body.rzm-mobile-v1 .rzm-game-confirm-actions .rzm-game-confirm-accept{background:#912e50!important;border-color:#ed8fad!important;}
  body.rzm-mobile-v1 .rzm-game-confirm-actions button:focus-visible{outline:3px solid #78dfe6!important;outline-offset:3px!important;}
}

/* Règles, scores et infos : panneaux fluides, aperçus repliables sur mobile. */
@media (max-width:900px) {
  body.rzm-mobile-v1 .rzux-tip-body,
  body.rzm-mobile-v1 .rzux-accordion-body,
  body.rzm-mobile-v1 #rzuxRulesPanel .rzux-accordion-body{
    max-height:none!important;height:auto!important;overflow-y:visible!important;
  }
  body.rzm-mobile-v1 #rzuxPreviews{min-width:0;max-height:none!important;overflow:visible!important;}
  body.rzm-mobile-v1 .rzm-preview-details{
    min-width:0;margin:10px 0 0;border:1px solid var(--rzm-line,#245e89);
    border-radius:13px;background:var(--rzm-panel,#0a294b);color:var(--rzm-ink,#f1f8ff);
  }
  body.rzm-mobile-v1 .rzm-preview-details>summary{
    min-height:50px;display:flex;align-items:center;gap:12px;cursor:pointer;
    padding:13px 16px;list-style:none;font-weight:800;font-size:14px;
    line-height:1.3;color:var(--rzm-ink,#f1f8ff);
  }
  body.rzm-mobile-v1 .rzm-preview-details>summary::-webkit-details-marker{display:none}
  body.rzm-mobile-v1 .rzm-preview-details>summary::before{content:'▸';font-size:15px;color:var(--rzm-accent,#0ee0cd)}
  body.rzm-mobile-v1 .rzm-preview-details[open]>summary::before{content:'▾'}
  body.rzm-mobile-v1 .rzm-preview-details[open]>summary{border-bottom:1px solid var(--rzm-line,#245e89)}
  body.rzm-mobile-v1 .rzm-preview-details:not([open])>#rzuxPreviews{display:none!important}
  body.rzm-mobile-v1 .rzm-preview-details>#rzuxPreviews{padding:12px;gap:10px!important;}
  body.rzm-mobile-v1:not([data-rzux-view="play"]) .rzm-preview-details{display:none!important}
  body.rzm-mobile-v1 .rzm-preview-details>summary:focus-visible{outline:2px solid var(--rzm-accent,#0ee0cd);outline-offset:3px}
}

/* RULEZZ MOBILE RULES — masquer le pavé Classement mondial uniquement dans l'onglet Règles.
   Le module de classement reste inchangé dans Scores / Classement et sur ordinateur.
   La navigation du front utilise data-rzux-view ; aria-expanded couvre le rendu historique. */
@media (max-width:900px) {
  body.rzm-mobile-v1[data-rzux-view="rules"] #rzUnifiedRankIntro,
  body.rzm-mobile-v1[data-rzux-view="rules"] #rzRankingRoot,
  body.rzm-mobile-v1:has(#hostRules[aria-expanded="true"]) #rzUnifiedRankIntro,
  body.rzm-mobile-v1:has(#hostRules[aria-expanded="true"]) #rzRankingRoot {
    display:none!important;
  }
}
