/* ==========================================================================
   projection.css : mode projection UNIQUE de prof-prive.com
   Charge par /nav.js (comme /projection.js). Charte : #1E3A5F #EC5F2A #2DABCF
   Le mode ne s'active que si html.pp-projection est present, et jamais
   sous 700 px (smartphone) ni a l'impression.
   ========================================================================== */

/* ---- Bouton unique (hors du body : jamais affecte par le zoom) ---- */
#pp-proj-btn{position:fixed;right:16px;bottom:16px;z-index:2147483000;display:inline-flex;align-items:center;gap:8px;
  min-height:44px;padding:10px 18px;border:2px solid #fff;border-radius:26px;background:#1E3A5F;color:#fff;
  font:600 14px/1.1 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;cursor:pointer;
  box-shadow:0 6px 18px rgba(30,58,95,.35);-webkit-tap-highlight-color:transparent;touch-action:manipulation}
#pp-proj-btn:hover{background:#2B4F7F}
#pp-proj-btn:focus-visible{outline:3px solid #2DABCF;outline-offset:3px}
#pp-proj-btn kbd{font:700 12px/1 Inter,system-ui,sans-serif;background:rgba(255,255,255,.2);border-radius:5px;padding:3px 6px}
#pp-proj-btn[aria-pressed="true"]{background:#EC5F2A;opacity:.72}
#pp-proj-btn[aria-pressed="true"]:hover,#pp-proj-btn[aria-pressed="true"]:focus-visible{opacity:1}


/* ---- Tactile (iPad) : boutons discrets pour garder un maximum de surface visible ---- */
.pp-zbtn{display:none;position:fixed;bottom:12px;z-index:2147483000;width:44px;height:44px;border-radius:50%;
  border:2px solid #fff;background:#1E3A5F;color:#fff;font:700 15px/1 Inter,system-ui,-apple-system,sans-serif;
  opacity:.55;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;padding:0}
#pp-zm{right:128px}#pp-zp{right:76px}
html.pp-projection .pp-zbtn{display:block}
@media (pointer:coarse){
  #pp-proj-btn[aria-pressed="true"]{right:12px;bottom:12px;padding:10px 0;width:44px;justify-content:center;opacity:.55}
  #pp-proj-btn[aria-pressed="true"] .pp-pb-t,#pp-proj-btn[aria-pressed="true"] kbd,#pp-proj-btn:not([aria-pressed="true"]) kbd{display:none}
  #pp-proj-btn[aria-pressed="true"]:active,.pp-zbtn:active{opacity:1}
}

/* ---- Anciens boutons / barres de projection : toujours masques ---- */
#proj-fab,#proj-bar,#pj-progress,#pj-black,#pp-proj-btn:not(.pp-proj-own),.__ppzoom-btn,.__ppzoom-panel{display:none!important}

/* ---- Smartphone : pas de projection ---- */
@media (max-width:699px){#pp-proj-btn,.pp-zbtn{display:none!important}}
@media print{#pp-proj-btn,.pp-zbtn{display:none!important}}

@media screen and (min-width:700px){

/* ---- 1. On libere la hauteur : plus de nav, footer ni barres collantes ---- */
html.pp-projection .__pnav,html.pp-projection .__poverlay,html.pp-projection #__pcookie,
html.pp-projection .__pfooter,html.pp-projection body>footer,html.pp-projection #__phome,
html.pp-projection [class^="__p"],html.pp-projection [class*=" __p"],html.pp-projection [id^="__p"],
html.pp-projection header.site-header,html.pp-projection #sticky-cta,
html.pp-projection .course-nav,html.pp-projection .pp-cnav,html.pp-projection .tp-bar,
html.pp-projection .pp-crumb,html.pp-projection #rev-fab,
html.pp-projection .topbar,html.pp-projection .progress-bar-wrap,html.pp-projection .toolbar[role="region"],
html.pp-projection .back-home,html.pp-projection #score-bar,html.pp-projection #revision-toggle,
html.pp-projection body>nav,html.pp-projection body>.barre,html.pp-projection header:has(>nav.main-nav){display:none!important}
html.pp-projection,html.pp-projection body{scroll-padding-top:0!important}
html.pp-projection body{overflow-x:hidden}

/* ---- 2. Agrandissement : zoom CSS fixe par pp-projection.js (--pp-z) ---- */
html.pp-projection body{zoom:var(--pp-z,1.5);background:#fff;color:#0B1220;
  --text:#0B1220;--text2:#16212F;--text3:#2C3E50;--border:rgba(30,58,95,.4)}
html.pp-projection{scroll-behavior:auto!important}

/* ---- 3. Pleine largeur utile ---- */
html.pp-projection :is(.wrapper,.pp-main,.pp-wrap,.container,.page,main,article,.pp-hero-in,.hero-content,.hero p){
  max-width:none!important;width:auto!important}
html.pp-projection :is(.wrapper,.pp-main,.pp-wrap,.container,.page,main){
  margin-left:0!important;margin-right:0!important;padding-left:1.4rem!important;padding-right:1.4rem!important;
  padding-bottom:2rem!important}
html.pp-projection :is(.hero,.pp-hero,header.site){padding-top:1rem!important;padding-bottom:1.2rem!important;
  transform:none!important;opacity:1!important}
html.pp-projection .hero h1,html.pp-projection .pp-hero h1{font-size:clamp(26px,2.4vw,40px)!important}
html.pp-projection :is(.section,.pp-sec,main>section,main>.card){padding-top:14px!important;scroll-margin-top:0!important}

/* ---- 4. Lisibilite : contraste fort, mots cles en gras et en couleur ---- */
html.pp-projection :is(p,li,td,dd,dt,blockquote,figcaption,.qt,.qq):not(:is(.hero,.pp-hero,header.site) *){color:var(--text)}
html.pp-projection :is(p,li,td,dd,dt,blockquote,figcaption,.qt,.qq) :is(strong,b):not(:is(.hero,.pp-hero,header.site,th,.btn,button,.pj-sp) *){
  color:#1E3A5F;font-weight:800}
html.pp-projection :is(p,li,td,dd,dt,blockquote) em:not(:is(.hero,.pp-hero,header.site,th,.btn,button) *){color:#B8400F}
html.pp-projection :is(h2,h3,h4,.section-title,.exo-title){color:#1E3A5F}
html.pp-projection a:not(.btn):not([class*="btn"]){text-decoration-thickness:2px}
html.pp-projection :is(.correction,.qfb,.status){color:var(--text)}

/* ---- 5. Formules, schemas, images, tableaux : adaptes a la largeur ---- */
html.pp-projection :is(img,svg,video,canvas,iframe){max-width:100%}
html.pp-projection img,html.pp-projection video{height:auto}
html.pp-projection mjx-container[display]{max-width:100%;overflow-x:auto;overflow-y:hidden}
html.pp-projection :is(.tbl-wrap,.table-wrap){overflow-x:auto}
html.pp-projection table{max-width:100%}
html.pp-projection :is(th,td){padding:.55em .8em}
html.pp-projection pre,html.pp-projection .pp-py-code{max-width:100%;overflow-x:auto}

/* ---- 6. Zones plein ecran des animations (position:fixed dans un body zoome) ---- */
html.pp-projection .anim-wrap.full{inset:0;max-width:none}
}
