/* Nodema : style « verre et relief » (chargé seulement quand le réglage est actif). */
.nd-glass { --ndg-solid: #13f5bb; --ndg-glass: #0b1660; --ndg-bleed: .85; }
svg.ndg { display: block; overflow: visible; fill: none; stroke: none; --ndg-g: var(--ndg-glass); }
.ndg-back .b, .ndg-bleed .b { fill: var(--ndg-solid); }
.ndg-back .bs, .ndg-bleed .bs { fill: none; stroke: var(--ndg-solid); stroke-width: 6; stroke-linecap: round; stroke-linejoin: round; }
.ndg-frost .f { fill: var(--ndg-g); }
.ndg-bleed { opacity: var(--ndg-bleed); }
.ndg-shine { opacity: .5; }
.ndg-detail .d { fill: #fff; }
.ndg-detail .ds { fill: none; stroke: #fff; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }

/* Cartes fonctionnalités : icône en verre, relief et bascule au survol */
.nd-glass .nodema-feature__icon { width: 58px; height: 58px; padding: 0; background: none !important; box-shadow: none !important; border-radius: 0; filter: drop-shadow(0 10px 12px rgba(2, 11, 66, .22)); }
.nd-glass .nodema-feature__icon svg.ndg { width: 100%; height: 100%; }
.nd-glass .nodema-feature.is-layout-row .nodema-feature__icon { width: 48px; height: 48px; }
.nd-glass .nodema-feature.is-tone-brique { --ndg-solid: #ff7a45; }
.nd-glass .has-ink-background-color .nodema-feature { --ndg-glass: #d3d7f0; }
.nd-glass .has-ink-background-color .nodema-feature .ndg-shine { opacity: .8; }
.nd-glass .has-ink-background-color .nodema-feature .ndg-detail .d { fill: #020b42; }
.nd-glass .has-ink-background-color .nodema-feature .ndg-detail .ds { stroke: #020b42; }
.nd-glass .has-ink-background-color .nodema-feature__icon { filter: drop-shadow(0 10px 16px rgba(0, 0, 0, .45)); }
.nd-glass .nodema-feature.is-layout-card { transition: transform .45s cubic-bezier(.2, .8, .2, 1), box-shadow .45s; }
.nd-glass .nodema-feature.is-layout-card { border-color: rgba(255, 255, 255, .9); box-shadow: 0 1px 0 #fff inset, 0 0 0 1px rgba(2, 11, 66, .05), 0 30px 50px -32px rgba(2, 11, 66, .32), 0 4px 12px -6px rgba(2, 11, 66, .06); }
.nd-glass .has-ink-background-color .nodema-feature.nodema-feature.is-layout-card { border-color: rgba(255, 255, 255, .1); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 30px 50px -30px rgba(0, 0, 0, .6); }
@media (hover: hover) { .nd-glass .nodema-feature.is-layout-card:hover { transform: perspective(1000px) rotateX(5deg) translateY(-6px); } }

/* Premier écran : objets en verre autour de l'aperçu */
.nd-glass .nd-sim--flux { position: relative; }
.nd-glass .nd-sim--flux .nd-flux { position: relative; z-index: 2; }
.nd-orbit { position: absolute; z-index: 3; width: 96px; height: 96px; pointer-events: none; filter: drop-shadow(0 18px 22px rgba(0, 0, 0, .45)); animation: nd-orbit 7s ease-in-out infinite; }
.nd-orbit svg { width: 100%; height: 100%; }
.nd-orbit.is-back { z-index: 1; filter: blur(1.5px) drop-shadow(0 14px 18px rgba(0, 0, 0, .4)); opacity: .9; }
.nd-orbit.is-light { --ndg-glass: #d3d7f0; }
.nd-orbit.is-light .ndg-detail .d { fill: #020b42; } .nd-orbit.is-light .ndg-detail .ds { stroke: #020b42; }
.nd-orbit.is-o1 { left: -58px; top: -46px; --r: -8deg; }
.nd-orbit.is-o2 { right: -46px; bottom: -54px; width: 104px; height: 104px; --r: 6deg; animation-delay: -2.5s; }
.nd-orbit.is-o3 { right: -34px; top: -40px; width: 70px; height: 70px; --r: 10deg; animation-delay: -4s; }
.nd-orbit.is-o4 { left: -40px; bottom: -30px; width: 78px; height: 78px; --r: -6deg; animation-delay: -1.2s; }
@keyframes nd-orbit { 0%, 100% { transform: translateY(0) rotate(var(--r, 0deg)); } 50% { transform: translateY(-10px) rotate(var(--r, 0deg)); } }
@media (max-width: 781px) {
  .nd-orbit.is-back { display: none; }
  .nd-orbit.is-o1 { left: auto; right: 14px; top: -34px; width: 64px; height: 64px; }
  .nd-orbit.is-o2 { right: auto; left: 10px; bottom: -30px; width: 64px; height: 64px; }
}
@media (prefers-reduced-motion: reduce) { .nd-orbit { animation: none; transform: rotate(var(--r, 0deg)); } }
