/* État d’attente partagé : le contenu arrive en une fois, la navigation reste disponible. */
.ds-is-loading{position:relative!important}
.ds-is-loading>:not(.ds-loading-layer){visibility:hidden!important;pointer-events:none!important}
.screen.ds-is-loading{height:calc(100dvh - 100px);min-height:300px;overflow:hidden;animation:none}
.ds-loading-layer{position:absolute;inset:0;min-height:220px;max-height:calc(100dvh - 100px);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;background:var(--cream,var(--bg,#faf7f2));z-index:10;visibility:visible!important;color:var(--muted,#7d8575)}
.ds-loading-layer.ds-loading-full{position:fixed;min-height:100dvh;max-height:none;z-index:9999}
.ds-loading-logo{width:64px;height:64px;overflow:visible}
.ds-loading-ring{transform-origin:60px 60px;animation:ds-logo-turn 1.15s linear infinite}
.ds-loading-caption{font:400 11px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.12em;text-align:center;margin:0;padding:0 18px}
.ds-load-failed>:not(.ds-load-error):not(.ds-loading-layer){display:none!important}
.ds-load-error{min-height:calc(100dvh - 120px);padding:50px 26px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center;font:14px/1.7 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink,#3a322b)}
.ds-load-error button{border:1px solid var(--line,#e4dcd1);background:var(--cream,#faf7f2);color:inherit;border-radius:24px;padding:12px 24px;font:inherit;cursor:pointer}
html.chargement body{visibility:hidden}
@keyframes ds-logo-turn{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.ds-loading-ring{animation:none}}
