/* noma-crea front — design tokens */
:root{
  --nc-duree: .6s;
  --nc-delai: 0s;
  --nc-easing: cubic-bezier(.2,.7,.2,1);
  --nc-distance: 40px;
  --nc-accent: #2563eb;
  --nc-rayon: .5rem;
}
@media (prefers-reduced-motion: reduce){
  :root{ --nc-duree: .001s; --nc-distance: 0px; }
}

/* noma-crea front — base / reboot léger (compatible Bootstrap, faible spécificité :
   un theme.css chargé après peut tout surcharger). Permet de retirer Bootstrap sans casser la mise en page. */
*, *::before, *::after{ box-sizing: border-box; }
html{ -webkit-text-size-adjust:100%; -webkit-tap-highlight-color:transparent; }
body{ margin:0; font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-size:.9rem; font-weight:400; line-height:1.5; color:#212529; background-color:#fff; -webkit-font-smoothing:antialiased; }
h1,h2,h3,h4,h5,h6{ margin-top:0; margin-bottom:.5rem; font-weight:500; line-height:1.2; }
p{ margin-top:0; margin-bottom:1rem; }
ul,ol,dl{ margin-top:0; margin-bottom:1rem; }
hr{ margin:1rem 0; color:inherit; border:0; border-top:1px solid; opacity:.25; }
a{ color:var(--nc-accent,#2563eb); text-decoration:none; }
a:not([href]){ color:inherit; text-decoration:none; }
img,svg{ vertical-align:middle; }
img{ max-width:100%; height:auto; }
button,input,optgroup,select,textarea{ margin:0; font-family:inherit; font-size:inherit; line-height:inherit; }
button,[type="button"],[type="submit"]{ cursor:pointer; -webkit-appearance:button; }
button{ background:none; border:0; }

/* Boutons generiques compatibles Bootstrap, sans dependance.
   Les couleurs suivent les variables --nc-c-* et les etats reprennent l'esprit
   de l'ancien admin : zoom au survol, teinte hover/active dediee. */
.btn{
  --nc-btn-color: var(--text, var(--nc-c-body, #212529));
  --nc-btn-bg: var(--panel, transparent);
  --nc-btn-border: var(--border, rgba(0, 0, 0, .12));
  --nc-btn-hover-color: var(--nc-btn-color);
  --nc-btn-hover-bg: var(--accent-pale, rgba(0, 0, 0, .045));
  --nc-btn-hover-border: var(--nc-btn-border);
  --nc-btn-active-color: var(--nc-btn-hover-color);
  --nc-btn-active-bg: var(--accent-mist, rgba(0, 0, 0, .08));
  --nc-btn-active-border: var(--nc-btn-hover-border);
  --nc-btn-hover-scale: 1.1;
  --nc-btn-active-scale: .97;
  display:inline-flex; align-items:center; justify-content:center; gap:.45rem;
  min-height:32px; padding:0 .8125rem;
  border:1px solid var(--nc-btn-border); border-radius:var(--nc-btn-radius, 7px);
  background:var(--nc-btn-bg); color:var(--nc-btn-color);
  font:inherit; font-size:13px; font-weight:600; line-height:1.3;
  text-align:center; text-decoration:none; vertical-align:middle; white-space:nowrap;
  cursor:pointer; user-select:none; transform-origin:center;
  transition:transform .14s ease, background-color .14s ease, border-color .14s ease, color .14s ease, box-shadow .14s ease, filter .14s ease;
}
.btn:hover{
  transform:scale(var(--nc-btn-hover-scale));
  color:var(--nc-btn-hover-color);
  background:var(--nc-btn-hover-bg);
  border-color:var(--nc-btn-hover-border);
}
.btn:active,
.btn.active,
.btn.show{
  transform:scale(var(--nc-btn-active-scale));
  color:var(--nc-btn-active-color);
  background:var(--nc-btn-active-bg);
  border-color:var(--nc-btn-active-border);
}
.btn:focus-visible{
  outline:0;
  box-shadow:0 0 0 3px color-mix(in srgb, var(--nc-btn-hover-bg) 45%, transparent);
}
.btn:disabled,
.btn.disabled,
fieldset:disabled .btn,
.btn[aria-disabled="true"]{
  pointer-events:none; cursor:default; opacity:.65; transform:none; box-shadow:none;
}
.btn .sfs{ flex:0 0 auto; }
.btn-xs{ min-height:28px; padding:0 .625rem; font-size:12px; }
.btn-sm{ min-height:28px; padding:0 .625rem; font-size:12px; }
.btn-xxs{ min-height:0; height:auto; padding:2px 8px; gap:3px; font-size:12px; line-height:1.3; }
.btn-lg{ min-height:40px; padding:0 1rem; font-size:15px; }
.btn-rounded{ border-radius:999px; }

.btn-primary{
  --nc-btn-color: var(--nc-btn-primary-color, #fff);
  --nc-btn-bg: var(--nc-c-primary, var(--nc-accent, #2563eb));
  --nc-btn-border: transparent;
  --nc-btn-hover-color: var(--nc-btn-primary-color, #fff);
  --nc-btn-hover-bg: color-mix(in srgb, var(--nc-c-primary, var(--nc-accent, #2563eb)) 85%, #000);
  --nc-btn-hover-border: transparent;
  --nc-btn-active-color: var(--nc-btn-primary-color, #fff);
  --nc-btn-active-bg: color-mix(in srgb, var(--nc-c-primary, var(--nc-accent, #2563eb)) 78%, #000);
  --nc-btn-active-border: transparent;
}
.btn-secondary,
.btn-warning,
.btn-light{
  --nc-btn-color: #333333;
  --nc-btn-hover-color: #333333;
  --nc-btn-active-color: #333333;
}
.btn-secondary{
  --nc-btn-bg: var(--nc-c-secondary, #b6b6b6);
  --nc-btn-border: var(--nc-c-secondary, #b6b6b6);
  --nc-btn-hover-bg: color-mix(in srgb, var(--nc-c-secondary, #b6b6b6) 86%, #fff);
  --nc-btn-hover-border: color-mix(in srgb, var(--nc-c-secondary, #b6b6b6) 90%, #fff);
  --nc-btn-active-bg: color-mix(in srgb, var(--nc-c-secondary, #b6b6b6) 80%, #fff);
  --nc-btn-active-border: color-mix(in srgb, var(--nc-c-secondary, #b6b6b6) 88%, #fff);
}
.btn-success{
  --nc-btn-color: #fff;
  --nc-btn-bg: var(--nc-c-success, #78bd5d);
  --nc-btn-border: var(--nc-c-success, #78bd5d);
  --nc-btn-hover-color: #fff;
  --nc-btn-hover-bg: color-mix(in srgb, var(--nc-c-success, #78bd5d) 86%, #fff);
  --nc-btn-hover-border: color-mix(in srgb, var(--nc-c-success, #78bd5d) 90%, #fff);
  --nc-btn-active-color: #fff;
  --nc-btn-active-bg: color-mix(in srgb, var(--nc-c-success, #78bd5d) 80%, #fff);
  --nc-btn-active-border: color-mix(in srgb, var(--nc-c-success, #78bd5d) 88%, #fff);
}
.btn-info{
  --nc-btn-color: #fff;
  --nc-btn-bg: var(--nc-c-info, #59c4e4);
  --nc-btn-border: var(--nc-c-info, #59c4e4);
  --nc-btn-hover-color: #fff;
  --nc-btn-hover-bg: color-mix(in srgb, var(--nc-c-info, #59c4e4) 86%, #fff);
  --nc-btn-hover-border: color-mix(in srgb, var(--nc-c-info, #59c4e4) 90%, #fff);
  --nc-btn-active-color: #fff;
  --nc-btn-active-bg: color-mix(in srgb, var(--nc-c-info, #59c4e4) 80%, #fff);
  --nc-btn-active-border: color-mix(in srgb, var(--nc-c-info, #59c4e4) 88%, #fff);
}
.btn-warning{
  --nc-btn-bg: var(--nc-c-warning, #f4ab43);
  --nc-btn-border: var(--nc-c-warning, #f4ab43);
  --nc-btn-hover-bg: color-mix(in srgb, var(--nc-c-warning, #f4ab43) 86%, #fff);
  --nc-btn-hover-border: color-mix(in srgb, var(--nc-c-warning, #f4ab43) 90%, #fff);
  --nc-btn-active-bg: color-mix(in srgb, var(--nc-c-warning, #f4ab43) 80%, #fff);
  --nc-btn-active-border: color-mix(in srgb, var(--nc-c-warning, #f4ab43) 88%, #fff);
}
.btn-danger{
  --nc-btn-color: #fff;
  --nc-btn-bg: var(--nc-c-danger, #e46050);
  --nc-btn-border: var(--nc-c-danger, #e46050);
  --nc-btn-hover-color: #fff;
  --nc-btn-hover-bg: color-mix(in srgb, var(--nc-c-danger, #e46050) 85%, #000);
  --nc-btn-hover-border: color-mix(in srgb, var(--nc-c-danger, #e46050) 80%, #000);
  --nc-btn-active-color: #fff;
  --nc-btn-active-bg: color-mix(in srgb, var(--nc-c-danger, #e46050) 78%, #000);
  --nc-btn-active-border: color-mix(in srgb, var(--nc-c-danger, #e46050) 74%, #000);
}
.btn-dark{
  --nc-btn-color:#fff;
  --nc-btn-bg:var(--nc-c-dark, #2d374b);
  --nc-btn-border:var(--nc-c-dark, #2d374b);
  --nc-btn-hover-color:#fff;
  --nc-btn-hover-bg:color-mix(in srgb, var(--nc-c-dark, #2d374b) 84%, #fff);
  --nc-btn-hover-border:color-mix(in srgb, var(--nc-c-dark, #2d374b) 90%, #fff);
  --nc-btn-active-color:#fff;
  --nc-btn-active-bg:color-mix(in srgb, var(--nc-c-dark, #2d374b) 76%, #fff);
}
.btn-light{
  --nc-btn-bg: var(--nc-c-light, #f5f7fa);
  --nc-btn-border: var(--nc-c-light, #f5f7fa);
  --nc-btn-hover-bg: color-mix(in srgb, var(--nc-c-light, #f5f7fa) 85%, #000);
  --nc-btn-hover-border: color-mix(in srgb, var(--nc-c-light, #f5f7fa) 80%, #000);
  --nc-btn-active-bg: color-mix(in srgb, var(--nc-c-light, #f5f7fa) 74%, #000);
  --nc-btn-active-border: color-mix(in srgb, var(--nc-c-light, #f5f7fa) 70%, #000);
}
.btn-default{
  --nc-btn-bg: var(--panel, #fff);
  --nc-btn-border: var(--border, rgba(0,0,0,.12));
}
.btn-transparent{
  --nc-btn-bg: transparent;
  --nc-btn-border: transparent;
  --nc-btn-hover-bg: rgba(127, 127, 127, .14);
  --nc-btn-active-bg: rgba(127, 127, 127, .22);
}
.btn-link{
  --nc-btn-bg: transparent;
  --nc-btn-border: transparent;
  --nc-btn-color: var(--nc-accent, #2563eb);
  --nc-btn-hover-color: var(--nc-accent, #2563eb);
  --nc-btn-hover-bg: transparent;
  --nc-btn-active-bg: transparent;
  min-height:0; padding:0; border-radius:0; text-decoration:none;
}
.btn-link:hover{ text-decoration:underline; }
.btn-outline-primary,
.btn-outline-secondary,
.btn-outline-success,
.btn-outline-info,
.btn-outline-warning,
.btn-outline-danger,
.btn-outline-light,
.btn-outline-dark{
  background:transparent;
}
.btn-outline-primary{ --nc-btn-color:var(--nc-c-primary, var(--nc-accent, #2563eb)); --nc-btn-border:var(--nc-c-primary, var(--nc-accent, #2563eb)); }
.btn-outline-secondary{ --nc-btn-color:var(--nc-c-secondary, #b6b6b6); --nc-btn-border:var(--nc-c-secondary, #b6b6b6); }
.btn-outline-success{ --nc-btn-color:var(--nc-c-success, #78bd5d); --nc-btn-border:var(--nc-c-success, #78bd5d); }
.btn-outline-info{ --nc-btn-color:var(--nc-c-info, #59c4e4); --nc-btn-border:var(--nc-c-info, #59c4e4); }
.btn-outline-warning{ --nc-btn-color:var(--nc-c-warning, #f4ab43); --nc-btn-border:var(--nc-c-warning, #f4ab43); }
.btn-outline-danger{ --nc-btn-color:var(--nc-c-danger, #e46050); --nc-btn-border:var(--nc-c-danger, #e46050); }
.btn-outline-light{ --nc-btn-color:var(--nc-c-light, #f5f7fa); --nc-btn-border:var(--nc-c-light, #f5f7fa); }
.btn-outline-dark{ --nc-btn-color:var(--nc-c-dark, #2d374b); --nc-btn-border:var(--nc-c-dark, #2d374b); }
.btn-outline-primary:hover,
.btn-outline-secondary:hover,
.btn-outline-success:hover,
.btn-outline-info:hover,
.btn-outline-warning:hover,
.btn-outline-danger:hover,
.btn-outline-light:hover,
.btn-outline-dark:hover{
  color:var(--nc-btn-hover-color, #fff);
  background:var(--nc-btn-border);
}
@media (prefers-reduced-motion: reduce){
  .btn{ transition:background-color .01ms, border-color .01ms, color .01ms; }
  .btn:hover,
  .btn:active,
  .btn.active,
  .btn.show{ transform:none; }
}
table{ border-collapse:collapse; }
:focus-visible{ outline:2px solid var(--nc-accent,#2563eb); outline-offset:2px; }

/* garde-fou : un élément nc- (composant) a toujours box-sizing border-box */
[class^="nc-"], [class*=" nc-"]{ box-sizing: border-box; }

.nc-navbar{ position:sticky; top:0; left:0; right:0; z-index:1000; width:100%; box-sizing:border-box;
  --nc-navbar-fond:#fff; --nc-navbar-encre:#111;
  transition: background-color var(--nc-duree) var(--nc-easing), color var(--nc-duree) var(--nc-easing), padding var(--nc-duree) var(--nc-easing), height var(--nc-duree) var(--nc-easing), box-shadow var(--nc-duree) var(--nc-easing), transform var(--nc-duree) var(--nc-easing); will-change: background-color, padding, box-shadow, transform; }

/* Mode survol : la navbar passe PAR-DESSUS le contenu (le hero remonte dessous).
   Prévoir assez d'espace en haut du 1er bloc pour ne pas masquer son contenu. */
.nc-navbar[data-nc-survol]{ position:fixed; }

/* Etat initial (non scrolle) : scope sur :not(.nc-plein) pour qu'une fois nc-plein posé rien ne le contredise */
.nc-navbar:not(.nc-plein)[data-nc-effet="couleur"],
.nc-navbar:not(.nc-plein)[data-nc-effet="multi"]{ background-color:transparent; box-shadow:none; }
.nc-navbar:not(.nc-plein)[data-nc-effet="ombre"]{ box-shadow:none; }
.nc-navbar:not(.nc-plein)[data-nc-effet="padding"],
.nc-navbar:not(.nc-plein)[data-nc-effet="multi"]{ padding-top:1.6rem; padding-bottom:1.6rem; }
.nc-navbar:not(.nc-plein)[data-nc-effet="hauteur"]{ height:5rem; }

/* Etat plein (scrolle au-dela du seuil) — fond/encre paramétrables via --nc-navbar-fond / --nc-navbar-encre */
.nc-navbar.nc-plein[data-nc-effet="couleur"],
.nc-navbar.nc-plein[data-nc-effet="multi"]{ background-color:var(--nc-navbar-fond); color:var(--nc-navbar-encre); }
.nc-navbar.nc-plein[data-nc-effet="ombre"],
.nc-navbar.nc-plein[data-nc-effet="couleur"],
.nc-navbar.nc-plein[data-nc-effet="multi"]{ box-shadow:0 .5rem 1.5rem rgba(0,0,0,.12); }
.nc-navbar.nc-plein[data-nc-effet="padding"],
.nc-navbar.nc-plein[data-nc-effet="multi"]{ padding-top:.6rem; padding-bottom:.6rem; }
.nc-navbar.nc-plein[data-nc-effet="hauteur"]{ height:3.5rem; }

/* Inverse : texte + liens CLAIRS tant qu'on est au top (navbar transparente sur un hero foncé),
   puis encre normale une fois la navbar pleine. */
.nc-navbar[data-nc-inverse]:not(.nc-plein),
.nc-navbar[data-nc-inverse]:not(.nc-plein) a{ color:#fff; }
.nc-navbar[data-nc-inverse].nc-plein,
.nc-navbar[data-nc-inverse].nc-plein a{ color:var(--nc-navbar-encre); }

/* Helpers : afficher un élément seulement au top, ou seulement une fois plein
   (ex : logo blanc au top, logo couleur au scroll). */
.nc-navbar.nc-plein .nc-au-top{ display:none; }
.nc-navbar:not(.nc-plein) .nc-au-plein{ display:none; }

/* Padding horizontal par défaut */
.nc-navbar{ padding-left:1.5rem; padding-right:1.5rem; }

/* Mode cacher : glisse hors écran vers le haut en descendant */
.nc-navbar.nc-cache{ transform:translateY(-110%); }

@media (prefers-reduced-motion: reduce){
  .nc-navbar{ transition:none !important; transform:none !important; }
  .nc-navbar.nc-cache{ transform:none !important; }
}

html.nc-sombre{--nc-page-fond:#11161d;--nc-page-texte:#e7ecf2;--nc-page-fond-2:#1b232e;--nc-accent:#7eb6f0;color-scheme:dark}
html.nc-sombre,html.nc-sombre body{background:var(--nc-page-fond,#11161d);color:var(--nc-page-texte,#e7ecf2)}
.nc-bascule-theme{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid currentColor;border-radius:var(--nc-rayon,50%);background:transparent;color:inherit;cursor:pointer;line-height:1;transition:background var(--nc-duree,.25s) var(--nc-easing,ease),transform var(--nc-duree,.25s) var(--nc-easing,ease),color var(--nc-duree,.25s) var(--nc-easing,ease)}
.nc-bascule-theme:hover{background:rgba(127,127,127,.15)}
.nc-bascule-theme:focus-visible{outline:3px solid var(--nc-accent,#2b6cb0);outline-offset:2px}
.nc-bascule-theme:active{transform:scale(.92)}
.nc-bascule-theme svg{width:22px;height:22px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.nc-bascule-theme .nc-bascule-theme__lune{display:none}
.nc-bascule-theme .nc-bascule-theme__soleil{display:block}
html.nc-sombre .nc-bascule-theme .nc-bascule-theme__soleil{display:none}
html.nc-sombre .nc-bascule-theme .nc-bascule-theme__lune{display:block}
@media (prefers-reduced-motion: reduce){.nc-bascule-theme{transition:color .01ms}.nc-bascule-theme:active{transform:none}}

.nc-bouton{ position: relative; display: inline-flex; align-items: center; justify-content: center; gap:.5rem; padding:.7em 1.4em; border:2px solid var(--nc-accent); border-radius: var(--nc-rayon); background: var(--nc-accent); color:#fff; font: inherit; cursor: pointer; overflow: hidden; text-decoration:none; transition: background var(--nc-duree) var(--nc-easing), color var(--nc-duree) var(--nc-easing), transform var(--nc-duree) var(--nc-easing), box-shadow var(--nc-duree) var(--nc-easing); }
.nc-bouton > *{ position: relative; z-index:1; }

.nc-bouton[data-nc-style="remplir"]:hover{ filter: brightness(1.1); transform: translateY(-2px); box-shadow:0 .5rem 1.2rem rgba(0,0,0,.2); }

.nc-bouton[data-nc-style="contour"]{ background: transparent; color: var(--nc-accent); }
.nc-bouton[data-nc-style="contour"]:hover{ background: var(--nc-accent); color:#fff; }

.nc-bouton[data-nc-style="souligner"]{ background: transparent; border-color: transparent; color: var(--nc-accent); border-radius:0; padding:.4em .2em; }
.nc-bouton[data-nc-style="souligner"]::after{ content:""; position:absolute; left:0; bottom:0; height:2px; width:100%; background: var(--nc-accent); transform: scaleX(0); transform-origin: left center; transition: transform var(--nc-duree) var(--nc-easing); }
.nc-bouton[data-nc-style="souligner"]:hover::after{ transform: scaleX(1); }

.nc-bouton[data-nc-style="glisser"]{ background: transparent; color: var(--nc-accent); }
.nc-bouton[data-nc-style="glisser"]::before{ content:""; position:absolute; inset:0; background: var(--nc-accent); transform: translateX(-101%); transition: transform var(--nc-duree) var(--nc-easing); z-index:0; }
.nc-bouton[data-nc-style="glisser"]:hover{ color:#fff; }
.nc-bouton[data-nc-style="glisser"]:hover::before{ transform: translateX(0); }

.nc-bouton-onde{ position:absolute; border-radius:50%; background: rgba(255,255,255,.55); transform: scale(0); animation: nc-bouton-ripple var(--nc-bouton-onde-duree, 600ms) var(--nc-easing); pointer-events:none; z-index:2; }
.nc-bouton[data-nc-style="contour"] .nc-bouton-onde,
.nc-bouton[data-nc-style="souligner"] .nc-bouton-onde,
.nc-bouton[data-nc-style="glisser"] .nc-bouton-onde{ background: rgba(37,99,235,.25); }
@keyframes nc-bouton-ripple{ to{ transform: scale(2.6); opacity:0; } }

@media (prefers-reduced-motion: reduce){
 .nc-bouton, .nc-bouton::before, .nc-bouton::after{ transition: background var(--nc-duree) var(--nc-easing), color var(--nc-duree) var(--nc-easing) !important; }
 .nc-bouton:hover{ transform:none !important; }
 .nc-bouton[data-nc-style="glisser"]::before{ transform:none; opacity:0; }
 .nc-bouton[data-nc-style="glisser"]:hover::before{ opacity:1; }
 .nc-bouton[data-nc-style="souligner"]::after{ transform: scaleX(1); opacity:0; }
 .nc-bouton[data-nc-style="souligner"]:hover::after{ opacity:1; }
 .nc-bouton-onde{ display:none; }
}

/* noma-crea front — nc-reveal */
.nc-reveal{
  transition: opacity var(--nc-duree) var(--nc-easing) var(--nc-delai),
              transform var(--nc-duree) var(--nc-easing) var(--nc-delai),
              clip-path var(--nc-duree) var(--nc-easing) var(--nc-delai);
  will-change: opacity, transform;
}

/* État caché : appliqué tant que .nc-in est absent. Une fois .nc-in posé, AUCUNE
   de ces règles ne s'applique → l'élément revient à opacity:1 / transform:none /
   clip-path:none (valeurs par défaut). Pas de bataille de spécificité. */
.nc-reveal:not(.nc-in){ opacity: 0; }

/* effet par défaut (aucun data-nc-effet) = fondu pur (juste opacity) */

.nc-reveal:not(.nc-in)[data-nc-effet="glissement"][data-nc-direction="bas"]{ transform: translateY(var(--nc-distance)); }
.nc-reveal:not(.nc-in)[data-nc-effet="glissement"][data-nc-direction="haut"]{ transform: translateY(calc(-1 * var(--nc-distance))); }
.nc-reveal:not(.nc-in)[data-nc-effet="glissement"][data-nc-direction="gauche"]{ transform: translateX(calc(-1 * var(--nc-distance))); }
.nc-reveal:not(.nc-in)[data-nc-effet="glissement"][data-nc-direction="droite"]{ transform: translateX(var(--nc-distance)); }
/* glissement sans direction explicite : depuis le bas */
.nc-reveal:not(.nc-in)[data-nc-effet="glissement"]:not([data-nc-direction]){ transform: translateY(var(--nc-distance)); }

.nc-reveal:not(.nc-in)[data-nc-effet="zoom"]{ transform: scale(.85); }
.nc-reveal:not(.nc-in)[data-nc-effet="rotation"]{ transform: perspective(800px) rotateX(28deg); transform-origin: 50% 100%; }

.nc-reveal:not(.nc-in)[data-nc-effet="clip"]{ clip-path: inset(0 0 100% 0); }
.nc-reveal:not(.nc-in)[data-nc-effet="clip"][data-nc-direction="haut"]{ clip-path: inset(100% 0 0 0); }
.nc-reveal:not(.nc-in)[data-nc-effet="clip"][data-nc-direction="gauche"]{ clip-path: inset(0 100% 0 0); }
.nc-reveal:not(.nc-in)[data-nc-effet="clip"][data-nc-direction="droite"]{ clip-path: inset(0 0 0 100%); }

.nc-reveal[data-nc-effet="rebond"]{ transition-timing-function: cubic-bezier(.34,1.56,.64,1); }
.nc-reveal:not(.nc-in)[data-nc-effet="rebond"]{ transform: translateY(var(--nc-distance)); }

@media (prefers-reduced-motion: reduce){
  .nc-reveal{ opacity: 1 !important; transform: none !important; clip-path: none !important; transition: none !important; }
}

/* noma-crea front — nc-compteur */
.nc-compteur{ font-variant-numeric: tabular-nums; }

.nc-lightbox-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:rgba(10,10,12,.92);opacity:0;visibility:hidden;transition:opacity var(--nc-duree) var(--nc-easing),visibility var(--nc-duree) var(--nc-easing);-webkit-user-select:none;user-select:none}
.nc-lightbox-overlay[data-nc-overlay="transparent"]{background:rgba(10,10,12,.4)}
.nc-lightbox-overlay[data-nc-overlay="semi"]{background:rgba(10,10,12,.7)}
.nc-lightbox-overlay[data-nc-overlay="sombre"]{background:rgba(8,8,10,.97)}
.nc-lightbox-overlay.nc-ouvert{opacity:1;visibility:visible}
.nc-lightbox-scene{position:relative;max-width:92vw;max-height:86vh;display:flex;flex-direction:column;align-items:center;gap:.75rem}
.nc-lightbox-cadre{position:relative;display:flex;align-items:center;justify-content:center;max-width:92vw;max-height:78vh}
.nc-lightbox-img{display:block;max-width:92vw;max-height:78vh;width:auto;height:auto;border-radius:var(--nc-rayon);box-shadow:0 30px 80px -20px rgba(0,0,0,.7);background:#222;transition:opacity var(--nc-duree) var(--nc-easing),transform var(--nc-duree) var(--nc-easing)}
.nc-lightbox-overlay:not(.nc-anime) .nc-lightbox-img{transition:none}
.nc-lightbox-overlay[data-nc-transition="fade"] .nc-lightbox-img.nc-sort{opacity:0}
.nc-lightbox-overlay[data-nc-transition="zoom"] .nc-lightbox-img.nc-sort{opacity:0;transform:scale(.9)}
.nc-lightbox-overlay[data-nc-transition="slide"] .nc-lightbox-img.nc-sort{opacity:0;transform:translateX(var(--nc-sens,40px))}
.nc-lightbox-legende{color:rgba(255,255,255,.85);font-size:.9rem;line-height:1.3;text-align:center;max-width:80vw;min-height:1.2em}
.nc-lightbox-fermer,.nc-lightbox-prec,.nc-lightbox-suiv{position:absolute;z-index:2;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;font-size:22px;line-height:1;transition:background .2s,transform .2s}
.nc-lightbox-fermer:hover,.nc-lightbox-prec:hover,.nc-lightbox-suiv:hover{background:rgba(255,255,255,.28)}
.nc-lightbox-fermer:focus-visible,.nc-lightbox-prec:focus-visible,.nc-lightbox-suiv:focus-visible{outline:2px solid #fff;outline-offset:2px}
.nc-lightbox-fermer{top:-54px;right:0}
.nc-lightbox-prec{left:-58px;top:50%;transform:translateY(-50%)}
.nc-lightbox-suiv{right:-58px;top:50%;transform:translateY(-50%)}
.nc-lightbox-prec:hover{transform:translateY(-50%) scale(1.08)}
.nc-lightbox-suiv:hover{transform:translateY(-50%) scale(1.08)}
.nc-lightbox-overlay[data-nc-navigation="dots"] .nc-lightbox-prec,.nc-lightbox-overlay[data-nc-navigation="dots"] .nc-lightbox-suiv,.nc-lightbox-overlay[data-nc-navigation="aucune"] .nc-lightbox-prec,.nc-lightbox-overlay[data-nc-navigation="aucune"] .nc-lightbox-suiv{display:none}
.nc-lightbox-dots{display:flex;gap:.4rem;justify-content:center;flex-wrap:wrap}
.nc-lightbox-overlay[data-nc-navigation="fleches"] .nc-lightbox-dots,.nc-lightbox-overlay[data-nc-navigation="aucune"] .nc-lightbox-dots{display:none}
.nc-lightbox-dot{width:9px;height:9px;border-radius:999px;border:0;padding:0;background:rgba(255,255,255,.3);cursor:pointer;transition:background .2s,transform .2s}
.nc-lightbox-dot.nc-actif{background:#fff;transform:scale(1.25)}
.nc-lightbox-dot:focus-visible{outline:2px solid #fff;outline-offset:2px}
img.nc-lightbox,a.nc-lightbox{cursor:zoom-in}
@media (prefers-reduced-motion: reduce){.nc-lightbox-overlay,.nc-lightbox-img{transition:opacity .15s linear!important}.nc-lightbox-img.nc-sort{transform:none!important}}

.nc-trace [data-nc-path], .nc-trace path, .nc-trace line, .nc-trace polyline, .nc-trace circle, .nc-trace rect{ --nc-tr-duree:1.4s; transition:stroke-dashoffset var(--nc-tr-duree) var(--nc-easing); }
.nc-trace:not(.nc-in) [data-nc-path], .nc-trace:not(.nc-in) path, .nc-trace:not(.nc-in) line, .nc-trace:not(.nc-in) polyline, .nc-trace:not(.nc-in) circle, .nc-trace:not(.nc-in) rect{ stroke-dashoffset:var(--nc-tr-len, 1000); }
.nc-trace.nc-in [data-nc-path], .nc-trace.nc-in path, .nc-trace.nc-in line, .nc-trace.nc-in polyline, .nc-trace.nc-in circle, .nc-trace.nc-in rect{ stroke-dashoffset:0; }
@media (prefers-reduced-motion: reduce){ .nc-trace [data-nc-path], .nc-trace path, .nc-trace line, .nc-trace polyline, .nc-trace circle, .nc-trace rect{ transition:none !important; stroke-dashoffset:0 !important; } }

.nc-barre-progression-scroll{ position:fixed; left:0; right:0; height:4px; z-index:1100; pointer-events:none; background:transparent; }
.nc-barre-progression-scroll[data-nc-position="haut"]{ top:0; }
.nc-barre-progression-scroll[data-nc-position="bas"]{ bottom:0; }
.nc-barre-progression-scroll .nc-jauge{ height:100%; width:100%; transform-origin:left center; transform:scaleX(var(--nc-progres, 0)); background:var(--nc-accent); transition: transform .1s linear; will-change:transform; }
@media (prefers-reduced-motion: reduce){
  .nc-barre-progression-scroll .nc-jauge{ transition:none !important; }
}

.nc-retour-haut{position:fixed;bottom:24px;z-index:9990;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:none;border-radius:var(--nc-rayon,50%);background:var(--nc-accent,#2b6cb0);color:#fff;cursor:pointer;font-size:20px;line-height:1;box-shadow:0 4px 14px rgba(0,0,0,.25);opacity:0;visibility:hidden;transform:translateY(16px) scale(.85);transition:opacity var(--nc-duree,.3s) var(--nc-easing,ease),transform var(--nc-duree,.3s) var(--nc-easing,ease),visibility var(--nc-duree,.3s)}
.nc-retour-haut[data-nc-position=droite]{right:24px}
.nc-retour-haut[data-nc-position=gauche]{left:24px}
.nc-retour-haut:not([data-nc-position]){right:24px}
.nc-retour-haut.nc-visible{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.nc-retour-haut:hover{background:var(--nc-accent,#2b6cb0);filter:brightness(1.1)}
.nc-retour-haut:focus-visible{outline:3px solid var(--nc-accent,#2b6cb0);outline-offset:3px}
.nc-retour-haut svg{width:22px;height:22px;display:block;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
@media (prefers-reduced-motion: reduce){.nc-retour-haut{transition:opacity .01ms,visibility .01ms;transform:none}.nc-retour-haut.nc-visible{transform:none}}
