/**
 * ATMOSPHÈRE V2 — chaque royaume habite sa page : fond du royaume derrière tout, particules
 * (neige, lucioles, braises, bulles, sable, cristaux, pollen, étincelles, poussière), liserés teintés,
 * séparateurs d'or, seuil cinématique piloté par le scroll quand il n'y a pas de séquence, boucle
 * vidéo optionnelle (assets/video/realms/<slug>-loop.webm|mp4). Dépend de site-v2.css.
 *
 * @package SamRelaxe
 * @version 11.5.0
 */

/* ── Le fond du royaume : son visuel, flouté, sous toute la page ── */
.sr2-realm-bg { position: fixed; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; background: var(--void); }
.sr2-realm-bg img { width: 100%; height: 100%; object-fit: cover; filter: blur(46px) saturate(1.15) brightness(.42); transform: scale(1.12); }
.sr2-realm-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(2, 10, 14, .3) 0%, rgba(2, 10, 14, .74) 42%, rgba(2, 10, 14, .92) 100%), radial-gradient(ellipse 70% 50% at 50% 0%, color-mix(in srgb, var(--c, var(--gold)) 16%, transparent) 0%, transparent 70%); }
body.sr-monde-v2, body.sr-video-v2 { background: var(--void); }
/* Les sections laissent passer le fond (avant : aplats opaques) */
.sr-monde-v2 .sr2-lore { background: linear-gradient(to bottom, transparent, rgba(2, 10, 14, .82) 22svh); }
.sr-monde-v2 .sr2-world.is-lite + .sr2-lore, .sr-monde-v2 .sr2-world.is-mobile + .sr2-lore { background: transparent; }
.sr-video-v2 .sr2-video::before { display: none; }

/* ── Les particules : un calque fixe, au-dessus du fond, sous les panneaux ── */
.sr2-atmo { position: fixed; inset: 0; z-index: 1; pointer-events: none; mix-blend-mode: screen; opacity: .95; }
.sr2-atmo[hidden] { display: none; }
body.sr2-lock .sr2-atmo { opacity: .3; }
.sr-monde-v2 .sr2-world__stage { z-index: 2; }
.sr-monde-v2 .sr2-lore, .sr-monde-v2 .sr2-amb, .sr-monde-v2 .sr2-writ, .sr-monde-v2 .sr2-others, .sr-video-v2 .sr2-stage, .sr-video-v2 .sr2-vbody, .sr-video-v2 .sr2-vrail { position: relative; z-index: 2; }

/* ── Liserés teintés par le royaume ── */
.sr-monde-v2 .sr2-facts, .sr-monde-v2 .sr2-narr, .sr-monde-v2 .sr2-guardian-card,
.sr-video-v2 .sr2-vfacts, .sr-video-v2 .sr2-guardian, .sr-video-v2 .sr2-player, .sr-video-v2 .sr2-after-play {
  border-color: color-mix(in srgb, var(--c, var(--gold)) 30%, var(--sr2-hair-soft));
  box-shadow: 0 24px 70px rgba(2, 10, 14, .55), inset 0 1px 0 color-mix(in srgb, var(--c, var(--gold)) 24%, transparent);
}
.sr-video-v2 .sr2-player { box-shadow: 0 30px 80px rgba(0, 0, 0, .6), 0 0 0 1px color-mix(in srgb, var(--c, var(--gold)) 35%, var(--gold-15)), 0 0 70px color-mix(in srgb, var(--c, var(--gold)) 22%, transparent); }
.sr-monde-v2 .sr2-eyebrow::before, .sr-video-v2 .sr2-eyebrow::before { background: linear-gradient(90deg, var(--gold), color-mix(in srgb, var(--c, var(--gold)) 70%, var(--gold))); }
.sr-monde-v2 .sr2-vcard__thumb, .sr-video-v2 .sr2-vcard__thumb { box-shadow: var(--shadow-sm), inset 0 0 0 1px color-mix(in srgb, var(--c, var(--gold)) 18%, var(--sr2-hair-soft)); }
.sr-monde-v2 .sr2-vcard:hover .sr2-vcard__thumb, .sr-video-v2 .sr2-vcard:hover .sr2-vcard__thumb { box-shadow: 0 18px 40px rgba(2, 10, 14, .6), inset 0 0 0 1px color-mix(in srgb, var(--c, var(--gold)) 55%, var(--gold-35)); }

/* ── Seuil sans séquence : cadrage vivant piloté par le scroll (desktop) ── */
.sr2-world.is-kb { height: 185svh; }
.sr2-world.is-mobile.is-kb { height: 150svh; }
.sr2-world.is-kb .sr2-world__poster img { transform: scale(calc(1.02 + var(--p, 0) * .34)) translateY(calc(var(--p, 0) * -6%)); transform-origin: 50% 44%; filter: brightness(calc(1 - var(--p, 0) * .28)) saturate(calc(1 + var(--p, 0) * .12)); will-change: transform; }
.sr2-world.is-kb .sr2-world__stage::after { height: calc(30svh + var(--p, 0) * 30svh); }
.sr2-world.is-kb .sr2-world__stage::before { opacity: calc(1 - var(--p, 0) * .5); }
.sr2-world__rays { position: absolute; inset: 0; z-index: 1; pointer-events: none; mix-blend-mode: screen; opacity: calc(.3 + var(--p, 0) * .5); background: radial-gradient(ellipse 55% 65% at 50% 8%, color-mix(in srgb, var(--c, var(--gold)) 26%, transparent) 0%, transparent 62%), linear-gradient(to bottom, color-mix(in srgb, var(--c, var(--gold)) 10%, transparent), transparent 40%); transition: opacity .2s linear; }
.sr2-world.is-kb .sr2-world__copy { transform: translateY(calc(var(--p, 0) * -90px)); opacity: calc(1 - var(--p, 0) * 3.2); pointer-events: var(--pe, auto); }
.sr2-world.is-kb .sr2-world__cue { opacity: calc(1 - var(--p, 0) * 10); }
/* Boucle vidéo optionnelle du royaume */
.sr2-world__loop { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 1.4s var(--sr2-ease); }
.sr2-world__loop.is-ready { opacity: 1; }
.sr2-world.is-kb .sr2-world__loop { transform: scale(calc(1.02 + var(--p, 0) * .1)); transform-origin: 50% 42%; }

/* ── Page vidéo : parallaxe douce de l'affiche ── */
.sr-video-v2 .sr2-player__poster img { transform: translateY(calc(var(--py, 0) * 1px)) scale(1.08); }

@media (max-width: 768px) {
  .sr2-realm-bg img { filter: blur(28px) saturate(1.1) brightness(.4); }
  .sr2-sep { width: calc(100% - 2 * var(--container-padding)); }
}
@media (prefers-reduced-motion: reduce) {
  .sr2-atmo { display: none; }
  .sr2-world.is-kb, .sr2-world.is-mobile.is-kb { height: 100svh; }
  .sr2-world.is-kb .sr2-world__poster img, .sr2-world.is-kb .sr2-world__copy, .sr-video-v2 .sr2-player__poster img { transform: none; filter: none; opacity: 1; }
}
