/* Cadres culinaires continus, propres à chaque page. Les sources opaques
   sont peintes entières dans deux marges indépendantes, sans découpe haut/bas.
   Leur hauteur suit la fenêtre, jamais la longueur du document ; largeur et
   hauteur gardent le ratio de l'image. Aucun raccord ni répétition verticale.
   Le papier commun reste présent derrière le contenu et le footer. */
@media (min-width:1024px) {
  /* Toutes les vues du Carnet, y compris l’aperçu catalogue sans #rm,
     doivent être peintes au-dessus du fond opaque ajouté après la coque.
     pointer-events:none protège les clics, mais pas la visibilité. */
  .page-carnet .shell {z-index:1;}

  .page-home {
    --cf-fond: url('./fonds/fond-home-20260910.webp');
    --cf-fond-name: home; --fond-side: 260px;
  }
  .public-site[data-background="creme"] {
    --cf-fond: url('./fonds/fond-creme-20260910.webp');
    --cf-fond-name: creme; --fond-side: 280px;
  }
  .page-battle {
    --cf-fond: url('./fonds/fond-lanceur-20260910.webp');
    --cf-fond-name: lanceur; --fond-side: 310px;
  }
  .page-battle:has(#view > .arena) {
    --cf-fond: url('./fonds/fond-duel-20260910.webp');
    --cf-fond-name: duel; --fond-side: 330px;
  }
  .page-battle:has(.shell[data-phase="result"]) {
    --cf-fond: url('./fonds/fond-champion-20260910.webp');
    --cf-fond-name: champion; --fond-side: 285px;
  }
  .page-carnet {
    --cf-fond: url('./fonds/fond-carnet-20260910.webp');
    --cf-fond-name: carnet; --fond-side: 370px;
  }
  .page-carnet:has(#view > .scroll[data-filtre="tops"]) {
    --cf-fond: url('./fonds/fond-tops-20260910.webp');
    --cf-fond-name: tops; --fond-side: 290px;
  }
  .page-carnet:has(#f-nom) {
    --cf-fond: url('./fonds/fond-ajout-20260910.webp');
    --cf-fond-name: ajout; --fond-side: 280px;
  }
  .page-carnet:has(#view > .scroll > .sheet):not(:has(#f-nom)), .public-site[data-background="fiche"], .page-partage {
    --cf-fond: url('./fonds/fond-fiche-20260910.webp');
    --cf-fond-name: fiche; --fond-side: 340px;
  }
  .page-espace {
    --cf-fond: url('./fonds/fond-espace-20260910.webp');
    --cf-fond-name: espace; --fond-side: 330px;
  }
  /* Même source fournie pour blog et articles ; fenêtres de marge sans étirement. */
  .public-site:is([data-background="blog"],[data-background="article"]) {
    --cf-fond:url('./finitions-20260911/background-blog.webp');
    --cf-fond-name:blog; --fond-side:190px;
  }
  .public-site[data-background="landing"] {
    --cf-fond: url('./fonds/fond-landing-20260910.webp');
    --cf-fond-name: landing; --fond-side: 175px;
  }
  .page-fruits.page-election {
    --cf-fond: url('./fonds/fond-fruits-20260910.webp');
    --cf-fond-name: fruits; --fond-side: 440px;
  }
  .page-legumes.page-election {
    --cf-fond: url('./fonds/fond-legumes-20260910.webp');
    --cf-fond-name: legumes; --fond-side: 480px;
  }

  :root { --cf-fond-papier:#fefaf0; }
  :root :is(body.page-home,body.page-battle,body.page-election,body.page-carnet,body.page-espace,body.public-site:where([data-background]),body.page-partage) { background-color:var(--cf-fond-papier); }
  :root :is(body.page-home,body.page-battle,body.page-election,body.page-carnet,body.page-espace,body.public-site:where([data-background]),body.page-partage) > :is(.cf-scenery,.public-decor,.fond-partage) {
    display:block!important;position:fixed;inset:0;width:100%;height:100dvh;
    overflow:hidden;contain:paint;pointer-events:none!important;user-select:none;
    z-index:0;opacity:1;mix-blend-mode:normal;clip-path:none;
    background:var(--cf-fond-papier);
  }
  /* Retirer toutes les anciennes couches, y compris les morceaux de pied. */
  :root :is(body.page-home,body.page-battle,body.page-election,body.page-carnet,body.page-espace,body.public-site:where([data-background]),body.page-partage) > :is(.cf-scenery,.public-decor,.fond-partage)::before,
  :root :is(body.page-home,body.page-battle,body.page-election,body.page-carnet,body.page-espace,body.public-site:where([data-background]),body.page-partage) > :is(.cf-scenery,.public-decor,.fond-partage)::after,
  :root :is(body.page-home,body.page-battle,body.page-election,body.page-carnet,body.page-espace,body.public-site:where([data-background]),body.page-partage) > :is(.cf-scenery,.public-decor,.fond-partage) > :not(.sc-left,.sc-right,.decor-side),
  :root :is(body.page-home,body.page-battle,body.page-election,body.page-carnet,body.page-espace,body.public-site:where([data-background]),body.page-partage) :is(.sc-left,.sc-right,.decor-side) > *,
  :root :is(body.page-home,body.page-battle,body.page-election,body.page-carnet,body.page-espace,body.public-site:where([data-background]),body.page-partage) :is(.sc-left,.sc-right,.decor-side)::after {display:none!important;content:none!important;}
  :root :is(body.page-home,body.page-battle,body.page-election,body.page-carnet,body.page-espace,body.public-site:where([data-background]),body.page-partage) :is(.sc-left,.sc-right,.decor-side) {
    display:block;position:absolute;top:0;bottom:0;
    width:min(var(--cf-scene-margin),var(--fond-side));overflow:hidden;
    pointer-events:none!important;mix-blend-mode:normal;container-type:normal;
  }
  :root :is(body.page-home,body.page-battle,body.page-election,body.page-carnet,body.page-espace,body.public-site:where([data-background]),body.page-partage) :is(.sc-left,.decor-left) {
    left:0;right:auto;mask-image:linear-gradient(to right,#000 calc(100% - 12px),transparent);
  }
  :root :is(body.page-home,body.page-battle,body.page-election,body.page-carnet,body.page-espace,body.public-site:where([data-background]),body.page-partage) :is(.sc-right,.decor-right) {
    right:0;left:auto;mask-image:linear-gradient(to left,#000 calc(100% - 12px),transparent);
  }
  :root :is(body.page-home,body.page-battle,body.page-election,body.page-carnet,body.page-espace,body.public-site:where([data-background]),body.page-partage) :is(.sc-left,.sc-right,.decor-side)::before {
    content:'';display:block;position:absolute;inset:0;width:100%;height:100%;
    background-image:var(--cf-fond);background-repeat:no-repeat;
    background-size:auto 100%;mask-image:none;transform:none;
    pointer-events:none!important;
  }
  :root :is(body.page-home,body.page-battle,body.page-election,body.page-carnet,body.page-espace,body.public-site:where([data-background]),body.page-partage) :is(.sc-left,.decor-left)::before {background-position:left center;}
  :root :is(body.page-home,body.page-battle,body.page-election,body.page-carnet,body.page-espace,body.public-site:where([data-background]),body.page-partage) :is(.sc-right,.decor-right)::before {background-position:right center;}
  .page-partage main {position:relative;z-index:1;}
  /* Réserve existante de lecture derrière Louis pendant une élection. */
  @media (min-width:1201px) {
    .page-election:has(#view > .arena) .duel-louis {isolation:isolate;}
    .page-election:has(#view > .arena) .duel-louis::before {
      content:'';position:absolute;inset:-12px -4px;z-index:-1;pointer-events:none;
      background:radial-gradient(ellipse closest-side,var(--cf-fond-papier) 80%,transparent 100%);
    }
  }
}
/* Aucun changement du rendu ou de la navigation mobile. */
@media (max-width:1023px) {
  .public-site[data-background] > .public-decor {display:none;}
}
