/* noma-crea front — genere 22071102 */
/* 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; }
/* noma-crea front — utilitaires compatibles Bootstrap 5 (noms exacts, CSS pur, zero dependance).
   NE PAS charger en plus du vrai Bootstrap (memes noms de classes). */
:root{
  --nc-c-primary: var(--nc-accent, #2563eb);
  --nc-c-secondary:#6c757d; --nc-c-success:#198754; --nc-c-danger:#dc3545;
  --nc-c-warning:#ffc107; --nc-c-info:#0dcaf0; --nc-c-light:#f8f9fa; --nc-c-dark:#212529;
  --nc-c-body:#212529; --nc-c-muted:#6c757d;
  --nc-gutter-x:1.5rem; --nc-gutter-y:0;
}
.container,.container-fluid{ width:100%; padding-right:calc(var(--nc-gutter-x)*.5); padding-left:calc(var(--nc-gutter-x)*.5); margin-right:auto; margin-left:auto; }
@media (min-width: 576px){ .container{ max-width:540px; } }
@media (min-width: 768px){ .container{ max-width:720px; } }
@media (min-width: 992px){ .container{ max-width:960px; } }
@media (min-width: 1200px){ .container{ max-width:1140px; } }
@media (min-width: 1400px){ .container{ max-width:1320px; } }
.row{ display:flex; flex-wrap:wrap; margin-top:calc(-1*var(--nc-gutter-y)); margin-right:calc(-.5*var(--nc-gutter-x)); margin-left:calc(-.5*var(--nc-gutter-x)); }
.row>*{ box-sizing:border-box; flex-shrink:0; width:100%; max-width:100%; padding-right:calc(var(--nc-gutter-x)*.5); padding-left:calc(var(--nc-gutter-x)*.5); margin-top:var(--nc-gutter-y); }
.col{ flex:1 0 0%; }
.row-cols-auto>*{ flex:0 0 auto; width:auto; }
.row-cols-1>*{ flex:0 0 auto; width:100%; }
.row-cols-2>*{ flex:0 0 auto; width:50%; }
.row-cols-3>*{ flex:0 0 auto; width:33.333333%; }
.row-cols-4>*{ flex:0 0 auto; width:25%; }
.row-cols-5>*{ flex:0 0 auto; width:20%; }
.row-cols-6>*{ flex:0 0 auto; width:16.666667%; }
.col-auto{ flex:0 0 auto; width:auto; }
.col-1{ flex:0 0 auto; width:8.33333333%; }
.col-2{ flex:0 0 auto; width:16.66666667%; }
.col-3{ flex:0 0 auto; width:25%; }
.col-4{ flex:0 0 auto; width:33.33333333%; }
.col-5{ flex:0 0 auto; width:41.66666667%; }
.col-6{ flex:0 0 auto; width:50%; }
.col-7{ flex:0 0 auto; width:58.33333333%; }
.col-8{ flex:0 0 auto; width:66.66666667%; }
.col-9{ flex:0 0 auto; width:75%; }
.col-10{ flex:0 0 auto; width:83.33333333%; }
.col-11{ flex:0 0 auto; width:91.66666667%; }
.col-12{ flex:0 0 auto; width:100%; }
.offset-0{ margin-left:0; }
.offset-1{ margin-left:8.33333333%; }
.offset-2{ margin-left:16.66666667%; }
.offset-3{ margin-left:25%; }
.offset-4{ margin-left:33.33333333%; }
.offset-5{ margin-left:41.66666667%; }
.offset-6{ margin-left:50%; }
.offset-7{ margin-left:58.33333333%; }
.offset-8{ margin-left:66.66666667%; }
.offset-9{ margin-left:75%; }
.offset-10{ margin-left:83.33333333%; }
.offset-11{ margin-left:91.66666667%; }
.g-0{ --nc-gutter-x:0; --nc-gutter-y:0; }
.gx-0{ --nc-gutter-x:0; }
.gy-0{ --nc-gutter-y:0; }
.g-1{ --nc-gutter-x:.25rem; --nc-gutter-y:.25rem; }
.gx-1{ --nc-gutter-x:.25rem; }
.gy-1{ --nc-gutter-y:.25rem; }
.g-2{ --nc-gutter-x:.5rem; --nc-gutter-y:.5rem; }
.gx-2{ --nc-gutter-x:.5rem; }
.gy-2{ --nc-gutter-y:.5rem; }
.g-3{ --nc-gutter-x:1rem; --nc-gutter-y:1rem; }
.gx-3{ --nc-gutter-x:1rem; }
.gy-3{ --nc-gutter-y:1rem; }
.g-4{ --nc-gutter-x:1.5rem; --nc-gutter-y:1.5rem; }
.gx-4{ --nc-gutter-x:1.5rem; }
.gy-4{ --nc-gutter-y:1.5rem; }
.g-5{ --nc-gutter-x:3rem; --nc-gutter-y:3rem; }
.gx-5{ --nc-gutter-x:3rem; }
.gy-5{ --nc-gutter-y:3rem; }
@media (min-width: 576px){
.col-sm{ flex:1 0 0%; }
.row-cols-sm-auto>*{ flex:0 0 auto; width:auto; }
.row-cols-sm-1>*{ flex:0 0 auto; width:100%; }
.row-cols-sm-2>*{ flex:0 0 auto; width:50%; }
.row-cols-sm-3>*{ flex:0 0 auto; width:33.333333%; }
.row-cols-sm-4>*{ flex:0 0 auto; width:25%; }
.row-cols-sm-5>*{ flex:0 0 auto; width:20%; }
.row-cols-sm-6>*{ flex:0 0 auto; width:16.666667%; }
.col-sm-auto{ flex:0 0 auto; width:auto; }
.col-sm-1{ flex:0 0 auto; width:8.33333333%; }
.col-sm-2{ flex:0 0 auto; width:16.66666667%; }
.col-sm-3{ flex:0 0 auto; width:25%; }
.col-sm-4{ flex:0 0 auto; width:33.33333333%; }
.col-sm-5{ flex:0 0 auto; width:41.66666667%; }
.col-sm-6{ flex:0 0 auto; width:50%; }
.col-sm-7{ flex:0 0 auto; width:58.33333333%; }
.col-sm-8{ flex:0 0 auto; width:66.66666667%; }
.col-sm-9{ flex:0 0 auto; width:75%; }
.col-sm-10{ flex:0 0 auto; width:83.33333333%; }
.col-sm-11{ flex:0 0 auto; width:91.66666667%; }
.col-sm-12{ flex:0 0 auto; width:100%; }
.offset-sm-0{ margin-left:0; }
.offset-sm-1{ margin-left:8.33333333%; }
.offset-sm-2{ margin-left:16.66666667%; }
.offset-sm-3{ margin-left:25%; }
.offset-sm-4{ margin-left:33.33333333%; }
.offset-sm-5{ margin-left:41.66666667%; }
.offset-sm-6{ margin-left:50%; }
.offset-sm-7{ margin-left:58.33333333%; }
.offset-sm-8{ margin-left:66.66666667%; }
.offset-sm-9{ margin-left:75%; }
.offset-sm-10{ margin-left:83.33333333%; }
.offset-sm-11{ margin-left:91.66666667%; }
.g-sm-0{ --nc-gutter-x:0; --nc-gutter-y:0; }
.gx-sm-0{ --nc-gutter-x:0; }
.gy-sm-0{ --nc-gutter-y:0; }
.g-sm-1{ --nc-gutter-x:.25rem; --nc-gutter-y:.25rem; }
.gx-sm-1{ --nc-gutter-x:.25rem; }
.gy-sm-1{ --nc-gutter-y:.25rem; }
.g-sm-2{ --nc-gutter-x:.5rem; --nc-gutter-y:.5rem; }
.gx-sm-2{ --nc-gutter-x:.5rem; }
.gy-sm-2{ --nc-gutter-y:.5rem; }
.g-sm-3{ --nc-gutter-x:1rem; --nc-gutter-y:1rem; }
.gx-sm-3{ --nc-gutter-x:1rem; }
.gy-sm-3{ --nc-gutter-y:1rem; }
.g-sm-4{ --nc-gutter-x:1.5rem; --nc-gutter-y:1.5rem; }
.gx-sm-4{ --nc-gutter-x:1.5rem; }
.gy-sm-4{ --nc-gutter-y:1.5rem; }
.g-sm-5{ --nc-gutter-x:3rem; --nc-gutter-y:3rem; }
.gx-sm-5{ --nc-gutter-x:3rem; }
.gy-sm-5{ --nc-gutter-y:3rem; }
}
@media (min-width: 768px){
.col-md{ flex:1 0 0%; }
.row-cols-md-auto>*{ flex:0 0 auto; width:auto; }
.row-cols-md-1>*{ flex:0 0 auto; width:100%; }
.row-cols-md-2>*{ flex:0 0 auto; width:50%; }
.row-cols-md-3>*{ flex:0 0 auto; width:33.333333%; }
.row-cols-md-4>*{ flex:0 0 auto; width:25%; }
.row-cols-md-5>*{ flex:0 0 auto; width:20%; }
.row-cols-md-6>*{ flex:0 0 auto; width:16.666667%; }
.col-md-auto{ flex:0 0 auto; width:auto; }
.col-md-1{ flex:0 0 auto; width:8.33333333%; }
.col-md-2{ flex:0 0 auto; width:16.66666667%; }
.col-md-3{ flex:0 0 auto; width:25%; }
.col-md-4{ flex:0 0 auto; width:33.33333333%; }
.col-md-5{ flex:0 0 auto; width:41.66666667%; }
.col-md-6{ flex:0 0 auto; width:50%; }
.col-md-7{ flex:0 0 auto; width:58.33333333%; }
.col-md-8{ flex:0 0 auto; width:66.66666667%; }
.col-md-9{ flex:0 0 auto; width:75%; }
.col-md-10{ flex:0 0 auto; width:83.33333333%; }
.col-md-11{ flex:0 0 auto; width:91.66666667%; }
.col-md-12{ flex:0 0 auto; width:100%; }
.offset-md-0{ margin-left:0; }
.offset-md-1{ margin-left:8.33333333%; }
.offset-md-2{ margin-left:16.66666667%; }
.offset-md-3{ margin-left:25%; }
.offset-md-4{ margin-left:33.33333333%; }
.offset-md-5{ margin-left:41.66666667%; }
.offset-md-6{ margin-left:50%; }
.offset-md-7{ margin-left:58.33333333%; }
.offset-md-8{ margin-left:66.66666667%; }
.offset-md-9{ margin-left:75%; }
.offset-md-10{ margin-left:83.33333333%; }
.offset-md-11{ margin-left:91.66666667%; }
.g-md-0{ --nc-gutter-x:0; --nc-gutter-y:0; }
.gx-md-0{ --nc-gutter-x:0; }
.gy-md-0{ --nc-gutter-y:0; }
.g-md-1{ --nc-gutter-x:.25rem; --nc-gutter-y:.25rem; }
.gx-md-1{ --nc-gutter-x:.25rem; }
.gy-md-1{ --nc-gutter-y:.25rem; }
.g-md-2{ --nc-gutter-x:.5rem; --nc-gutter-y:.5rem; }
.gx-md-2{ --nc-gutter-x:.5rem; }
.gy-md-2{ --nc-gutter-y:.5rem; }
.g-md-3{ --nc-gutter-x:1rem; --nc-gutter-y:1rem; }
.gx-md-3{ --nc-gutter-x:1rem; }
.gy-md-3{ --nc-gutter-y:1rem; }
.g-md-4{ --nc-gutter-x:1.5rem; --nc-gutter-y:1.5rem; }
.gx-md-4{ --nc-gutter-x:1.5rem; }
.gy-md-4{ --nc-gutter-y:1.5rem; }
.g-md-5{ --nc-gutter-x:3rem; --nc-gutter-y:3rem; }
.gx-md-5{ --nc-gutter-x:3rem; }
.gy-md-5{ --nc-gutter-y:3rem; }
}
@media (min-width: 992px){
.col-lg{ flex:1 0 0%; }
.row-cols-lg-auto>*{ flex:0 0 auto; width:auto; }
.row-cols-lg-1>*{ flex:0 0 auto; width:100%; }
.row-cols-lg-2>*{ flex:0 0 auto; width:50%; }
.row-cols-lg-3>*{ flex:0 0 auto; width:33.333333%; }
.row-cols-lg-4>*{ flex:0 0 auto; width:25%; }
.row-cols-lg-5>*{ flex:0 0 auto; width:20%; }
.row-cols-lg-6>*{ flex:0 0 auto; width:16.666667%; }
.col-lg-auto{ flex:0 0 auto; width:auto; }
.col-lg-1{ flex:0 0 auto; width:8.33333333%; }
.col-lg-2{ flex:0 0 auto; width:16.66666667%; }
.col-lg-3{ flex:0 0 auto; width:25%; }
.col-lg-4{ flex:0 0 auto; width:33.33333333%; }
.col-lg-5{ flex:0 0 auto; width:41.66666667%; }
.col-lg-6{ flex:0 0 auto; width:50%; }
.col-lg-7{ flex:0 0 auto; width:58.33333333%; }
.col-lg-8{ flex:0 0 auto; width:66.66666667%; }
.col-lg-9{ flex:0 0 auto; width:75%; }
.col-lg-10{ flex:0 0 auto; width:83.33333333%; }
.col-lg-11{ flex:0 0 auto; width:91.66666667%; }
.col-lg-12{ flex:0 0 auto; width:100%; }
.offset-lg-0{ margin-left:0; }
.offset-lg-1{ margin-left:8.33333333%; }
.offset-lg-2{ margin-left:16.66666667%; }
.offset-lg-3{ margin-left:25%; }
.offset-lg-4{ margin-left:33.33333333%; }
.offset-lg-5{ margin-left:41.66666667%; }
.offset-lg-6{ margin-left:50%; }
.offset-lg-7{ margin-left:58.33333333%; }
.offset-lg-8{ margin-left:66.66666667%; }
.offset-lg-9{ margin-left:75%; }
.offset-lg-10{ margin-left:83.33333333%; }
.offset-lg-11{ margin-left:91.66666667%; }
.g-lg-0{ --nc-gutter-x:0; --nc-gutter-y:0; }
.gx-lg-0{ --nc-gutter-x:0; }
.gy-lg-0{ --nc-gutter-y:0; }
.g-lg-1{ --nc-gutter-x:.25rem; --nc-gutter-y:.25rem; }
.gx-lg-1{ --nc-gutter-x:.25rem; }
.gy-lg-1{ --nc-gutter-y:.25rem; }
.g-lg-2{ --nc-gutter-x:.5rem; --nc-gutter-y:.5rem; }
.gx-lg-2{ --nc-gutter-x:.5rem; }
.gy-lg-2{ --nc-gutter-y:.5rem; }
.g-lg-3{ --nc-gutter-x:1rem; --nc-gutter-y:1rem; }
.gx-lg-3{ --nc-gutter-x:1rem; }
.gy-lg-3{ --nc-gutter-y:1rem; }
.g-lg-4{ --nc-gutter-x:1.5rem; --nc-gutter-y:1.5rem; }
.gx-lg-4{ --nc-gutter-x:1.5rem; }
.gy-lg-4{ --nc-gutter-y:1.5rem; }
.g-lg-5{ --nc-gutter-x:3rem; --nc-gutter-y:3rem; }
.gx-lg-5{ --nc-gutter-x:3rem; }
.gy-lg-5{ --nc-gutter-y:3rem; }
}
@media (min-width: 1200px){
.col-xl{ flex:1 0 0%; }
.row-cols-xl-auto>*{ flex:0 0 auto; width:auto; }
.row-cols-xl-1>*{ flex:0 0 auto; width:100%; }
.row-cols-xl-2>*{ flex:0 0 auto; width:50%; }
.row-cols-xl-3>*{ flex:0 0 auto; width:33.333333%; }
.row-cols-xl-4>*{ flex:0 0 auto; width:25%; }
.row-cols-xl-5>*{ flex:0 0 auto; width:20%; }
.row-cols-xl-6>*{ flex:0 0 auto; width:16.666667%; }
.col-xl-auto{ flex:0 0 auto; width:auto; }
.col-xl-1{ flex:0 0 auto; width:8.33333333%; }
.col-xl-2{ flex:0 0 auto; width:16.66666667%; }
.col-xl-3{ flex:0 0 auto; width:25%; }
.col-xl-4{ flex:0 0 auto; width:33.33333333%; }
.col-xl-5{ flex:0 0 auto; width:41.66666667%; }
.col-xl-6{ flex:0 0 auto; width:50%; }
.col-xl-7{ flex:0 0 auto; width:58.33333333%; }
.col-xl-8{ flex:0 0 auto; width:66.66666667%; }
.col-xl-9{ flex:0 0 auto; width:75%; }
.col-xl-10{ flex:0 0 auto; width:83.33333333%; }
.col-xl-11{ flex:0 0 auto; width:91.66666667%; }
.col-xl-12{ flex:0 0 auto; width:100%; }
.offset-xl-0{ margin-left:0; }
.offset-xl-1{ margin-left:8.33333333%; }
.offset-xl-2{ margin-left:16.66666667%; }
.offset-xl-3{ margin-left:25%; }
.offset-xl-4{ margin-left:33.33333333%; }
.offset-xl-5{ margin-left:41.66666667%; }
.offset-xl-6{ margin-left:50%; }
.offset-xl-7{ margin-left:58.33333333%; }
.offset-xl-8{ margin-left:66.66666667%; }
.offset-xl-9{ margin-left:75%; }
.offset-xl-10{ margin-left:83.33333333%; }
.offset-xl-11{ margin-left:91.66666667%; }
.g-xl-0{ --nc-gutter-x:0; --nc-gutter-y:0; }
.gx-xl-0{ --nc-gutter-x:0; }
.gy-xl-0{ --nc-gutter-y:0; }
.g-xl-1{ --nc-gutter-x:.25rem; --nc-gutter-y:.25rem; }
.gx-xl-1{ --nc-gutter-x:.25rem; }
.gy-xl-1{ --nc-gutter-y:.25rem; }
.g-xl-2{ --nc-gutter-x:.5rem; --nc-gutter-y:.5rem; }
.gx-xl-2{ --nc-gutter-x:.5rem; }
.gy-xl-2{ --nc-gutter-y:.5rem; }
.g-xl-3{ --nc-gutter-x:1rem; --nc-gutter-y:1rem; }
.gx-xl-3{ --nc-gutter-x:1rem; }
.gy-xl-3{ --nc-gutter-y:1rem; }
.g-xl-4{ --nc-gutter-x:1.5rem; --nc-gutter-y:1.5rem; }
.gx-xl-4{ --nc-gutter-x:1.5rem; }
.gy-xl-4{ --nc-gutter-y:1.5rem; }
.g-xl-5{ --nc-gutter-x:3rem; --nc-gutter-y:3rem; }
.gx-xl-5{ --nc-gutter-x:3rem; }
.gy-xl-5{ --nc-gutter-y:3rem; }
}
@media (min-width: 1400px){
.col-xxl{ flex:1 0 0%; }
.row-cols-xxl-auto>*{ flex:0 0 auto; width:auto; }
.row-cols-xxl-1>*{ flex:0 0 auto; width:100%; }
.row-cols-xxl-2>*{ flex:0 0 auto; width:50%; }
.row-cols-xxl-3>*{ flex:0 0 auto; width:33.333333%; }
.row-cols-xxl-4>*{ flex:0 0 auto; width:25%; }
.row-cols-xxl-5>*{ flex:0 0 auto; width:20%; }
.row-cols-xxl-6>*{ flex:0 0 auto; width:16.666667%; }
.col-xxl-auto{ flex:0 0 auto; width:auto; }
.col-xxl-1{ flex:0 0 auto; width:8.33333333%; }
.col-xxl-2{ flex:0 0 auto; width:16.66666667%; }
.col-xxl-3{ flex:0 0 auto; width:25%; }
.col-xxl-4{ flex:0 0 auto; width:33.33333333%; }
.col-xxl-5{ flex:0 0 auto; width:41.66666667%; }
.col-xxl-6{ flex:0 0 auto; width:50%; }
.col-xxl-7{ flex:0 0 auto; width:58.33333333%; }
.col-xxl-8{ flex:0 0 auto; width:66.66666667%; }
.col-xxl-9{ flex:0 0 auto; width:75%; }
.col-xxl-10{ flex:0 0 auto; width:83.33333333%; }
.col-xxl-11{ flex:0 0 auto; width:91.66666667%; }
.col-xxl-12{ flex:0 0 auto; width:100%; }
.offset-xxl-0{ margin-left:0; }
.offset-xxl-1{ margin-left:8.33333333%; }
.offset-xxl-2{ margin-left:16.66666667%; }
.offset-xxl-3{ margin-left:25%; }
.offset-xxl-4{ margin-left:33.33333333%; }
.offset-xxl-5{ margin-left:41.66666667%; }
.offset-xxl-6{ margin-left:50%; }
.offset-xxl-7{ margin-left:58.33333333%; }
.offset-xxl-8{ margin-left:66.66666667%; }
.offset-xxl-9{ margin-left:75%; }
.offset-xxl-10{ margin-left:83.33333333%; }
.offset-xxl-11{ margin-left:91.66666667%; }
.g-xxl-0{ --nc-gutter-x:0; --nc-gutter-y:0; }
.gx-xxl-0{ --nc-gutter-x:0; }
.gy-xxl-0{ --nc-gutter-y:0; }
.g-xxl-1{ --nc-gutter-x:.25rem; --nc-gutter-y:.25rem; }
.gx-xxl-1{ --nc-gutter-x:.25rem; }
.gy-xxl-1{ --nc-gutter-y:.25rem; }
.g-xxl-2{ --nc-gutter-x:.5rem; --nc-gutter-y:.5rem; }
.gx-xxl-2{ --nc-gutter-x:.5rem; }
.gy-xxl-2{ --nc-gutter-y:.5rem; }
.g-xxl-3{ --nc-gutter-x:1rem; --nc-gutter-y:1rem; }
.gx-xxl-3{ --nc-gutter-x:1rem; }
.gy-xxl-3{ --nc-gutter-y:1rem; }
.g-xxl-4{ --nc-gutter-x:1.5rem; --nc-gutter-y:1.5rem; }
.gx-xxl-4{ --nc-gutter-x:1.5rem; }
.gy-xxl-4{ --nc-gutter-y:1.5rem; }
.g-xxl-5{ --nc-gutter-x:3rem; --nc-gutter-y:3rem; }
.gx-xxl-5{ --nc-gutter-x:3rem; }
.gy-xxl-5{ --nc-gutter-y:3rem; }
}
.d-none{ display:none !important; }
.d-inline{ display:inline !important; }
.d-inline-block{ display:inline-block !important; }
.d-block{ display:block !important; }
.d-grid{ display:grid !important; }
.d-inline-grid{ display:inline-grid !important; }
.d-table{ display:table !important; }
.d-table-row{ display:table-row !important; }
.d-table-cell{ display:table-cell !important; }
.d-flex{ display:flex !important; }
.d-inline-flex{ display:inline-flex !important; }
@media (min-width: 576px){
.d-sm-none{ display:none !important; }
.d-sm-inline{ display:inline !important; }
.d-sm-inline-block{ display:inline-block !important; }
.d-sm-block{ display:block !important; }
.d-sm-grid{ display:grid !important; }
.d-sm-inline-grid{ display:inline-grid !important; }
.d-sm-table{ display:table !important; }
.d-sm-table-row{ display:table-row !important; }
.d-sm-table-cell{ display:table-cell !important; }
.d-sm-flex{ display:flex !important; }
.d-sm-inline-flex{ display:inline-flex !important; }
}
@media (min-width: 768px){
.d-md-none{ display:none !important; }
.d-md-inline{ display:inline !important; }
.d-md-inline-block{ display:inline-block !important; }
.d-md-block{ display:block !important; }
.d-md-grid{ display:grid !important; }
.d-md-inline-grid{ display:inline-grid !important; }
.d-md-table{ display:table !important; }
.d-md-table-row{ display:table-row !important; }
.d-md-table-cell{ display:table-cell !important; }
.d-md-flex{ display:flex !important; }
.d-md-inline-flex{ display:inline-flex !important; }
}
@media (min-width: 992px){
.d-lg-none{ display:none !important; }
.d-lg-inline{ display:inline !important; }
.d-lg-inline-block{ display:inline-block !important; }
.d-lg-block{ display:block !important; }
.d-lg-grid{ display:grid !important; }
.d-lg-inline-grid{ display:inline-grid !important; }
.d-lg-table{ display:table !important; }
.d-lg-table-row{ display:table-row !important; }
.d-lg-table-cell{ display:table-cell !important; }
.d-lg-flex{ display:flex !important; }
.d-lg-inline-flex{ display:inline-flex !important; }
}
@media (min-width: 1200px){
.d-xl-none{ display:none !important; }
.d-xl-inline{ display:inline !important; }
.d-xl-inline-block{ display:inline-block !important; }
.d-xl-block{ display:block !important; }
.d-xl-grid{ display:grid !important; }
.d-xl-inline-grid{ display:inline-grid !important; }
.d-xl-table{ display:table !important; }
.d-xl-table-row{ display:table-row !important; }
.d-xl-table-cell{ display:table-cell !important; }
.d-xl-flex{ display:flex !important; }
.d-xl-inline-flex{ display:inline-flex !important; }
}
@media (min-width: 1400px){
.d-xxl-none{ display:none !important; }
.d-xxl-inline{ display:inline !important; }
.d-xxl-inline-block{ display:inline-block !important; }
.d-xxl-block{ display:block !important; }
.d-xxl-grid{ display:grid !important; }
.d-xxl-inline-grid{ display:inline-grid !important; }
.d-xxl-table{ display:table !important; }
.d-xxl-table-row{ display:table-row !important; }
.d-xxl-table-cell{ display:table-cell !important; }
.d-xxl-flex{ display:flex !important; }
.d-xxl-inline-flex{ display:inline-flex !important; }
}
.flex-row{ flex-direction:row !important; }
.flex-row-reverse{ flex-direction:row-reverse !important; }
.flex-column{ flex-direction:column !important; }
.flex-column-reverse{ flex-direction:column-reverse !important; }
.flex-wrap{ flex-wrap:wrap !important; }
.flex-nowrap{ flex-wrap:nowrap !important; }
.flex-wrap-reverse{ flex-wrap:wrap-reverse !important; }
.flex-fill{ flex:1 1 auto !important; }
.flex-grow-0{ flex-grow:0 !important; }
.flex-grow-1{ flex-grow:1 !important; }
.flex-shrink-0{ flex-shrink:0 !important; }
.flex-shrink-1{ flex-shrink:1 !important; }
.justify-content-start{ justify-content:flex-start !important; }
.justify-content-end{ justify-content:flex-end !important; }
.justify-content-center{ justify-content:center !important; }
.justify-content-between{ justify-content:space-between !important; }
.justify-content-around{ justify-content:space-around !important; }
.justify-content-evenly{ justify-content:space-evenly !important; }
.align-items-start{ align-items:flex-start !important; }
.align-self-start{ align-self:flex-start !important; }
.align-items-end{ align-items:flex-end !important; }
.align-self-end{ align-self:flex-end !important; }
.align-items-center{ align-items:center !important; }
.align-self-center{ align-self:center !important; }
.align-items-baseline{ align-items:baseline !important; }
.align-self-baseline{ align-self:baseline !important; }
.align-items-stretch{ align-items:stretch !important; }
.align-self-stretch{ align-self:stretch !important; }
.align-content-start{ align-content:flex-start !important; }
.align-content-end{ align-content:flex-end !important; }
.align-content-center{ align-content:center !important; }
.align-content-between{ align-content:space-between !important; }
.align-content-around{ align-content:space-around !important; }
.align-content-stretch{ align-content:stretch !important; }
.order-first{ order:-1 !important; }
.order-last{ order:6 !important; }
.order-0{ order:0 !important; }
.order-1{ order:1 !important; }
.order-2{ order:2 !important; }
.order-3{ order:3 !important; }
.order-4{ order:4 !important; }
.order-5{ order:5 !important; }
.gap-0{ gap:0 !important; }
.row-gap-0{ row-gap:0 !important; }
.column-gap-0{ column-gap:0 !important; }
.gap-1{ gap:.25rem !important; }
.row-gap-1{ row-gap:.25rem !important; }
.column-gap-1{ column-gap:.25rem !important; }
.gap-2{ gap:.5rem !important; }
.row-gap-2{ row-gap:.5rem !important; }
.column-gap-2{ column-gap:.5rem !important; }
.gap-3{ gap:1rem !important; }
.row-gap-3{ row-gap:1rem !important; }
.column-gap-3{ column-gap:1rem !important; }
.gap-4{ gap:1.5rem !important; }
.row-gap-4{ row-gap:1.5rem !important; }
.column-gap-4{ column-gap:1.5rem !important; }
.gap-5{ gap:3rem !important; }
.row-gap-5{ row-gap:3rem !important; }
.column-gap-5{ column-gap:3rem !important; }
@media (min-width: 576px){
.flex-sm-row{ flex-direction:row !important; }
.flex-sm-row-reverse{ flex-direction:row-reverse !important; }
.flex-sm-column{ flex-direction:column !important; }
.flex-sm-column-reverse{ flex-direction:column-reverse !important; }
.flex-sm-wrap{ flex-wrap:wrap !important; }
.flex-sm-nowrap{ flex-wrap:nowrap !important; }
.flex-sm-wrap-reverse{ flex-wrap:wrap-reverse !important; }
.flex-sm-fill{ flex:1 1 auto !important; }
.flex-sm-grow-0{ flex-grow:0 !important; }
.flex-sm-grow-1{ flex-grow:1 !important; }
.flex-sm-shrink-0{ flex-shrink:0 !important; }
.flex-sm-shrink-1{ flex-shrink:1 !important; }
.justify-content-sm-start{ justify-content:flex-start !important; }
.justify-content-sm-end{ justify-content:flex-end !important; }
.justify-content-sm-center{ justify-content:center !important; }
.justify-content-sm-between{ justify-content:space-between !important; }
.justify-content-sm-around{ justify-content:space-around !important; }
.justify-content-sm-evenly{ justify-content:space-evenly !important; }
.align-items-sm-start{ align-items:flex-start !important; }
.align-self-sm-start{ align-self:flex-start !important; }
.align-items-sm-end{ align-items:flex-end !important; }
.align-self-sm-end{ align-self:flex-end !important; }
.align-items-sm-center{ align-items:center !important; }
.align-self-sm-center{ align-self:center !important; }
.align-items-sm-baseline{ align-items:baseline !important; }
.align-self-sm-baseline{ align-self:baseline !important; }
.align-items-sm-stretch{ align-items:stretch !important; }
.align-self-sm-stretch{ align-self:stretch !important; }
.align-content-sm-start{ align-content:flex-start !important; }
.align-content-sm-end{ align-content:flex-end !important; }
.align-content-sm-center{ align-content:center !important; }
.align-content-sm-between{ align-content:space-between !important; }
.align-content-sm-around{ align-content:space-around !important; }
.align-content-sm-stretch{ align-content:stretch !important; }
.order-sm-first{ order:-1 !important; }
.order-sm-last{ order:6 !important; }
.order-sm-0{ order:0 !important; }
.order-sm-1{ order:1 !important; }
.order-sm-2{ order:2 !important; }
.order-sm-3{ order:3 !important; }
.order-sm-4{ order:4 !important; }
.order-sm-5{ order:5 !important; }
.gap-sm-0{ gap:0 !important; }
.row-gap-sm-0{ row-gap:0 !important; }
.column-gap-sm-0{ column-gap:0 !important; }
.gap-sm-1{ gap:.25rem !important; }
.row-gap-sm-1{ row-gap:.25rem !important; }
.column-gap-sm-1{ column-gap:.25rem !important; }
.gap-sm-2{ gap:.5rem !important; }
.row-gap-sm-2{ row-gap:.5rem !important; }
.column-gap-sm-2{ column-gap:.5rem !important; }
.gap-sm-3{ gap:1rem !important; }
.row-gap-sm-3{ row-gap:1rem !important; }
.column-gap-sm-3{ column-gap:1rem !important; }
.gap-sm-4{ gap:1.5rem !important; }
.row-gap-sm-4{ row-gap:1.5rem !important; }
.column-gap-sm-4{ column-gap:1.5rem !important; }
.gap-sm-5{ gap:3rem !important; }
.row-gap-sm-5{ row-gap:3rem !important; }
.column-gap-sm-5{ column-gap:3rem !important; }
}
@media (min-width: 768px){
.flex-md-row{ flex-direction:row !important; }
.flex-md-row-reverse{ flex-direction:row-reverse !important; }
.flex-md-column{ flex-direction:column !important; }
.flex-md-column-reverse{ flex-direction:column-reverse !important; }
.flex-md-wrap{ flex-wrap:wrap !important; }
.flex-md-nowrap{ flex-wrap:nowrap !important; }
.flex-md-wrap-reverse{ flex-wrap:wrap-reverse !important; }
.flex-md-fill{ flex:1 1 auto !important; }
.flex-md-grow-0{ flex-grow:0 !important; }
.flex-md-grow-1{ flex-grow:1 !important; }
.flex-md-shrink-0{ flex-shrink:0 !important; }
.flex-md-shrink-1{ flex-shrink:1 !important; }
.justify-content-md-start{ justify-content:flex-start !important; }
.justify-content-md-end{ justify-content:flex-end !important; }
.justify-content-md-center{ justify-content:center !important; }
.justify-content-md-between{ justify-content:space-between !important; }
.justify-content-md-around{ justify-content:space-around !important; }
.justify-content-md-evenly{ justify-content:space-evenly !important; }
.align-items-md-start{ align-items:flex-start !important; }
.align-self-md-start{ align-self:flex-start !important; }
.align-items-md-end{ align-items:flex-end !important; }
.align-self-md-end{ align-self:flex-end !important; }
.align-items-md-center{ align-items:center !important; }
.align-self-md-center{ align-self:center !important; }
.align-items-md-baseline{ align-items:baseline !important; }
.align-self-md-baseline{ align-self:baseline !important; }
.align-items-md-stretch{ align-items:stretch !important; }
.align-self-md-stretch{ align-self:stretch !important; }
.align-content-md-start{ align-content:flex-start !important; }
.align-content-md-end{ align-content:flex-end !important; }
.align-content-md-center{ align-content:center !important; }
.align-content-md-between{ align-content:space-between !important; }
.align-content-md-around{ align-content:space-around !important; }
.align-content-md-stretch{ align-content:stretch !important; }
.order-md-first{ order:-1 !important; }
.order-md-last{ order:6 !important; }
.order-md-0{ order:0 !important; }
.order-md-1{ order:1 !important; }
.order-md-2{ order:2 !important; }
.order-md-3{ order:3 !important; }
.order-md-4{ order:4 !important; }
.order-md-5{ order:5 !important; }
.gap-md-0{ gap:0 !important; }
.row-gap-md-0{ row-gap:0 !important; }
.column-gap-md-0{ column-gap:0 !important; }
.gap-md-1{ gap:.25rem !important; }
.row-gap-md-1{ row-gap:.25rem !important; }
.column-gap-md-1{ column-gap:.25rem !important; }
.gap-md-2{ gap:.5rem !important; }
.row-gap-md-2{ row-gap:.5rem !important; }
.column-gap-md-2{ column-gap:.5rem !important; }
.gap-md-3{ gap:1rem !important; }
.row-gap-md-3{ row-gap:1rem !important; }
.column-gap-md-3{ column-gap:1rem !important; }
.gap-md-4{ gap:1.5rem !important; }
.row-gap-md-4{ row-gap:1.5rem !important; }
.column-gap-md-4{ column-gap:1.5rem !important; }
.gap-md-5{ gap:3rem !important; }
.row-gap-md-5{ row-gap:3rem !important; }
.column-gap-md-5{ column-gap:3rem !important; }
}
@media (min-width: 992px){
.flex-lg-row{ flex-direction:row !important; }
.flex-lg-row-reverse{ flex-direction:row-reverse !important; }
.flex-lg-column{ flex-direction:column !important; }
.flex-lg-column-reverse{ flex-direction:column-reverse !important; }
.flex-lg-wrap{ flex-wrap:wrap !important; }
.flex-lg-nowrap{ flex-wrap:nowrap !important; }
.flex-lg-wrap-reverse{ flex-wrap:wrap-reverse !important; }
.flex-lg-fill{ flex:1 1 auto !important; }
.flex-lg-grow-0{ flex-grow:0 !important; }
.flex-lg-grow-1{ flex-grow:1 !important; }
.flex-lg-shrink-0{ flex-shrink:0 !important; }
.flex-lg-shrink-1{ flex-shrink:1 !important; }
.justify-content-lg-start{ justify-content:flex-start !important; }
.justify-content-lg-end{ justify-content:flex-end !important; }
.justify-content-lg-center{ justify-content:center !important; }
.justify-content-lg-between{ justify-content:space-between !important; }
.justify-content-lg-around{ justify-content:space-around !important; }
.justify-content-lg-evenly{ justify-content:space-evenly !important; }
.align-items-lg-start{ align-items:flex-start !important; }
.align-self-lg-start{ align-self:flex-start !important; }
.align-items-lg-end{ align-items:flex-end !important; }
.align-self-lg-end{ align-self:flex-end !important; }
.align-items-lg-center{ align-items:center !important; }
.align-self-lg-center{ align-self:center !important; }
.align-items-lg-baseline{ align-items:baseline !important; }
.align-self-lg-baseline{ align-self:baseline !important; }
.align-items-lg-stretch{ align-items:stretch !important; }
.align-self-lg-stretch{ align-self:stretch !important; }
.align-content-lg-start{ align-content:flex-start !important; }
.align-content-lg-end{ align-content:flex-end !important; }
.align-content-lg-center{ align-content:center !important; }
.align-content-lg-between{ align-content:space-between !important; }
.align-content-lg-around{ align-content:space-around !important; }
.align-content-lg-stretch{ align-content:stretch !important; }
.order-lg-first{ order:-1 !important; }
.order-lg-last{ order:6 !important; }
.order-lg-0{ order:0 !important; }
.order-lg-1{ order:1 !important; }
.order-lg-2{ order:2 !important; }
.order-lg-3{ order:3 !important; }
.order-lg-4{ order:4 !important; }
.order-lg-5{ order:5 !important; }
.gap-lg-0{ gap:0 !important; }
.row-gap-lg-0{ row-gap:0 !important; }
.column-gap-lg-0{ column-gap:0 !important; }
.gap-lg-1{ gap:.25rem !important; }
.row-gap-lg-1{ row-gap:.25rem !important; }
.column-gap-lg-1{ column-gap:.25rem !important; }
.gap-lg-2{ gap:.5rem !important; }
.row-gap-lg-2{ row-gap:.5rem !important; }
.column-gap-lg-2{ column-gap:.5rem !important; }
.gap-lg-3{ gap:1rem !important; }
.row-gap-lg-3{ row-gap:1rem !important; }
.column-gap-lg-3{ column-gap:1rem !important; }
.gap-lg-4{ gap:1.5rem !important; }
.row-gap-lg-4{ row-gap:1.5rem !important; }
.column-gap-lg-4{ column-gap:1.5rem !important; }
.gap-lg-5{ gap:3rem !important; }
.row-gap-lg-5{ row-gap:3rem !important; }
.column-gap-lg-5{ column-gap:3rem !important; }
}
@media (min-width: 1200px){
.flex-xl-row{ flex-direction:row !important; }
.flex-xl-row-reverse{ flex-direction:row-reverse !important; }
.flex-xl-column{ flex-direction:column !important; }
.flex-xl-column-reverse{ flex-direction:column-reverse !important; }
.flex-xl-wrap{ flex-wrap:wrap !important; }
.flex-xl-nowrap{ flex-wrap:nowrap !important; }
.flex-xl-wrap-reverse{ flex-wrap:wrap-reverse !important; }
.flex-xl-fill{ flex:1 1 auto !important; }
.flex-xl-grow-0{ flex-grow:0 !important; }
.flex-xl-grow-1{ flex-grow:1 !important; }
.flex-xl-shrink-0{ flex-shrink:0 !important; }
.flex-xl-shrink-1{ flex-shrink:1 !important; }
.justify-content-xl-start{ justify-content:flex-start !important; }
.justify-content-xl-end{ justify-content:flex-end !important; }
.justify-content-xl-center{ justify-content:center !important; }
.justify-content-xl-between{ justify-content:space-between !important; }
.justify-content-xl-around{ justify-content:space-around !important; }
.justify-content-xl-evenly{ justify-content:space-evenly !important; }
.align-items-xl-start{ align-items:flex-start !important; }
.align-self-xl-start{ align-self:flex-start !important; }
.align-items-xl-end{ align-items:flex-end !important; }
.align-self-xl-end{ align-self:flex-end !important; }
.align-items-xl-center{ align-items:center !important; }
.align-self-xl-center{ align-self:center !important; }
.align-items-xl-baseline{ align-items:baseline !important; }
.align-self-xl-baseline{ align-self:baseline !important; }
.align-items-xl-stretch{ align-items:stretch !important; }
.align-self-xl-stretch{ align-self:stretch !important; }
.align-content-xl-start{ align-content:flex-start !important; }
.align-content-xl-end{ align-content:flex-end !important; }
.align-content-xl-center{ align-content:center !important; }
.align-content-xl-between{ align-content:space-between !important; }
.align-content-xl-around{ align-content:space-around !important; }
.align-content-xl-stretch{ align-content:stretch !important; }
.order-xl-first{ order:-1 !important; }
.order-xl-last{ order:6 !important; }
.order-xl-0{ order:0 !important; }
.order-xl-1{ order:1 !important; }
.order-xl-2{ order:2 !important; }
.order-xl-3{ order:3 !important; }
.order-xl-4{ order:4 !important; }
.order-xl-5{ order:5 !important; }
.gap-xl-0{ gap:0 !important; }
.row-gap-xl-0{ row-gap:0 !important; }
.column-gap-xl-0{ column-gap:0 !important; }
.gap-xl-1{ gap:.25rem !important; }
.row-gap-xl-1{ row-gap:.25rem !important; }
.column-gap-xl-1{ column-gap:.25rem !important; }
.gap-xl-2{ gap:.5rem !important; }
.row-gap-xl-2{ row-gap:.5rem !important; }
.column-gap-xl-2{ column-gap:.5rem !important; }
.gap-xl-3{ gap:1rem !important; }
.row-gap-xl-3{ row-gap:1rem !important; }
.column-gap-xl-3{ column-gap:1rem !important; }
.gap-xl-4{ gap:1.5rem !important; }
.row-gap-xl-4{ row-gap:1.5rem !important; }
.column-gap-xl-4{ column-gap:1.5rem !important; }
.gap-xl-5{ gap:3rem !important; }
.row-gap-xl-5{ row-gap:3rem !important; }
.column-gap-xl-5{ column-gap:3rem !important; }
}
@media (min-width: 1400px){
.flex-xxl-row{ flex-direction:row !important; }
.flex-xxl-row-reverse{ flex-direction:row-reverse !important; }
.flex-xxl-column{ flex-direction:column !important; }
.flex-xxl-column-reverse{ flex-direction:column-reverse !important; }
.flex-xxl-wrap{ flex-wrap:wrap !important; }
.flex-xxl-nowrap{ flex-wrap:nowrap !important; }
.flex-xxl-wrap-reverse{ flex-wrap:wrap-reverse !important; }
.flex-xxl-fill{ flex:1 1 auto !important; }
.flex-xxl-grow-0{ flex-grow:0 !important; }
.flex-xxl-grow-1{ flex-grow:1 !important; }
.flex-xxl-shrink-0{ flex-shrink:0 !important; }
.flex-xxl-shrink-1{ flex-shrink:1 !important; }
.justify-content-xxl-start{ justify-content:flex-start !important; }
.justify-content-xxl-end{ justify-content:flex-end !important; }
.justify-content-xxl-center{ justify-content:center !important; }
.justify-content-xxl-between{ justify-content:space-between !important; }
.justify-content-xxl-around{ justify-content:space-around !important; }
.justify-content-xxl-evenly{ justify-content:space-evenly !important; }
.align-items-xxl-start{ align-items:flex-start !important; }
.align-self-xxl-start{ align-self:flex-start !important; }
.align-items-xxl-end{ align-items:flex-end !important; }
.align-self-xxl-end{ align-self:flex-end !important; }
.align-items-xxl-center{ align-items:center !important; }
.align-self-xxl-center{ align-self:center !important; }
.align-items-xxl-baseline{ align-items:baseline !important; }
.align-self-xxl-baseline{ align-self:baseline !important; }
.align-items-xxl-stretch{ align-items:stretch !important; }
.align-self-xxl-stretch{ align-self:stretch !important; }
.align-content-xxl-start{ align-content:flex-start !important; }
.align-content-xxl-end{ align-content:flex-end !important; }
.align-content-xxl-center{ align-content:center !important; }
.align-content-xxl-between{ align-content:space-between !important; }
.align-content-xxl-around{ align-content:space-around !important; }
.align-content-xxl-stretch{ align-content:stretch !important; }
.order-xxl-first{ order:-1 !important; }
.order-xxl-last{ order:6 !important; }
.order-xxl-0{ order:0 !important; }
.order-xxl-1{ order:1 !important; }
.order-xxl-2{ order:2 !important; }
.order-xxl-3{ order:3 !important; }
.order-xxl-4{ order:4 !important; }
.order-xxl-5{ order:5 !important; }
.gap-xxl-0{ gap:0 !important; }
.row-gap-xxl-0{ row-gap:0 !important; }
.column-gap-xxl-0{ column-gap:0 !important; }
.gap-xxl-1{ gap:.25rem !important; }
.row-gap-xxl-1{ row-gap:.25rem !important; }
.column-gap-xxl-1{ column-gap:.25rem !important; }
.gap-xxl-2{ gap:.5rem !important; }
.row-gap-xxl-2{ row-gap:.5rem !important; }
.column-gap-xxl-2{ column-gap:.5rem !important; }
.gap-xxl-3{ gap:1rem !important; }
.row-gap-xxl-3{ row-gap:1rem !important; }
.column-gap-xxl-3{ column-gap:1rem !important; }
.gap-xxl-4{ gap:1.5rem !important; }
.row-gap-xxl-4{ row-gap:1.5rem !important; }
.column-gap-xxl-4{ column-gap:1.5rem !important; }
.gap-xxl-5{ gap:3rem !important; }
.row-gap-xxl-5{ row-gap:3rem !important; }
.column-gap-xxl-5{ column-gap:3rem !important; }
}
.m-0{ margin:0 !important; }
.m-1{ margin:.25rem !important; }
.m-2{ margin:.5rem !important; }
.m-3{ margin:1rem !important; }
.m-4{ margin:1.5rem !important; }
.m-5{ margin:3rem !important; }
.m-auto{ margin:auto !important; }
.m-n1{ margin:-.25rem !important; }
.m-n2{ margin:-.5rem !important; }
.m-n3{ margin:-1rem !important; }
.m-n4{ margin:-1.5rem !important; }
.m-n5{ margin:-3rem !important; }
.mt-0{ margin-top:0 !important; }
.mt-1{ margin-top:.25rem !important; }
.mt-2{ margin-top:.5rem !important; }
.mt-3{ margin-top:1rem !important; }
.mt-4{ margin-top:1.5rem !important; }
.mt-5{ margin-top:3rem !important; }
.mt-auto{ margin-top:auto !important; }
.mt-n1{ margin-top:-.25rem !important; }
.mt-n2{ margin-top:-.5rem !important; }
.mt-n3{ margin-top:-1rem !important; }
.mt-n4{ margin-top:-1.5rem !important; }
.mt-n5{ margin-top:-3rem !important; }
.mb-0{ margin-bottom:0 !important; }
.mb-1{ margin-bottom:.25rem !important; }
.mb-2{ margin-bottom:.5rem !important; }
.mb-3{ margin-bottom:1rem !important; }
.mb-4{ margin-bottom:1.5rem !important; }
.mb-5{ margin-bottom:3rem !important; }
.mb-auto{ margin-bottom:auto !important; }
.mb-n1{ margin-bottom:-.25rem !important; }
.mb-n2{ margin-bottom:-.5rem !important; }
.mb-n3{ margin-bottom:-1rem !important; }
.mb-n4{ margin-bottom:-1.5rem !important; }
.mb-n5{ margin-bottom:-3rem !important; }
.ms-0{ margin-left:0 !important; }
.ms-1{ margin-left:.25rem !important; }
.ms-2{ margin-left:.5rem !important; }
.ms-3{ margin-left:1rem !important; }
.ms-4{ margin-left:1.5rem !important; }
.ms-5{ margin-left:3rem !important; }
.ms-auto{ margin-left:auto !important; }
.ms-n1{ margin-left:-.25rem !important; }
.ms-n2{ margin-left:-.5rem !important; }
.ms-n3{ margin-left:-1rem !important; }
.ms-n4{ margin-left:-1.5rem !important; }
.ms-n5{ margin-left:-3rem !important; }
.me-0{ margin-right:0 !important; }
.me-1{ margin-right:.25rem !important; }
.me-2{ margin-right:.5rem !important; }
.me-3{ margin-right:1rem !important; }
.me-4{ margin-right:1.5rem !important; }
.me-5{ margin-right:3rem !important; }
.me-auto{ margin-right:auto !important; }
.me-n1{ margin-right:-.25rem !important; }
.me-n2{ margin-right:-.5rem !important; }
.me-n3{ margin-right:-1rem !important; }
.me-n4{ margin-right:-1.5rem !important; }
.me-n5{ margin-right:-3rem !important; }
.mx-0{ margin-left:0 !important; margin-right:0 !important; }
.mx-1{ margin-left:.25rem !important; margin-right:.25rem !important; }
.mx-2{ margin-left:.5rem !important; margin-right:.5rem !important; }
.mx-3{ margin-left:1rem !important; margin-right:1rem !important; }
.mx-4{ margin-left:1.5rem !important; margin-right:1.5rem !important; }
.mx-5{ margin-left:3rem !important; margin-right:3rem !important; }
.mx-auto{ margin-left:auto !important; margin-right:auto !important; }
.mx-n1{ margin-left:-.25rem !important; margin-right:-.25rem !important; }
.mx-n2{ margin-left:-.5rem !important; margin-right:-.5rem !important; }
.mx-n3{ margin-left:-1rem !important; margin-right:-1rem !important; }
.mx-n4{ margin-left:-1.5rem !important; margin-right:-1.5rem !important; }
.mx-n5{ margin-left:-3rem !important; margin-right:-3rem !important; }
.my-0{ margin-top:0 !important; margin-bottom:0 !important; }
.my-1{ margin-top:.25rem !important; margin-bottom:.25rem !important; }
.my-2{ margin-top:.5rem !important; margin-bottom:.5rem !important; }
.my-3{ margin-top:1rem !important; margin-bottom:1rem !important; }
.my-4{ margin-top:1.5rem !important; margin-bottom:1.5rem !important; }
.my-5{ margin-top:3rem !important; margin-bottom:3rem !important; }
.my-auto{ margin-top:auto !important; margin-bottom:auto !important; }
.my-n1{ margin-top:-.25rem !important; margin-bottom:-.25rem !important; }
.my-n2{ margin-top:-.5rem !important; margin-bottom:-.5rem !important; }
.my-n3{ margin-top:-1rem !important; margin-bottom:-1rem !important; }
.my-n4{ margin-top:-1.5rem !important; margin-bottom:-1.5rem !important; }
.my-n5{ margin-top:-3rem !important; margin-bottom:-3rem !important; }
.p-0{ padding:0 !important; }
.p-1{ padding:.25rem !important; }
.p-2{ padding:.5rem !important; }
.p-3{ padding:1rem !important; }
.p-4{ padding:1.5rem !important; }
.p-5{ padding:3rem !important; }
.pt-0{ padding-top:0 !important; }
.pt-1{ padding-top:.25rem !important; }
.pt-2{ padding-top:.5rem !important; }
.pt-3{ padding-top:1rem !important; }
.pt-4{ padding-top:1.5rem !important; }
.pt-5{ padding-top:3rem !important; }
.pb-0{ padding-bottom:0 !important; }
.pb-1{ padding-bottom:.25rem !important; }
.pb-2{ padding-bottom:.5rem !important; }
.pb-3{ padding-bottom:1rem !important; }
.pb-4{ padding-bottom:1.5rem !important; }
.pb-5{ padding-bottom:3rem !important; }
.ps-0{ padding-left:0 !important; }
.ps-1{ padding-left:.25rem !important; }
.ps-2{ padding-left:.5rem !important; }
.ps-3{ padding-left:1rem !important; }
.ps-4{ padding-left:1.5rem !important; }
.ps-5{ padding-left:3rem !important; }
.pe-0{ padding-right:0 !important; }
.pe-1{ padding-right:.25rem !important; }
.pe-2{ padding-right:.5rem !important; }
.pe-3{ padding-right:1rem !important; }
.pe-4{ padding-right:1.5rem !important; }
.pe-5{ padding-right:3rem !important; }
.px-0{ padding-left:0 !important; padding-right:0 !important; }
.px-1{ padding-left:.25rem !important; padding-right:.25rem !important; }
.px-2{ padding-left:.5rem !important; padding-right:.5rem !important; }
.px-3{ padding-left:1rem !important; padding-right:1rem !important; }
.px-4{ padding-left:1.5rem !important; padding-right:1.5rem !important; }
.px-5{ padding-left:3rem !important; padding-right:3rem !important; }
.py-0{ padding-top:0 !important; padding-bottom:0 !important; }
.py-1{ padding-top:.25rem !important; padding-bottom:.25rem !important; }
.py-2{ padding-top:.5rem !important; padding-bottom:.5rem !important; }
.py-3{ padding-top:1rem !important; padding-bottom:1rem !important; }
.py-4{ padding-top:1.5rem !important; padding-bottom:1.5rem !important; }
.py-5{ padding-top:3rem !important; padding-bottom:3rem !important; }
@media (min-width: 576px){
.m-sm-0{ margin:0 !important; }
.m-sm-1{ margin:.25rem !important; }
.m-sm-2{ margin:.5rem !important; }
.m-sm-3{ margin:1rem !important; }
.m-sm-4{ margin:1.5rem !important; }
.m-sm-5{ margin:3rem !important; }
.m-sm-auto{ margin:auto !important; }
.m-sm-n1{ margin:-.25rem !important; }
.m-sm-n2{ margin:-.5rem !important; }
.m-sm-n3{ margin:-1rem !important; }
.m-sm-n4{ margin:-1.5rem !important; }
.m-sm-n5{ margin:-3rem !important; }
.mt-sm-0{ margin-top:0 !important; }
.mt-sm-1{ margin-top:.25rem !important; }
.mt-sm-2{ margin-top:.5rem !important; }
.mt-sm-3{ margin-top:1rem !important; }
.mt-sm-4{ margin-top:1.5rem !important; }
.mt-sm-5{ margin-top:3rem !important; }
.mt-sm-auto{ margin-top:auto !important; }
.mt-sm-n1{ margin-top:-.25rem !important; }
.mt-sm-n2{ margin-top:-.5rem !important; }
.mt-sm-n3{ margin-top:-1rem !important; }
.mt-sm-n4{ margin-top:-1.5rem !important; }
.mt-sm-n5{ margin-top:-3rem !important; }
.mb-sm-0{ margin-bottom:0 !important; }
.mb-sm-1{ margin-bottom:.25rem !important; }
.mb-sm-2{ margin-bottom:.5rem !important; }
.mb-sm-3{ margin-bottom:1rem !important; }
.mb-sm-4{ margin-bottom:1.5rem !important; }
.mb-sm-5{ margin-bottom:3rem !important; }
.mb-sm-auto{ margin-bottom:auto !important; }
.mb-sm-n1{ margin-bottom:-.25rem !important; }
.mb-sm-n2{ margin-bottom:-.5rem !important; }
.mb-sm-n3{ margin-bottom:-1rem !important; }
.mb-sm-n4{ margin-bottom:-1.5rem !important; }
.mb-sm-n5{ margin-bottom:-3rem !important; }
.ms-sm-0{ margin-left:0 !important; }
.ms-sm-1{ margin-left:.25rem !important; }
.ms-sm-2{ margin-left:.5rem !important; }
.ms-sm-3{ margin-left:1rem !important; }
.ms-sm-4{ margin-left:1.5rem !important; }
.ms-sm-5{ margin-left:3rem !important; }
.ms-sm-auto{ margin-left:auto !important; }
.ms-sm-n1{ margin-left:-.25rem !important; }
.ms-sm-n2{ margin-left:-.5rem !important; }
.ms-sm-n3{ margin-left:-1rem !important; }
.ms-sm-n4{ margin-left:-1.5rem !important; }
.ms-sm-n5{ margin-left:-3rem !important; }
.me-sm-0{ margin-right:0 !important; }
.me-sm-1{ margin-right:.25rem !important; }
.me-sm-2{ margin-right:.5rem !important; }
.me-sm-3{ margin-right:1rem !important; }
.me-sm-4{ margin-right:1.5rem !important; }
.me-sm-5{ margin-right:3rem !important; }
.me-sm-auto{ margin-right:auto !important; }
.me-sm-n1{ margin-right:-.25rem !important; }
.me-sm-n2{ margin-right:-.5rem !important; }
.me-sm-n3{ margin-right:-1rem !important; }
.me-sm-n4{ margin-right:-1.5rem !important; }
.me-sm-n5{ margin-right:-3rem !important; }
.mx-sm-0{ margin-left:0 !important; margin-right:0 !important; }
.mx-sm-1{ margin-left:.25rem !important; margin-right:.25rem !important; }
.mx-sm-2{ margin-left:.5rem !important; margin-right:.5rem !important; }
.mx-sm-3{ margin-left:1rem !important; margin-right:1rem !important; }
.mx-sm-4{ margin-left:1.5rem !important; margin-right:1.5rem !important; }
.mx-sm-5{ margin-left:3rem !important; margin-right:3rem !important; }
.mx-sm-auto{ margin-left:auto !important; margin-right:auto !important; }
.mx-sm-n1{ margin-left:-.25rem !important; margin-right:-.25rem !important; }
.mx-sm-n2{ margin-left:-.5rem !important; margin-right:-.5rem !important; }
.mx-sm-n3{ margin-left:-1rem !important; margin-right:-1rem !important; }
.mx-sm-n4{ margin-left:-1.5rem !important; margin-right:-1.5rem !important; }
.mx-sm-n5{ margin-left:-3rem !important; margin-right:-3rem !important; }
.my-sm-0{ margin-top:0 !important; margin-bottom:0 !important; }
.my-sm-1{ margin-top:.25rem !important; margin-bottom:.25rem !important; }
.my-sm-2{ margin-top:.5rem !important; margin-bottom:.5rem !important; }
.my-sm-3{ margin-top:1rem !important; margin-bottom:1rem !important; }
.my-sm-4{ margin-top:1.5rem !important; margin-bottom:1.5rem !important; }
.my-sm-5{ margin-top:3rem !important; margin-bottom:3rem !important; }
.my-sm-auto{ margin-top:auto !important; margin-bottom:auto !important; }
.my-sm-n1{ margin-top:-.25rem !important; margin-bottom:-.25rem !important; }
.my-sm-n2{ margin-top:-.5rem !important; margin-bottom:-.5rem !important; }
.my-sm-n3{ margin-top:-1rem !important; margin-bottom:-1rem !important; }
.my-sm-n4{ margin-top:-1.5rem !important; margin-bottom:-1.5rem !important; }
.my-sm-n5{ margin-top:-3rem !important; margin-bottom:-3rem !important; }
.p-sm-0{ padding:0 !important; }
.p-sm-1{ padding:.25rem !important; }
.p-sm-2{ padding:.5rem !important; }
.p-sm-3{ padding:1rem !important; }
.p-sm-4{ padding:1.5rem !important; }
.p-sm-5{ padding:3rem !important; }
.pt-sm-0{ padding-top:0 !important; }
.pt-sm-1{ padding-top:.25rem !important; }
.pt-sm-2{ padding-top:.5rem !important; }
.pt-sm-3{ padding-top:1rem !important; }
.pt-sm-4{ padding-top:1.5rem !important; }
.pt-sm-5{ padding-top:3rem !important; }
.pb-sm-0{ padding-bottom:0 !important; }
.pb-sm-1{ padding-bottom:.25rem !important; }
.pb-sm-2{ padding-bottom:.5rem !important; }
.pb-sm-3{ padding-bottom:1rem !important; }
.pb-sm-4{ padding-bottom:1.5rem !important; }
.pb-sm-5{ padding-bottom:3rem !important; }
.ps-sm-0{ padding-left:0 !important; }
.ps-sm-1{ padding-left:.25rem !important; }
.ps-sm-2{ padding-left:.5rem !important; }
.ps-sm-3{ padding-left:1rem !important; }
.ps-sm-4{ padding-left:1.5rem !important; }
.ps-sm-5{ padding-left:3rem !important; }
.pe-sm-0{ padding-right:0 !important; }
.pe-sm-1{ padding-right:.25rem !important; }
.pe-sm-2{ padding-right:.5rem !important; }
.pe-sm-3{ padding-right:1rem !important; }
.pe-sm-4{ padding-right:1.5rem !important; }
.pe-sm-5{ padding-right:3rem !important; }
.px-sm-0{ padding-left:0 !important; padding-right:0 !important; }
.px-sm-1{ padding-left:.25rem !important; padding-right:.25rem !important; }
.px-sm-2{ padding-left:.5rem !important; padding-right:.5rem !important; }
.px-sm-3{ padding-left:1rem !important; padding-right:1rem !important; }
.px-sm-4{ padding-left:1.5rem !important; padding-right:1.5rem !important; }
.px-sm-5{ padding-left:3rem !important; padding-right:3rem !important; }
.py-sm-0{ padding-top:0 !important; padding-bottom:0 !important; }
.py-sm-1{ padding-top:.25rem !important; padding-bottom:.25rem !important; }
.py-sm-2{ padding-top:.5rem !important; padding-bottom:.5rem !important; }
.py-sm-3{ padding-top:1rem !important; padding-bottom:1rem !important; }
.py-sm-4{ padding-top:1.5rem !important; padding-bottom:1.5rem !important; }
.py-sm-5{ padding-top:3rem !important; padding-bottom:3rem !important; }
}
@media (min-width: 768px){
.m-md-0{ margin:0 !important; }
.m-md-1{ margin:.25rem !important; }
.m-md-2{ margin:.5rem !important; }
.m-md-3{ margin:1rem !important; }
.m-md-4{ margin:1.5rem !important; }
.m-md-5{ margin:3rem !important; }
.m-md-auto{ margin:auto !important; }
.m-md-n1{ margin:-.25rem !important; }
.m-md-n2{ margin:-.5rem !important; }
.m-md-n3{ margin:-1rem !important; }
.m-md-n4{ margin:-1.5rem !important; }
.m-md-n5{ margin:-3rem !important; }
.mt-md-0{ margin-top:0 !important; }
.mt-md-1{ margin-top:.25rem !important; }
.mt-md-2{ margin-top:.5rem !important; }
.mt-md-3{ margin-top:1rem !important; }
.mt-md-4{ margin-top:1.5rem !important; }
.mt-md-5{ margin-top:3rem !important; }
.mt-md-auto{ margin-top:auto !important; }
.mt-md-n1{ margin-top:-.25rem !important; }
.mt-md-n2{ margin-top:-.5rem !important; }
.mt-md-n3{ margin-top:-1rem !important; }
.mt-md-n4{ margin-top:-1.5rem !important; }
.mt-md-n5{ margin-top:-3rem !important; }
.mb-md-0{ margin-bottom:0 !important; }
.mb-md-1{ margin-bottom:.25rem !important; }
.mb-md-2{ margin-bottom:.5rem !important; }
.mb-md-3{ margin-bottom:1rem !important; }
.mb-md-4{ margin-bottom:1.5rem !important; }
.mb-md-5{ margin-bottom:3rem !important; }
.mb-md-auto{ margin-bottom:auto !important; }
.mb-md-n1{ margin-bottom:-.25rem !important; }
.mb-md-n2{ margin-bottom:-.5rem !important; }
.mb-md-n3{ margin-bottom:-1rem !important; }
.mb-md-n4{ margin-bottom:-1.5rem !important; }
.mb-md-n5{ margin-bottom:-3rem !important; }
.ms-md-0{ margin-left:0 !important; }
.ms-md-1{ margin-left:.25rem !important; }
.ms-md-2{ margin-left:.5rem !important; }
.ms-md-3{ margin-left:1rem !important; }
.ms-md-4{ margin-left:1.5rem !important; }
.ms-md-5{ margin-left:3rem !important; }
.ms-md-auto{ margin-left:auto !important; }
.ms-md-n1{ margin-left:-.25rem !important; }
.ms-md-n2{ margin-left:-.5rem !important; }
.ms-md-n3{ margin-left:-1rem !important; }
.ms-md-n4{ margin-left:-1.5rem !important; }
.ms-md-n5{ margin-left:-3rem !important; }
.me-md-0{ margin-right:0 !important; }
.me-md-1{ margin-right:.25rem !important; }
.me-md-2{ margin-right:.5rem !important; }
.me-md-3{ margin-right:1rem !important; }
.me-md-4{ margin-right:1.5rem !important; }
.me-md-5{ margin-right:3rem !important; }
.me-md-auto{ margin-right:auto !important; }
.me-md-n1{ margin-right:-.25rem !important; }
.me-md-n2{ margin-right:-.5rem !important; }
.me-md-n3{ margin-right:-1rem !important; }
.me-md-n4{ margin-right:-1.5rem !important; }
.me-md-n5{ margin-right:-3rem !important; }
.mx-md-0{ margin-left:0 !important; margin-right:0 !important; }
.mx-md-1{ margin-left:.25rem !important; margin-right:.25rem !important; }
.mx-md-2{ margin-left:.5rem !important; margin-right:.5rem !important; }
.mx-md-3{ margin-left:1rem !important; margin-right:1rem !important; }
.mx-md-4{ margin-left:1.5rem !important; margin-right:1.5rem !important; }
.mx-md-5{ margin-left:3rem !important; margin-right:3rem !important; }
.mx-md-auto{ margin-left:auto !important; margin-right:auto !important; }
.mx-md-n1{ margin-left:-.25rem !important; margin-right:-.25rem !important; }
.mx-md-n2{ margin-left:-.5rem !important; margin-right:-.5rem !important; }
.mx-md-n3{ margin-left:-1rem !important; margin-right:-1rem !important; }
.mx-md-n4{ margin-left:-1.5rem !important; margin-right:-1.5rem !important; }
.mx-md-n5{ margin-left:-3rem !important; margin-right:-3rem !important; }
.my-md-0{ margin-top:0 !important; margin-bottom:0 !important; }
.my-md-1{ margin-top:.25rem !important; margin-bottom:.25rem !important; }
.my-md-2{ margin-top:.5rem !important; margin-bottom:.5rem !important; }
.my-md-3{ margin-top:1rem !important; margin-bottom:1rem !important; }
.my-md-4{ margin-top:1.5rem !important; margin-bottom:1.5rem !important; }
.my-md-5{ margin-top:3rem !important; margin-bottom:3rem !important; }
.my-md-auto{ margin-top:auto !important; margin-bottom:auto !important; }
.my-md-n1{ margin-top:-.25rem !important; margin-bottom:-.25rem !important; }
.my-md-n2{ margin-top:-.5rem !important; margin-bottom:-.5rem !important; }
.my-md-n3{ margin-top:-1rem !important; margin-bottom:-1rem !important; }
.my-md-n4{ margin-top:-1.5rem !important; margin-bottom:-1.5rem !important; }
.my-md-n5{ margin-top:-3rem !important; margin-bottom:-3rem !important; }
.p-md-0{ padding:0 !important; }
.p-md-1{ padding:.25rem !important; }
.p-md-2{ padding:.5rem !important; }
.p-md-3{ padding:1rem !important; }
.p-md-4{ padding:1.5rem !important; }
.p-md-5{ padding:3rem !important; }
.pt-md-0{ padding-top:0 !important; }
.pt-md-1{ padding-top:.25rem !important; }
.pt-md-2{ padding-top:.5rem !important; }
.pt-md-3{ padding-top:1rem !important; }
.pt-md-4{ padding-top:1.5rem !important; }
.pt-md-5{ padding-top:3rem !important; }
.pb-md-0{ padding-bottom:0 !important; }
.pb-md-1{ padding-bottom:.25rem !important; }
.pb-md-2{ padding-bottom:.5rem !important; }
.pb-md-3{ padding-bottom:1rem !important; }
.pb-md-4{ padding-bottom:1.5rem !important; }
.pb-md-5{ padding-bottom:3rem !important; }
.ps-md-0{ padding-left:0 !important; }
.ps-md-1{ padding-left:.25rem !important; }
.ps-md-2{ padding-left:.5rem !important; }
.ps-md-3{ padding-left:1rem !important; }
.ps-md-4{ padding-left:1.5rem !important; }
.ps-md-5{ padding-left:3rem !important; }
.pe-md-0{ padding-right:0 !important; }
.pe-md-1{ padding-right:.25rem !important; }
.pe-md-2{ padding-right:.5rem !important; }
.pe-md-3{ padding-right:1rem !important; }
.pe-md-4{ padding-right:1.5rem !important; }
.pe-md-5{ padding-right:3rem !important; }
.px-md-0{ padding-left:0 !important; padding-right:0 !important; }
.px-md-1{ padding-left:.25rem !important; padding-right:.25rem !important; }
.px-md-2{ padding-left:.5rem !important; padding-right:.5rem !important; }
.px-md-3{ padding-left:1rem !important; padding-right:1rem !important; }
.px-md-4{ padding-left:1.5rem !important; padding-right:1.5rem !important; }
.px-md-5{ padding-left:3rem !important; padding-right:3rem !important; }
.py-md-0{ padding-top:0 !important; padding-bottom:0 !important; }
.py-md-1{ padding-top:.25rem !important; padding-bottom:.25rem !important; }
.py-md-2{ padding-top:.5rem !important; padding-bottom:.5rem !important; }
.py-md-3{ padding-top:1rem !important; padding-bottom:1rem !important; }
.py-md-4{ padding-top:1.5rem !important; padding-bottom:1.5rem !important; }
.py-md-5{ padding-top:3rem !important; padding-bottom:3rem !important; }
}
@media (min-width: 992px){
.m-lg-0{ margin:0 !important; }
.m-lg-1{ margin:.25rem !important; }
.m-lg-2{ margin:.5rem !important; }
.m-lg-3{ margin:1rem !important; }
.m-lg-4{ margin:1.5rem !important; }
.m-lg-5{ margin:3rem !important; }
.m-lg-auto{ margin:auto !important; }
.m-lg-n1{ margin:-.25rem !important; }
.m-lg-n2{ margin:-.5rem !important; }
.m-lg-n3{ margin:-1rem !important; }
.m-lg-n4{ margin:-1.5rem !important; }
.m-lg-n5{ margin:-3rem !important; }
.mt-lg-0{ margin-top:0 !important; }
.mt-lg-1{ margin-top:.25rem !important; }
.mt-lg-2{ margin-top:.5rem !important; }
.mt-lg-3{ margin-top:1rem !important; }
.mt-lg-4{ margin-top:1.5rem !important; }
.mt-lg-5{ margin-top:3rem !important; }
.mt-lg-auto{ margin-top:auto !important; }
.mt-lg-n1{ margin-top:-.25rem !important; }
.mt-lg-n2{ margin-top:-.5rem !important; }
.mt-lg-n3{ margin-top:-1rem !important; }
.mt-lg-n4{ margin-top:-1.5rem !important; }
.mt-lg-n5{ margin-top:-3rem !important; }
.mb-lg-0{ margin-bottom:0 !important; }
.mb-lg-1{ margin-bottom:.25rem !important; }
.mb-lg-2{ margin-bottom:.5rem !important; }
.mb-lg-3{ margin-bottom:1rem !important; }
.mb-lg-4{ margin-bottom:1.5rem !important; }
.mb-lg-5{ margin-bottom:3rem !important; }
.mb-lg-auto{ margin-bottom:auto !important; }
.mb-lg-n1{ margin-bottom:-.25rem !important; }
.mb-lg-n2{ margin-bottom:-.5rem !important; }
.mb-lg-n3{ margin-bottom:-1rem !important; }
.mb-lg-n4{ margin-bottom:-1.5rem !important; }
.mb-lg-n5{ margin-bottom:-3rem !important; }
.ms-lg-0{ margin-left:0 !important; }
.ms-lg-1{ margin-left:.25rem !important; }
.ms-lg-2{ margin-left:.5rem !important; }
.ms-lg-3{ margin-left:1rem !important; }
.ms-lg-4{ margin-left:1.5rem !important; }
.ms-lg-5{ margin-left:3rem !important; }
.ms-lg-auto{ margin-left:auto !important; }
.ms-lg-n1{ margin-left:-.25rem !important; }
.ms-lg-n2{ margin-left:-.5rem !important; }
.ms-lg-n3{ margin-left:-1rem !important; }
.ms-lg-n4{ margin-left:-1.5rem !important; }
.ms-lg-n5{ margin-left:-3rem !important; }
.me-lg-0{ margin-right:0 !important; }
.me-lg-1{ margin-right:.25rem !important; }
.me-lg-2{ margin-right:.5rem !important; }
.me-lg-3{ margin-right:1rem !important; }
.me-lg-4{ margin-right:1.5rem !important; }
.me-lg-5{ margin-right:3rem !important; }
.me-lg-auto{ margin-right:auto !important; }
.me-lg-n1{ margin-right:-.25rem !important; }
.me-lg-n2{ margin-right:-.5rem !important; }
.me-lg-n3{ margin-right:-1rem !important; }
.me-lg-n4{ margin-right:-1.5rem !important; }
.me-lg-n5{ margin-right:-3rem !important; }
.mx-lg-0{ margin-left:0 !important; margin-right:0 !important; }
.mx-lg-1{ margin-left:.25rem !important; margin-right:.25rem !important; }
.mx-lg-2{ margin-left:.5rem !important; margin-right:.5rem !important; }
.mx-lg-3{ margin-left:1rem !important; margin-right:1rem !important; }
.mx-lg-4{ margin-left:1.5rem !important; margin-right:1.5rem !important; }
.mx-lg-5{ margin-left:3rem !important; margin-right:3rem !important; }
.mx-lg-auto{ margin-left:auto !important; margin-right:auto !important; }
.mx-lg-n1{ margin-left:-.25rem !important; margin-right:-.25rem !important; }
.mx-lg-n2{ margin-left:-.5rem !important; margin-right:-.5rem !important; }
.mx-lg-n3{ margin-left:-1rem !important; margin-right:-1rem !important; }
.mx-lg-n4{ margin-left:-1.5rem !important; margin-right:-1.5rem !important; }
.mx-lg-n5{ margin-left:-3rem !important; margin-right:-3rem !important; }
.my-lg-0{ margin-top:0 !important; margin-bottom:0 !important; }
.my-lg-1{ margin-top:.25rem !important; margin-bottom:.25rem !important; }
.my-lg-2{ margin-top:.5rem !important; margin-bottom:.5rem !important; }
.my-lg-3{ margin-top:1rem !important; margin-bottom:1rem !important; }
.my-lg-4{ margin-top:1.5rem !important; margin-bottom:1.5rem !important; }
.my-lg-5{ margin-top:3rem !important; margin-bottom:3rem !important; }
.my-lg-auto{ margin-top:auto !important; margin-bottom:auto !important; }
.my-lg-n1{ margin-top:-.25rem !important; margin-bottom:-.25rem !important; }
.my-lg-n2{ margin-top:-.5rem !important; margin-bottom:-.5rem !important; }
.my-lg-n3{ margin-top:-1rem !important; margin-bottom:-1rem !important; }
.my-lg-n4{ margin-top:-1.5rem !important; margin-bottom:-1.5rem !important; }
.my-lg-n5{ margin-top:-3rem !important; margin-bottom:-3rem !important; }
.p-lg-0{ padding:0 !important; }
.p-lg-1{ padding:.25rem !important; }
.p-lg-2{ padding:.5rem !important; }
.p-lg-3{ padding:1rem !important; }
.p-lg-4{ padding:1.5rem !important; }
.p-lg-5{ padding:3rem !important; }
.pt-lg-0{ padding-top:0 !important; }
.pt-lg-1{ padding-top:.25rem !important; }
.pt-lg-2{ padding-top:.5rem !important; }
.pt-lg-3{ padding-top:1rem !important; }
.pt-lg-4{ padding-top:1.5rem !important; }
.pt-lg-5{ padding-top:3rem !important; }
.pb-lg-0{ padding-bottom:0 !important; }
.pb-lg-1{ padding-bottom:.25rem !important; }
.pb-lg-2{ padding-bottom:.5rem !important; }
.pb-lg-3{ padding-bottom:1rem !important; }
.pb-lg-4{ padding-bottom:1.5rem !important; }
.pb-lg-5{ padding-bottom:3rem !important; }
.ps-lg-0{ padding-left:0 !important; }
.ps-lg-1{ padding-left:.25rem !important; }
.ps-lg-2{ padding-left:.5rem !important; }
.ps-lg-3{ padding-left:1rem !important; }
.ps-lg-4{ padding-left:1.5rem !important; }
.ps-lg-5{ padding-left:3rem !important; }
.pe-lg-0{ padding-right:0 !important; }
.pe-lg-1{ padding-right:.25rem !important; }
.pe-lg-2{ padding-right:.5rem !important; }
.pe-lg-3{ padding-right:1rem !important; }
.pe-lg-4{ padding-right:1.5rem !important; }
.pe-lg-5{ padding-right:3rem !important; }
.px-lg-0{ padding-left:0 !important; padding-right:0 !important; }
.px-lg-1{ padding-left:.25rem !important; padding-right:.25rem !important; }
.px-lg-2{ padding-left:.5rem !important; padding-right:.5rem !important; }
.px-lg-3{ padding-left:1rem !important; padding-right:1rem !important; }
.px-lg-4{ padding-left:1.5rem !important; padding-right:1.5rem !important; }
.px-lg-5{ padding-left:3rem !important; padding-right:3rem !important; }
.py-lg-0{ padding-top:0 !important; padding-bottom:0 !important; }
.py-lg-1{ padding-top:.25rem !important; padding-bottom:.25rem !important; }
.py-lg-2{ padding-top:.5rem !important; padding-bottom:.5rem !important; }
.py-lg-3{ padding-top:1rem !important; padding-bottom:1rem !important; }
.py-lg-4{ padding-top:1.5rem !important; padding-bottom:1.5rem !important; }
.py-lg-5{ padding-top:3rem !important; padding-bottom:3rem !important; }
}
@media (min-width: 1200px){
.m-xl-0{ margin:0 !important; }
.m-xl-1{ margin:.25rem !important; }
.m-xl-2{ margin:.5rem !important; }
.m-xl-3{ margin:1rem !important; }
.m-xl-4{ margin:1.5rem !important; }
.m-xl-5{ margin:3rem !important; }
.m-xl-auto{ margin:auto !important; }
.m-xl-n1{ margin:-.25rem !important; }
.m-xl-n2{ margin:-.5rem !important; }
.m-xl-n3{ margin:-1rem !important; }
.m-xl-n4{ margin:-1.5rem !important; }
.m-xl-n5{ margin:-3rem !important; }
.mt-xl-0{ margin-top:0 !important; }
.mt-xl-1{ margin-top:.25rem !important; }
.mt-xl-2{ margin-top:.5rem !important; }
.mt-xl-3{ margin-top:1rem !important; }
.mt-xl-4{ margin-top:1.5rem !important; }
.mt-xl-5{ margin-top:3rem !important; }
.mt-xl-auto{ margin-top:auto !important; }
.mt-xl-n1{ margin-top:-.25rem !important; }
.mt-xl-n2{ margin-top:-.5rem !important; }
.mt-xl-n3{ margin-top:-1rem !important; }
.mt-xl-n4{ margin-top:-1.5rem !important; }
.mt-xl-n5{ margin-top:-3rem !important; }
.mb-xl-0{ margin-bottom:0 !important; }
.mb-xl-1{ margin-bottom:.25rem !important; }
.mb-xl-2{ margin-bottom:.5rem !important; }
.mb-xl-3{ margin-bottom:1rem !important; }
.mb-xl-4{ margin-bottom:1.5rem !important; }
.mb-xl-5{ margin-bottom:3rem !important; }
.mb-xl-auto{ margin-bottom:auto !important; }
.mb-xl-n1{ margin-bottom:-.25rem !important; }
.mb-xl-n2{ margin-bottom:-.5rem !important; }
.mb-xl-n3{ margin-bottom:-1rem !important; }
.mb-xl-n4{ margin-bottom:-1.5rem !important; }
.mb-xl-n5{ margin-bottom:-3rem !important; }
.ms-xl-0{ margin-left:0 !important; }
.ms-xl-1{ margin-left:.25rem !important; }
.ms-xl-2{ margin-left:.5rem !important; }
.ms-xl-3{ margin-left:1rem !important; }
.ms-xl-4{ margin-left:1.5rem !important; }
.ms-xl-5{ margin-left:3rem !important; }
.ms-xl-auto{ margin-left:auto !important; }
.ms-xl-n1{ margin-left:-.25rem !important; }
.ms-xl-n2{ margin-left:-.5rem !important; }
.ms-xl-n3{ margin-left:-1rem !important; }
.ms-xl-n4{ margin-left:-1.5rem !important; }
.ms-xl-n5{ margin-left:-3rem !important; }
.me-xl-0{ margin-right:0 !important; }
.me-xl-1{ margin-right:.25rem !important; }
.me-xl-2{ margin-right:.5rem !important; }
.me-xl-3{ margin-right:1rem !important; }
.me-xl-4{ margin-right:1.5rem !important; }
.me-xl-5{ margin-right:3rem !important; }
.me-xl-auto{ margin-right:auto !important; }
.me-xl-n1{ margin-right:-.25rem !important; }
.me-xl-n2{ margin-right:-.5rem !important; }
.me-xl-n3{ margin-right:-1rem !important; }
.me-xl-n4{ margin-right:-1.5rem !important; }
.me-xl-n5{ margin-right:-3rem !important; }
.mx-xl-0{ margin-left:0 !important; margin-right:0 !important; }
.mx-xl-1{ margin-left:.25rem !important; margin-right:.25rem !important; }
.mx-xl-2{ margin-left:.5rem !important; margin-right:.5rem !important; }
.mx-xl-3{ margin-left:1rem !important; margin-right:1rem !important; }
.mx-xl-4{ margin-left:1.5rem !important; margin-right:1.5rem !important; }
.mx-xl-5{ margin-left:3rem !important; margin-right:3rem !important; }
.mx-xl-auto{ margin-left:auto !important; margin-right:auto !important; }
.mx-xl-n1{ margin-left:-.25rem !important; margin-right:-.25rem !important; }
.mx-xl-n2{ margin-left:-.5rem !important; margin-right:-.5rem !important; }
.mx-xl-n3{ margin-left:-1rem !important; margin-right:-1rem !important; }
.mx-xl-n4{ margin-left:-1.5rem !important; margin-right:-1.5rem !important; }
.mx-xl-n5{ margin-left:-3rem !important; margin-right:-3rem !important; }
.my-xl-0{ margin-top:0 !important; margin-bottom:0 !important; }
.my-xl-1{ margin-top:.25rem !important; margin-bottom:.25rem !important; }
.my-xl-2{ margin-top:.5rem !important; margin-bottom:.5rem !important; }
.my-xl-3{ margin-top:1rem !important; margin-bottom:1rem !important; }
.my-xl-4{ margin-top:1.5rem !important; margin-bottom:1.5rem !important; }
.my-xl-5{ margin-top:3rem !important; margin-bottom:3rem !important; }
.my-xl-auto{ margin-top:auto !important; margin-bottom:auto !important; }
.my-xl-n1{ margin-top:-.25rem !important; margin-bottom:-.25rem !important; }
.my-xl-n2{ margin-top:-.5rem !important; margin-bottom:-.5rem !important; }
.my-xl-n3{ margin-top:-1rem !important; margin-bottom:-1rem !important; }
.my-xl-n4{ margin-top:-1.5rem !important; margin-bottom:-1.5rem !important; }
.my-xl-n5{ margin-top:-3rem !important; margin-bottom:-3rem !important; }
.p-xl-0{ padding:0 !important; }
.p-xl-1{ padding:.25rem !important; }
.p-xl-2{ padding:.5rem !important; }
.p-xl-3{ padding:1rem !important; }
.p-xl-4{ padding:1.5rem !important; }
.p-xl-5{ padding:3rem !important; }
.pt-xl-0{ padding-top:0 !important; }
.pt-xl-1{ padding-top:.25rem !important; }
.pt-xl-2{ padding-top:.5rem !important; }
.pt-xl-3{ padding-top:1rem !important; }
.pt-xl-4{ padding-top:1.5rem !important; }
.pt-xl-5{ padding-top:3rem !important; }
.pb-xl-0{ padding-bottom:0 !important; }
.pb-xl-1{ padding-bottom:.25rem !important; }
.pb-xl-2{ padding-bottom:.5rem !important; }
.pb-xl-3{ padding-bottom:1rem !important; }
.pb-xl-4{ padding-bottom:1.5rem !important; }
.pb-xl-5{ padding-bottom:3rem !important; }
.ps-xl-0{ padding-left:0 !important; }
.ps-xl-1{ padding-left:.25rem !important; }
.ps-xl-2{ padding-left:.5rem !important; }
.ps-xl-3{ padding-left:1rem !important; }
.ps-xl-4{ padding-left:1.5rem !important; }
.ps-xl-5{ padding-left:3rem !important; }
.pe-xl-0{ padding-right:0 !important; }
.pe-xl-1{ padding-right:.25rem !important; }
.pe-xl-2{ padding-right:.5rem !important; }
.pe-xl-3{ padding-right:1rem !important; }
.pe-xl-4{ padding-right:1.5rem !important; }
.pe-xl-5{ padding-right:3rem !important; }
.px-xl-0{ padding-left:0 !important; padding-right:0 !important; }
.px-xl-1{ padding-left:.25rem !important; padding-right:.25rem !important; }
.px-xl-2{ padding-left:.5rem !important; padding-right:.5rem !important; }
.px-xl-3{ padding-left:1rem !important; padding-right:1rem !important; }
.px-xl-4{ padding-left:1.5rem !important; padding-right:1.5rem !important; }
.px-xl-5{ padding-left:3rem !important; padding-right:3rem !important; }
.py-xl-0{ padding-top:0 !important; padding-bottom:0 !important; }
.py-xl-1{ padding-top:.25rem !important; padding-bottom:.25rem !important; }
.py-xl-2{ padding-top:.5rem !important; padding-bottom:.5rem !important; }
.py-xl-3{ padding-top:1rem !important; padding-bottom:1rem !important; }
.py-xl-4{ padding-top:1.5rem !important; padding-bottom:1.5rem !important; }
.py-xl-5{ padding-top:3rem !important; padding-bottom:3rem !important; }
}
@media (min-width: 1400px){
.m-xxl-0{ margin:0 !important; }
.m-xxl-1{ margin:.25rem !important; }
.m-xxl-2{ margin:.5rem !important; }
.m-xxl-3{ margin:1rem !important; }
.m-xxl-4{ margin:1.5rem !important; }
.m-xxl-5{ margin:3rem !important; }
.m-xxl-auto{ margin:auto !important; }
.m-xxl-n1{ margin:-.25rem !important; }
.m-xxl-n2{ margin:-.5rem !important; }
.m-xxl-n3{ margin:-1rem !important; }
.m-xxl-n4{ margin:-1.5rem !important; }
.m-xxl-n5{ margin:-3rem !important; }
.mt-xxl-0{ margin-top:0 !important; }
.mt-xxl-1{ margin-top:.25rem !important; }
.mt-xxl-2{ margin-top:.5rem !important; }
.mt-xxl-3{ margin-top:1rem !important; }
.mt-xxl-4{ margin-top:1.5rem !important; }
.mt-xxl-5{ margin-top:3rem !important; }
.mt-xxl-auto{ margin-top:auto !important; }
.mt-xxl-n1{ margin-top:-.25rem !important; }
.mt-xxl-n2{ margin-top:-.5rem !important; }
.mt-xxl-n3{ margin-top:-1rem !important; }
.mt-xxl-n4{ margin-top:-1.5rem !important; }
.mt-xxl-n5{ margin-top:-3rem !important; }
.mb-xxl-0{ margin-bottom:0 !important; }
.mb-xxl-1{ margin-bottom:.25rem !important; }
.mb-xxl-2{ margin-bottom:.5rem !important; }
.mb-xxl-3{ margin-bottom:1rem !important; }
.mb-xxl-4{ margin-bottom:1.5rem !important; }
.mb-xxl-5{ margin-bottom:3rem !important; }
.mb-xxl-auto{ margin-bottom:auto !important; }
.mb-xxl-n1{ margin-bottom:-.25rem !important; }
.mb-xxl-n2{ margin-bottom:-.5rem !important; }
.mb-xxl-n3{ margin-bottom:-1rem !important; }
.mb-xxl-n4{ margin-bottom:-1.5rem !important; }
.mb-xxl-n5{ margin-bottom:-3rem !important; }
.ms-xxl-0{ margin-left:0 !important; }
.ms-xxl-1{ margin-left:.25rem !important; }
.ms-xxl-2{ margin-left:.5rem !important; }
.ms-xxl-3{ margin-left:1rem !important; }
.ms-xxl-4{ margin-left:1.5rem !important; }
.ms-xxl-5{ margin-left:3rem !important; }
.ms-xxl-auto{ margin-left:auto !important; }
.ms-xxl-n1{ margin-left:-.25rem !important; }
.ms-xxl-n2{ margin-left:-.5rem !important; }
.ms-xxl-n3{ margin-left:-1rem !important; }
.ms-xxl-n4{ margin-left:-1.5rem !important; }
.ms-xxl-n5{ margin-left:-3rem !important; }
.me-xxl-0{ margin-right:0 !important; }
.me-xxl-1{ margin-right:.25rem !important; }
.me-xxl-2{ margin-right:.5rem !important; }
.me-xxl-3{ margin-right:1rem !important; }
.me-xxl-4{ margin-right:1.5rem !important; }
.me-xxl-5{ margin-right:3rem !important; }
.me-xxl-auto{ margin-right:auto !important; }
.me-xxl-n1{ margin-right:-.25rem !important; }
.me-xxl-n2{ margin-right:-.5rem !important; }
.me-xxl-n3{ margin-right:-1rem !important; }
.me-xxl-n4{ margin-right:-1.5rem !important; }
.me-xxl-n5{ margin-right:-3rem !important; }
.mx-xxl-0{ margin-left:0 !important; margin-right:0 !important; }
.mx-xxl-1{ margin-left:.25rem !important; margin-right:.25rem !important; }
.mx-xxl-2{ margin-left:.5rem !important; margin-right:.5rem !important; }
.mx-xxl-3{ margin-left:1rem !important; margin-right:1rem !important; }
.mx-xxl-4{ margin-left:1.5rem !important; margin-right:1.5rem !important; }
.mx-xxl-5{ margin-left:3rem !important; margin-right:3rem !important; }
.mx-xxl-auto{ margin-left:auto !important; margin-right:auto !important; }
.mx-xxl-n1{ margin-left:-.25rem !important; margin-right:-.25rem !important; }
.mx-xxl-n2{ margin-left:-.5rem !important; margin-right:-.5rem !important; }
.mx-xxl-n3{ margin-left:-1rem !important; margin-right:-1rem !important; }
.mx-xxl-n4{ margin-left:-1.5rem !important; margin-right:-1.5rem !important; }
.mx-xxl-n5{ margin-left:-3rem !important; margin-right:-3rem !important; }
.my-xxl-0{ margin-top:0 !important; margin-bottom:0 !important; }
.my-xxl-1{ margin-top:.25rem !important; margin-bottom:.25rem !important; }
.my-xxl-2{ margin-top:.5rem !important; margin-bottom:.5rem !important; }
.my-xxl-3{ margin-top:1rem !important; margin-bottom:1rem !important; }
.my-xxl-4{ margin-top:1.5rem !important; margin-bottom:1.5rem !important; }
.my-xxl-5{ margin-top:3rem !important; margin-bottom:3rem !important; }
.my-xxl-auto{ margin-top:auto !important; margin-bottom:auto !important; }
.my-xxl-n1{ margin-top:-.25rem !important; margin-bottom:-.25rem !important; }
.my-xxl-n2{ margin-top:-.5rem !important; margin-bottom:-.5rem !important; }
.my-xxl-n3{ margin-top:-1rem !important; margin-bottom:-1rem !important; }
.my-xxl-n4{ margin-top:-1.5rem !important; margin-bottom:-1.5rem !important; }
.my-xxl-n5{ margin-top:-3rem !important; margin-bottom:-3rem !important; }
.p-xxl-0{ padding:0 !important; }
.p-xxl-1{ padding:.25rem !important; }
.p-xxl-2{ padding:.5rem !important; }
.p-xxl-3{ padding:1rem !important; }
.p-xxl-4{ padding:1.5rem !important; }
.p-xxl-5{ padding:3rem !important; }
.pt-xxl-0{ padding-top:0 !important; }
.pt-xxl-1{ padding-top:.25rem !important; }
.pt-xxl-2{ padding-top:.5rem !important; }
.pt-xxl-3{ padding-top:1rem !important; }
.pt-xxl-4{ padding-top:1.5rem !important; }
.pt-xxl-5{ padding-top:3rem !important; }
.pb-xxl-0{ padding-bottom:0 !important; }
.pb-xxl-1{ padding-bottom:.25rem !important; }
.pb-xxl-2{ padding-bottom:.5rem !important; }
.pb-xxl-3{ padding-bottom:1rem !important; }
.pb-xxl-4{ padding-bottom:1.5rem !important; }
.pb-xxl-5{ padding-bottom:3rem !important; }
.ps-xxl-0{ padding-left:0 !important; }
.ps-xxl-1{ padding-left:.25rem !important; }
.ps-xxl-2{ padding-left:.5rem !important; }
.ps-xxl-3{ padding-left:1rem !important; }
.ps-xxl-4{ padding-left:1.5rem !important; }
.ps-xxl-5{ padding-left:3rem !important; }
.pe-xxl-0{ padding-right:0 !important; }
.pe-xxl-1{ padding-right:.25rem !important; }
.pe-xxl-2{ padding-right:.5rem !important; }
.pe-xxl-3{ padding-right:1rem !important; }
.pe-xxl-4{ padding-right:1.5rem !important; }
.pe-xxl-5{ padding-right:3rem !important; }
.px-xxl-0{ padding-left:0 !important; padding-right:0 !important; }
.px-xxl-1{ padding-left:.25rem !important; padding-right:.25rem !important; }
.px-xxl-2{ padding-left:.5rem !important; padding-right:.5rem !important; }
.px-xxl-3{ padding-left:1rem !important; padding-right:1rem !important; }
.px-xxl-4{ padding-left:1.5rem !important; padding-right:1.5rem !important; }
.px-xxl-5{ padding-left:3rem !important; padding-right:3rem !important; }
.py-xxl-0{ padding-top:0 !important; padding-bottom:0 !important; }
.py-xxl-1{ padding-top:.25rem !important; padding-bottom:.25rem !important; }
.py-xxl-2{ padding-top:.5rem !important; padding-bottom:.5rem !important; }
.py-xxl-3{ padding-top:1rem !important; padding-bottom:1rem !important; }
.py-xxl-4{ padding-top:1.5rem !important; padding-bottom:1.5rem !important; }
.py-xxl-5{ padding-top:3rem !important; padding-bottom:3rem !important; }
}
.text-start{ text-align:left !important; }
.text-center{ text-align:center !important; }
.text-end{ text-align:right !important; }
@media (min-width: 576px){
.text-sm-start{ text-align:left !important; }
.text-sm-center{ text-align:center !important; }
.text-sm-end{ text-align:right !important; }
}
@media (min-width: 768px){
.text-md-start{ text-align:left !important; }
.text-md-center{ text-align:center !important; }
.text-md-end{ text-align:right !important; }
}
@media (min-width: 992px){
.text-lg-start{ text-align:left !important; }
.text-lg-center{ text-align:center !important; }
.text-lg-end{ text-align:right !important; }
}
@media (min-width: 1200px){
.text-xl-start{ text-align:left !important; }
.text-xl-center{ text-align:center !important; }
.text-xl-end{ text-align:right !important; }
}
@media (min-width: 1400px){
.text-xxl-start{ text-align:left !important; }
.text-xxl-center{ text-align:center !important; }
.text-xxl-end{ text-align:right !important; }
}
.text-lowercase{ text-transform:lowercase !important; }
.text-uppercase{ text-transform:uppercase !important; }
.text-capitalize{ text-transform:capitalize !important; }
.fst-italic{ font-style:italic !important; }
.fst-normal{ font-style:normal !important; }
.fw-light{ font-weight:300 !important; }
.fw-normal{ font-weight:400 !important; }
.fw-medium{ font-weight:500 !important; }
.fw-semibold{ font-weight:600 !important; }
.fw-bold{ font-weight:700 !important; }
.fw-bolder{ font-weight:bolder !important; }
.fs-1{ font-size:2.5rem !important; } .fs-2{ font-size:2rem !important; } .fs-3{ font-size:1.75rem !important; }
.fs-4{ font-size:1.5rem !important; } .fs-5{ font-size:1.25rem !important; } .fs-6{ font-size:1rem !important; }
.lh-1{ line-height:1 !important; } .lh-sm{ line-height:1.25 !important; } .lh-base{ line-height:1.5 !important; } .lh-lg{ line-height:2 !important; }
.text-decoration-none{ text-decoration:none !important; }
.text-decoration-underline{ text-decoration:underline !important; }
.text-decoration-line-through{ text-decoration:line-through !important; }
.text-nowrap{ white-space:nowrap !important; }
.text-wrap{ white-space:normal !important; }
.text-break{ word-wrap:break-word !important; word-break:break-word !important; }
.text-truncate{ overflow:hidden !important; text-overflow:ellipsis !important; white-space:nowrap !important; }
.font-monospace{ font-family:SFMono-Regular,Menlo,Monaco,Consolas,monospace !important; }
.lead{ font-size:1.25rem; font-weight:300; }
.small{ font-size:.875em; }
.fst-normal{ font-style:normal !important; }
.text-primary{ color:var(--nc-c-primary) !important; }
.bg-primary{ background-color:var(--nc-c-primary) !important; }
.text-secondary{ color:var(--nc-c-secondary) !important; }
.bg-secondary{ background-color:var(--nc-c-secondary) !important; }
.text-success{ color:var(--nc-c-success) !important; }
.bg-success{ background-color:var(--nc-c-success) !important; }
.text-danger{ color:var(--nc-c-danger) !important; }
.bg-danger{ background-color:var(--nc-c-danger) !important; }
.text-warning{ color:var(--nc-c-warning) !important; }
.bg-warning{ background-color:var(--nc-c-warning) !important; }
.text-info{ color:var(--nc-c-info) !important; }
.bg-info{ background-color:var(--nc-c-info) !important; }
.text-light{ color:var(--nc-c-light) !important; }
.bg-light{ background-color:var(--nc-c-light) !important; }
.text-dark{ color:var(--nc-c-dark) !important; }
.bg-dark{ background-color:var(--nc-c-dark) !important; }
.text-body{ color:var(--nc-c-body) !important; }
.text-muted{ color:var(--nc-c-muted) !important; }
.text-white{ color:#fff !important; }
.text-black{ color:#000 !important; }
.text-reset{ color:inherit !important; }
.text-white-50{ color:rgba(255,255,255,.5) !important; }
.text-black-50{ color:rgba(0,0,0,.5) !important; }
.bg-white{ background-color:#fff !important; }
.bg-body{ background-color:#fff !important; }
.bg-transparent{ background-color:transparent !important; }
.border{ border:1px solid #dee2e6 !important; }
.border-0{ border:0 !important; }
.border-top{ border-top:1px solid #dee2e6 !important; } .border-top-0{ border-top:0 !important; }
.border-bottom{ border-bottom:1px solid #dee2e6 !important; } .border-bottom-0{ border-bottom:0 !important; }
.border-start{ border-left:1px solid #dee2e6 !important; } .border-start-0{ border-left:0 !important; }
.border-end{ border-right:1px solid #dee2e6 !important; } .border-end-0{ border-right:0 !important; }
.border-1{ border-width:1px !important; }
.border-2{ border-width:2px !important; }
.border-3{ border-width:3px !important; }
.border-4{ border-width:4px !important; }
.border-5{ border-width:5px !important; }
.border-primary{ border-color:var(--nc-c-primary) !important; }
.border-secondary{ border-color:var(--nc-c-secondary) !important; }
.border-success{ border-color:var(--nc-c-success) !important; }
.border-danger{ border-color:var(--nc-c-danger) !important; }
.border-warning{ border-color:var(--nc-c-warning) !important; }
.border-info{ border-color:var(--nc-c-info) !important; }
.border-light{ border-color:var(--nc-c-light) !important; }
.border-dark{ border-color:var(--nc-c-dark) !important; }
.rounded{ border-radius:var(--nc-rayon,.375rem) !important; }
.rounded-0{ border-radius:0 !important; }
.rounded-1{ border-radius:.25rem !important; } .rounded-2{ border-radius:.375rem !important; } .rounded-3{ border-radius:.5rem !important; }
.rounded-circle{ border-radius:50% !important; }
.rounded-pill{ border-radius:50rem !important; }
.rounded-top{ border-top-left-radius:var(--nc-rayon,.375rem) !important; border-top-right-radius:var(--nc-rayon,.375rem) !important; }
.rounded-bottom{ border-bottom-left-radius:var(--nc-rayon,.375rem) !important; border-bottom-right-radius:var(--nc-rayon,.375rem) !important; }
.rounded-start{ border-top-left-radius:var(--nc-rayon,.375rem) !important; border-bottom-left-radius:var(--nc-rayon,.375rem) !important; }
.rounded-end{ border-top-right-radius:var(--nc-rayon,.375rem) !important; border-bottom-right-radius:var(--nc-rayon,.375rem) !important; }
.shadow-none{ box-shadow:none !important; }
.shadow-sm{ box-shadow:0 .125rem .25rem rgba(0,0,0,.075) !important; }
.shadow{ box-shadow:0 .5rem 1rem rgba(0,0,0,.15) !important; }
.shadow-lg{ box-shadow:0 1rem 3rem rgba(0,0,0,.175) !important; }
.w-25{ width:25% !important; }
.h-25{ height:25% !important; }
.w-50{ width:50% !important; }
.h-50{ height:50% !important; }
.w-75{ width:75% !important; }
.h-75{ height:75% !important; }
.w-100{ width:100% !important; }
.h-100{ height:100% !important; }
.w-auto{ width:auto !important; } .h-auto{ height:auto !important; }
.mw-100{ max-width:100% !important; } .mh-100{ max-height:100% !important; }
.vw-100{ width:100vw !important; } .vh-100{ height:100vh !important; }
.min-vw-100{ min-width:100vw !important; } .min-vh-100{ min-height:100vh !important; }
.position-static{ position:static !important; } .position-relative{ position:relative !important; }
.position-absolute{ position:absolute !important; } .position-fixed{ position:fixed !important; } .position-sticky{ position:sticky !important; }
.top-0{ top:0 !important; } .top-50{ top:50% !important; } .top-100{ top:100% !important; }
.bottom-0{ bottom:0 !important; } .bottom-50{ bottom:50% !important; } .bottom-100{ bottom:100% !important; }
.start-0{ left:0 !important; } .start-50{ left:50% !important; } .start-100{ left:100% !important; }
.end-0{ right:0 !important; } .end-50{ right:50% !important; } .end-100{ right:100% !important; }
.translate-middle{ transform:translate(-50%,-50%) !important; }
.translate-middle-x{ transform:translateX(-50%) !important; } .translate-middle-y{ transform:translateY(-50%) !important; }
.overflow-auto{ overflow:auto !important; } .overflow-hidden{ overflow:hidden !important; }
.overflow-visible{ overflow:visible !important; } .overflow-scroll{ overflow:scroll !important; }
.d-grid{ display:grid !important; }
.visually-hidden{ position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
.invisible{ visibility:hidden !important; } .visible{ visibility:visible !important; }
.opacity-0{ opacity:0 !important; } .opacity-25{ opacity:.25 !important; } .opacity-50{ opacity:.5 !important; } .opacity-75{ opacity:.75 !important; } .opacity-100{ opacity:1 !important; }
.user-select-none{ user-select:none !important; }
.pe-none{ pointer-events:none !important; } .pe-auto{ pointer-events:auto !important; }
.nc-accordeon{ display:block; }
.nc-accordeon .nc-item{ border:1px solid rgba(0,0,0,.12); border-radius:var(--nc-rayon); overflow:hidden; }
.nc-accordeon .nc-item + .nc-item{ margin-top:.5rem; }
.nc-accordeon .nc-tete{ width:100%; text-align:left; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.25rem; background:none; border:0; font:inherit; cursor:pointer; color:inherit; }
.nc-accordeon .nc-tete:hover{ background:rgba(0,0,0,.03); }
.nc-accordeon .nc-fleche{ flex:0 0 auto; width:.7em; height:.7em; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); transition:transform var(--nc-duree) var(--nc-easing); }
.nc-accordeon .nc-item.nc-ouvert .nc-fleche{ transform:rotate(-135deg); }
.nc-accordeon .nc-corps{ height:0; overflow:hidden; transition:height var(--nc-duree) var(--nc-easing); }
.nc-accordeon .nc-contenu{ padding:0 1.25rem 1.25rem; }
@media (prefers-reduced-motion: reduce){
  .nc-accordeon .nc-corps{ transition:none !important; }
  .nc-accordeon .nc-fleche{ transition:none !important; }
}

.nc-ancres{display:flex;flex-wrap:wrap;gap:.4rem}
.nc-ancres a{text-decoration:none;color:#5b6068;font-weight:500;padding:.45rem .9rem;border-radius:var(--nc-rayon,.6rem);position:relative;transition:color var(--nc-duree,.25s) var(--nc-easing,ease),background-color var(--nc-duree,.25s) var(--nc-easing,ease)}
.nc-ancres a:hover{color:#16181d}
.nc-ancres a.nc-actif{color:var(--nc-accent,#3b6cff);background:rgba(59,108,255,.1)}
.nc-ancres a:focus-visible{outline:2px solid var(--nc-accent,#3b6cff);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.nc-ancres a{transition:none!important}}

.nc-annonce{position:relative;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:14px;padding:12px 52px;background:var(--nc-accent,#2b6cb0);color:#fff;font-size:14px;line-height:1.4;text-align:center;overflow:hidden;transition:transform var(--nc-duree,.35s) var(--nc-easing,ease),opacity var(--nc-duree,.35s) var(--nc-easing,ease),max-height var(--nc-duree,.35s) var(--nc-easing,ease),padding var(--nc-duree,.35s) var(--nc-easing,ease);max-height:120px}
.nc-annonce__texte{margin:0}
.nc-annonce__texte a{color:#fff;text-decoration:underline;font-weight:700}
.nc-annonce__fermer{position:absolute;top:50%;right:14px;transform:translateY(-50%);width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:var(--nc-rayon,50%);background:rgba(255,255,255,.15);color:#fff;font-size:18px;line-height:1;cursor:pointer;transition:background var(--nc-duree,.2s) var(--nc-easing,ease)}
.nc-annonce__fermer:hover{background:rgba(255,255,255,.3)}
.nc-annonce__fermer:focus-visible{outline:2px solid #fff;outline-offset:2px}
.nc-annonce.nc-ferme{max-height:0;padding-top:0;padding-bottom:0;opacity:0;transform:translateY(-100%)}
@media (prefers-reduced-motion: reduce){.nc-annonce{transition:opacity .01ms}.nc-annonce.nc-ferme{transform:none;max-height:0;opacity:0;padding-top:0;padding-bottom:0}}

.nc-bandeau-cookies{position:fixed;left:0;right:0;z-index:9995;box-sizing:border-box;display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:18px 22px;background:#1f2933;color:#fff;box-shadow:0 -2px 18px rgba(0,0,0,.3);transition:transform var(--nc-duree,.4s) var(--nc-easing,ease),opacity var(--nc-duree,.4s) var(--nc-easing,ease)}
.nc-bandeau-cookies[data-nc-position=bas]{bottom:0;transform:translateY(calc(100% + 30px))}
.nc-bandeau-cookies[data-nc-position=haut]{top:0;box-shadow:0 2px 18px rgba(0,0,0,.3);transform:translateY(calc(-100% - 30px))}
.nc-bandeau-cookies:not([data-nc-position]){bottom:0;transform:translateY(calc(100% + 30px))}
.nc-bandeau-cookies.nc-visible{transform:translateY(0)}
.nc-bandeau-cookies__texte{flex:1 1 280px;margin:0;font-size:14px;line-height:1.55}
.nc-bandeau-cookies__texte a{color:var(--nc-accent,#7eb6f0);text-decoration:underline}
.nc-bandeau-cookies__actions{display:flex;gap:10px;flex-wrap:wrap}
.nc-bandeau-cookies__btn{cursor:pointer;border:1px solid transparent;border-radius:var(--nc-rayon,6px);padding:9px 18px;font-size:14px;font-weight:600;line-height:1;transition:filter var(--nc-duree,.2s) var(--nc-easing,ease),background var(--nc-duree,.2s) var(--nc-easing,ease)}
.nc-bandeau-cookies__btn--accepter{background:var(--nc-accent,#2b6cb0);color:#fff}
.nc-bandeau-cookies__btn--accepter:hover{filter:brightness(1.12)}
.nc-bandeau-cookies__btn--refuser{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.nc-bandeau-cookies__btn--refuser:hover{background:rgba(255,255,255,.12)}
.nc-bandeau-cookies__btn:focus-visible{outline:3px solid var(--nc-accent,#7eb6f0);outline-offset:2px}
@media (prefers-reduced-motion: reduce){.nc-bandeau-cookies{transition:opacity .01ms}.nc-bandeau-cookies[data-nc-position=bas],.nc-bandeau-cookies[data-nc-position=haut],.nc-bandeau-cookies:not([data-nc-position]){transform:none;opacity:0;visibility:hidden}.nc-bandeau-cookies.nc-visible{transform:none;opacity:1;visibility:visible}}

.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; }
}

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-bento{ display:grid; gap:var(--nc-bento-gap, 1rem); grid-template-columns:repeat(var(--nc-bento-cols, 4), 1fr); grid-auto-rows:var(--nc-bento-ligne, 180px); grid-auto-flow:dense; }
.nc-bento-cell{ position:relative; overflow:hidden; border-radius:var(--nc-rayon); min-width:0; transition:opacity var(--nc-duree) var(--nc-easing) var(--nc-delai), transform var(--nc-duree) var(--nc-easing) var(--nc-delai); will-change:opacity,transform; }
.nc-bento-cell:not(.nc-in){ opacity:0; transform:translateY(calc(var(--nc-distance) * .5)); }
.nc-bento-cell[data-nc-large="2"]{ grid-column:span 2; }
.nc-bento-cell[data-nc-large="3"]{ grid-column:span 3; }
.nc-bento-cell[data-nc-large="4"]{ grid-column:span 4; }
.nc-bento-cell[data-nc-haut="2"]{ grid-row:span 2; }
.nc-bento-cell[data-nc-haut="3"]{ grid-row:span 3; }
.nc-bento-cell > img{ width:100%; height:100%; object-fit:cover; display:block; }
@media (max-width:768px){ .nc-bento{ grid-template-columns:repeat(2,1fr); } .nc-bento-cell[data-nc-large]{ grid-column:span 2; } .nc-bento-cell[data-nc-haut="3"]{ grid-row:span 2; } }
@media (max-width:480px){ .nc-bento{ grid-template-columns:1fr; } .nc-bento-cell[data-nc-large]{ grid-column:span 1; } .nc-bento-cell[data-nc-haut]{ grid-row:span 1; } }
@media (prefers-reduced-motion: reduce){ .nc-bento-cell{ transition:none !important; opacity:1 !important; transform:none !important; } }

.nc-bordure-anime{ --nc-ba-epaisseur:2px; --nc-ba-vitesse:4s; --nc-ba-c1:var(--nc-accent,#2563eb); --nc-ba-c2:#06b6d4; position:relative; border-radius:var(--nc-rayon); isolation:isolate; }
.nc-bordure-anime::before{ content:""; position:absolute; inset:0; border-radius:inherit; padding:var(--nc-ba-epaisseur); background:conic-gradient(from var(--nc-ba-angle,0deg), var(--nc-ba-c1), var(--nc-ba-c2), var(--nc-ba-c1)); -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask-composite:exclude; pointer-events:none; z-index:-1; }
.nc-bordure-anime[data-nc-style="rotatif"]::before{ animation:nc-ba-tourne var(--nc-ba-vitesse) linear infinite; }
.nc-bordure-anime[data-nc-style="trace"]::before{ background:conic-gradient(from -90deg, var(--nc-ba-c1) 0deg, var(--nc-ba-c1) var(--nc-ba-trace,0deg), transparent var(--nc-ba-trace,0deg)); transition:none; }
.nc-bordure-anime[data-nc-style="trace"].nc-in::before{ animation:nc-ba-trace var(--nc-ba-vitesse) var(--nc-easing) forwards; }
@property --nc-ba-angle{ syntax:"<angle>"; inherits:false; initial-value:0deg; }
@property --nc-ba-trace{ syntax:"<angle>"; inherits:false; initial-value:0deg; }
@keyframes nc-ba-tourne{ to{ --nc-ba-angle:360deg; } }
@keyframes nc-ba-trace{ from{ --nc-ba-trace:0deg; } to{ --nc-ba-trace:360deg; } }
@media (prefers-reduced-motion: reduce){ .nc-bordure-anime::before{ animation:none !important; --nc-ba-trace:360deg; } }

.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; }
}

.nc-temoignages{ position:relative; max-width:48rem; margin-inline:auto; text-align:center; }
.nc-temoignages-cadre{ position:relative; min-height:1px; }
.nc-temoignages-item{ position:absolute; inset:0; opacity:0; transform:translateY(8px); transition:opacity var(--nc-duree) var(--nc-easing), transform var(--nc-duree) var(--nc-easing); pointer-events:none; }
.nc-temoignages-item.nc-actif{ position:relative; opacity:1; transform:none; pointer-events:auto; }
.nc-temoignages-citation{ font-size:1.25rem; line-height:1.6; font-style:italic; color:#222; margin:0 0 1.5rem; }
.nc-temoignages-citation::before{ content:"\201C"; color:var(--nc-accent); font-size:2.5rem; line-height:0; vertical-align:-.35em; margin-right:.15em; }
.nc-temoignages-auteur{ display:flex; flex-direction:column; align-items:center; gap:.25rem; }
.nc-temoignages-avatar{ border-radius:999px; object-fit:cover; margin-bottom:.5rem; width:3.5rem; height:3.5rem; }
.nc-temoignages[data-nc-avatar="petit"] .nc-temoignages-avatar{ width:2.5rem; height:2.5rem; }
.nc-temoignages[data-nc-avatar="grand"] .nc-temoignages-avatar{ width:5rem; height:5rem; }
.nc-temoignages-nom{ font-weight:600; color:#111; }
.nc-temoignages-fonction{ font-size:.85rem; color:#777; }
.nc-temoignages-points{ display:flex; gap:.5rem; justify-content:center; margin-top:1.5rem; padding:0; list-style:none; }
.nc-temoignages-point{ width:.6rem; height:.6rem; padding:0; border:none; border-radius:999px; background:rgba(0,0,0,.2); cursor:pointer; transition:background .2s ease, width .25s ease; }
.nc-temoignages-point.nc-actif{ background:var(--nc-accent); width:1.5rem; }
@media (prefers-reduced-motion: reduce){
  .nc-temoignages-item{ transition:none !important; transform:none !important; }
  .nc-temoignages-point{ transition:none !important; }
}

.nc-carousel{ position:relative; --nc-carousel-vues:1; --nc-carousel-espace:16px; }
.nc-carousel-piste-cadre{ overflow:hidden; }
.nc-carousel-piste{ display:flex; gap:var(--nc-carousel-espace); transition:transform var(--nc-duree) var(--nc-easing); will-change:transform; touch-action:pan-y; }
.nc-carousel.nc-glisse .nc-carousel-piste{ transition:none; }
.nc-carousel-slide{ flex:0 0 calc((100% - (var(--nc-carousel-vues) - 1) * var(--nc-carousel-espace)) / var(--nc-carousel-vues)); box-sizing:border-box; }
.nc-carousel-slide>*{ height:100%; }
.nc-carousel-slide img{ display:block; width:100%; height:auto; }

/* Transition fondu : tous les slides empiles, on revele l'actif */
.nc-carousel[data-nc-transition="fondu"] .nc-carousel-piste{ display:block; position:relative; transform:none !important; }
.nc-carousel[data-nc-transition="fondu"] .nc-carousel-slide{ position:absolute; inset:0; width:100%; opacity:0; transition:opacity var(--nc-duree) var(--nc-easing); pointer-events:none; }
.nc-carousel[data-nc-transition="fondu"] .nc-carousel-slide.nc-actif{ opacity:1; pointer-events:auto; position:relative; }

/* Fleches */
.nc-carousel-fleche{ position:absolute; top:50%; transform:translateY(-50%); z-index:3; width:2.75rem; height:2.75rem; border:none; border-radius:999px; background:#fff; color:#111; box-shadow:0 2px 10px rgba(0,0,0,.18); cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:1.1rem; line-height:1; transition:background .2s ease, transform .2s ease, opacity .2s ease; }
.nc-carousel-fleche:hover{ background:var(--nc-accent); color:#fff; transform:translateY(-50%) scale(1.06); }
.nc-carousel-fleche.nc-prec{ left:.5rem; }
.nc-carousel-fleche.nc-suiv{ right:.5rem; }
.nc-carousel-fleche[disabled]{ opacity:.35; cursor:default; pointer-events:none; }

/* Points */
.nc-carousel-points{ display:flex; gap:.5rem; justify-content:center; margin-top:1rem; padding:0; list-style:none; }
.nc-carousel-point{ width:.65rem; height:.65rem; padding:0; border:none; border-radius:999px; background:rgba(0,0,0,.25); cursor:pointer; transition:background .2s ease, transform .2s ease, width .25s ease; }
.nc-carousel-point.nc-actif{ background:var(--nc-accent); width:1.6rem; border-radius:999px; }

@media (prefers-reduced-motion: reduce){
  .nc-carousel-piste{ transition:none !important; }
  .nc-carousel[data-nc-transition="fondu"] .nc-carousel-slide{ transition:none !important; }
  .nc-carousel-fleche{ transition:none !important; }
}

.nc-carte-relief{ display:grid; grid-template-columns:repeat(auto-fill, minmax(240px,1fr)); gap:1.25rem; }
.nc-carte-relief-item{ background:#fff; color:inherit; border:1px solid rgba(0,0,0,.08); border-radius:var(--nc-rayon); overflow:hidden; transition:transform var(--nc-duree) var(--nc-easing), box-shadow var(--nc-duree) var(--nc-easing), border-color var(--nc-duree) var(--nc-easing); will-change:transform; }
.nc-carte-relief[data-nc-ombre="legere"]{ --nc-relief-ombre:0 8px 20px rgba(0,0,0,.10); }
.nc-carte-relief[data-nc-ombre="moyenne"]{ --nc-relief-ombre:0 14px 32px rgba(0,0,0,.16); }
.nc-carte-relief[data-nc-ombre="forte"]{ --nc-relief-ombre:0 22px 48px rgba(0,0,0,.24); }
.nc-carte-relief-item img{ width:100%; display:block; }
.nc-carte-relief-item :where(h3,h4){ margin:0 0 .35rem; transition:color var(--nc-duree) var(--nc-easing); }
.nc-carte-relief-corps{ padding:1rem 1.1rem 1.2rem; }
.nc-carte-relief-item:hover, .nc-carte-relief-item:focus-within{ transform:translateY(calc(-1 * var(--nc-relief-leve, 8px))); box-shadow:var(--nc-relief-ombre, 0 14px 32px rgba(0,0,0,.16)); }
.nc-carte-relief[data-nc-couleur="true"] .nc-carte-relief-item:hover, .nc-carte-relief[data-nc-couleur="true"] .nc-carte-relief-item:focus-within{ border-color:var(--nc-accent); }
.nc-carte-relief[data-nc-couleur="true"] .nc-carte-relief-item:hover :where(h3,h4), .nc-carte-relief[data-nc-couleur="true"] .nc-carte-relief-item:focus-within :where(h3,h4){ color:var(--nc-accent); }
@media (prefers-reduced-motion: reduce){ .nc-carte-relief-item{ transition:box-shadow var(--nc-duree) var(--nc-easing), border-color var(--nc-duree) var(--nc-easing); } .nc-carte-relief-item:hover, .nc-carte-relief-item:focus-within{ transform:none !important; } }

/* Traitement de chargement scope a un conteneur (ex: le corps d'une liste).
   API : NC.charge(el) / NC.chargeFin(el).
   Spinner centre pose via ::before — compatible avec un conteneur dont le ::after
   est deja utilise (ex: le spacer d'une table virtuelle .table tbody::after).
   Etant un pseudo-element, il survit a un remplacement de innerHTML du conteneur. */

.nc-charge[aria-busy="true"] {
  position: relative;
}

.nc-charge[aria-busy="true"]::before {
  content: "";
  position: absolute;
  z-index: 6;
  top: 50%;
  left: 50%;
  width: 2em;
  height: 2em;
  margin: -1em 0 0 -1em;
  border-radius: 50%;
  border: .25em solid color-mix(in srgb, var(--nc-charge-couleur, var(--nc-accent, #8806ce)) 22%, transparent);
  border-top-color: var(--nc-charge-couleur, var(--nc-accent, #8806ce));
  pointer-events: none;
  /* Reste invisible puis fondu apres un delai : un chargement plus rapide que
     --nc-charge-delai (chargeFin avant) n'affiche jamais le spinner -> pas de clignotement. */
  opacity: 0;
  animation:
    nc-charge-rot .85s linear infinite,
    nc-charge-apparition .15s linear var(--nc-charge-delai, .4s) forwards;
}

@keyframes nc-charge-rot {
  to { transform: rotate(360deg); }
}

@keyframes nc-charge-apparition {
  from { opacity: 0; }
  to { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .nc-charge[aria-busy="true"]::before {
    animation: nc-charge-apparition .01s linear var(--nc-charge-delai, .4s) forwards;
  }
}

.nc-comparaison{ position:relative; overflow:hidden; user-select:none; line-height:0; --nc-comp-pos:50%; touch-action:none; }
.nc-comparaison img{ display:block; width:100%; height:auto; pointer-events:none; }
.nc-comparaison-avant{ position:absolute; inset:0; width:100%; height:100%; overflow:hidden; clip-path:inset(0 calc(100% - var(--nc-comp-pos)) 0 0); }
.nc-comparaison-avant img{ width:100%; height:100%; object-fit:cover; }
.nc-comparaison-poignee{ position:absolute; top:0; bottom:0; left:var(--nc-comp-pos); width:2px; background:#fff; box-shadow:0 0 0 1px rgba(0,0,0,.2); transform:translateX(-1px); z-index:3; cursor:ew-resize; }
.nc-comparaison-poignee::after{ content:"\2194"; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:2.25rem; height:2.25rem; border-radius:999px; background:#fff; color:#111; box-shadow:0 2px 8px rgba(0,0,0,.3); display:flex; align-items:center; justify-content:center; font-size:1rem; line-height:1; }
.nc-comparaison-etiquette{ position:absolute; bottom:.75rem; z-index:2; background:rgba(0,0,0,.6); color:#fff; font-size:.75rem; line-height:1; padding:.35rem .6rem; border-radius:var(--nc-rayon); pointer-events:none; }
.nc-comparaison-etiquette.nc-av{ left:.75rem; }
.nc-comparaison-etiquette.nc-ap{ right:.75rem; }
.nc-comparaison-poignee:focus-visible{ outline:none; }
.nc-comparaison-poignee:focus-visible::after{ outline:2px solid var(--nc-accent); outline-offset:2px; }
@media (prefers-reduced-motion: reduce){
  .nc-comparaison-avant, .nc-comparaison-poignee{ transition:none !important; }
}

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

.nc-curseur-anneau, .nc-curseur-point{ position: fixed; top:0; left:0; border-radius:50%; pointer-events:none; z-index: 99999; transform: translate(-50%,-50%); }
.nc-curseur-anneau{ width: var(--nc-curseur-taille, 36px); height: var(--nc-curseur-taille, 36px); border:2px solid var(--nc-accent); transition: width .25s var(--nc-easing), height .25s var(--nc-easing), background-color .25s var(--nc-easing), opacity .25s; opacity:0; }
.nc-curseur-point{ width:6px; height:6px; background: var(--nc-accent); opacity:0; transition: opacity .25s; }
.nc-curseur-anneau.nc-actif, .nc-curseur-point.nc-actif{ opacity:1; }
.nc-curseur-anneau.nc-survol{ width: calc(var(--nc-curseur-taille, 36px) * 1.7); height: calc(var(--nc-curseur-taille, 36px) * 1.7); background: color-mix(in srgb, var(--nc-accent) 18%, transparent); }
[data-nc-curseur-melange]{ mix-blend-mode: difference; }
[data-nc-curseur-melange] .nc-curseur-anneau{ border-color:#fff; }
[data-nc-curseur-melange] .nc-curseur-point{ background:#fff; }
@media (prefers-reduced-motion: reduce){
 .nc-curseur-anneau{ transition: opacity .25s !important; }
}
@media (hover: none){
 .nc-curseur-anneau, .nc-curseur-point{ display:none !important; }
}

.nc-degrade-anime{ --nc-c1:var(--nc-accent,#2563eb); --nc-c2:#7c3aed; --nc-c3:#06b6d4; --nc-vitesse:8s; position:relative; }

.nc-degrade-anime[data-nc-style="pan"]{ background-image:linear-gradient(120deg, var(--nc-c1), var(--nc-c2), var(--nc-c3), var(--nc-c1)); background-size:300% 300%; animation:nc-degrade-pan var(--nc-vitesse) linear infinite; }

.nc-degrade-anime[data-nc-style="morph"]{ background-image:radial-gradient(60% 80% at 20% 30%, var(--nc-c1), transparent 70%), radial-gradient(50% 70% at 80% 20%, var(--nc-c2), transparent 70%), radial-gradient(70% 90% at 50% 90%, var(--nc-c3), transparent 70%); background-color:#0b1020; background-size:200% 200%; animation:nc-degrade-morph var(--nc-vitesse) ease-in-out infinite; }

.nc-degrade-anime[data-nc-style="conique"]{ background-image:conic-gradient(from 0deg at 50% 50%, var(--nc-c1), var(--nc-c2), var(--nc-c3), var(--nc-c1)); animation:nc-degrade-tourne var(--nc-vitesse) linear infinite; }

.nc-degrade-anime[data-nc-texte]{ background-clip:text; -webkit-background-clip:text; color:transparent; -webkit-text-fill-color:transparent; display:inline-block; }

@keyframes nc-degrade-pan{ 0%{ background-position:0% 50%; } 100%{ background-position:200% 50%; } }
@keyframes nc-degrade-morph{ 0%{ background-position:0% 0%; } 50%{ background-position:100% 100%; } 100%{ background-position:0% 0%; } }
@keyframes nc-degrade-tourne{ to{ filter:hue-rotate(0deg); transform:rotate(0deg); } }
.nc-degrade-anime[data-nc-style="conique"]{ background-position:center; }

@media (prefers-reduced-motion: reduce){ .nc-degrade-anime{ animation:none !important; background-position:0% 50% !important; } }

.nc-dropdown{position:relative;display:inline-block}
.nc-dropdown[data-nc-mega=true]{position:static}
.nc-dropdown-bouton{display:inline-flex;align-items:center;gap:.35rem;background:transparent;border:0;color:inherit;font:inherit;font-weight:500;cursor:pointer;padding:.4rem .2rem}
.nc-dropdown-bouton .nc-dropdown-fleche{display:inline-block;width:.5rem;height:.5rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform var(--nc-duree,.3s) var(--nc-easing,ease)}
.nc-dropdown.nc-ouvert .nc-dropdown-fleche{transform:rotate(-135deg) translateY(-2px)}
.nc-dropdown-panneau{position:absolute;top:calc(100% + .5rem);left:0;min-width:230px;background:#fff;color:#16181d;border-radius:var(--nc-rayon,.6rem);box-shadow:0 14px 40px rgba(10,12,18,.16);padding:.5rem;z-index:60;list-style:none;margin:0;transition:opacity var(--nc-duree,.24s) var(--nc-easing,ease),transform var(--nc-duree,.24s) var(--nc-easing,ease),visibility var(--nc-duree,.24s)}
.nc-dropdown-panneau:not(.nc-ouvert){opacity:0;visibility:hidden;transform:translateY(var(--nc-distance,8px))}
.nc-dropdown-panneau.nc-ouvert{opacity:1;visibility:visible;transform:translateY(0)}
.nc-dropdown[data-nc-mega=true] .nc-dropdown-panneau{left:0;right:0;width:100%;min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.4rem 1.4rem;padding:1.4rem}
.nc-dropdown-panneau a,.nc-dropdown-panneau .nc-dropdown-lien{display:block;text-decoration:none;color:inherit;padding:.55rem .7rem;border-radius:calc(var(--nc-rayon,.6rem) - .2rem);font-size:.95rem;transition:background-color var(--nc-duree,.2s) var(--nc-easing,ease),color var(--nc-duree,.2s) var(--nc-easing,ease)}
.nc-dropdown-panneau a:hover,.nc-dropdown-panneau a:focus-visible{background:rgba(59,108,255,.1);color:var(--nc-accent,#3b6cff)}
.nc-dropdown-titre{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#8a8f99;padding:.4rem .7rem .2rem;font-weight:700}
.nc-dropdown :focus-visible{outline:2px solid var(--nc-accent,#3b6cff);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.nc-dropdown-panneau,.nc-dropdown-fleche{transition:none!important}}

.nc-etoiles {
  --nc-etoiles-taille: 1.4em;
  --nc-etoiles-vide: color-mix(in srgb, currentColor 22%, transparent);
  --nc-etoiles-pleine: var(--nc-accent, #f5a623);
  display: inline-flex;
  align-items: center;
  gap: .12em;
  line-height: 1;
  vertical-align: middle;
}

.nc-etoiles__etoile {
  position: relative;
  display: inline-block;
  width: var(--nc-etoiles-taille);
  height: var(--nc-etoiles-taille);
  flex: 0 0 auto;
}

.nc-etoiles__couche {
  position: absolute;
  inset: 0;
  background: currentColor;
  -webkit-mask: var(--nc-etoiles-svg) center / contain no-repeat;
  mask: var(--nc-etoiles-svg) center / contain no-repeat;
}

.nc-etoiles__couche--vide {
  color: var(--nc-etoiles-vide);
}

.nc-etoiles__couche--pleine {
  color: var(--nc-etoiles-pleine);
  width: var(--nc-fill, 0%);
  overflow: hidden;
  transition: width var(--nc-duree, .25s) var(--nc-easing, ease);
}

.nc-etoiles {
  --nc-etoiles-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l2.9 6.26 6.6.64-4.95 4.43 1.45 6.6L12 17.27 5.99 20.53l1.45-6.6L2.5 8.9l6.6-.64z'/%3E%3C/svg%3E");
}

.nc-etoiles--interactif {
  cursor: pointer;
  outline: none;
}

.nc-etoiles--interactif:focus-visible {
  outline: 2px solid var(--nc-accent, #f5a623);
  outline-offset: 3px;
  border-radius: var(--nc-rayon, .35rem);
}

.nc-etoiles--interactif .nc-etoiles__etoile {
  transition: transform var(--nc-duree, .18s) var(--nc-easing, ease);
}

.nc-etoiles--interactif:hover .nc-etoiles__etoile:hover {
  transform: scale(1.18);
}

.nc-etoiles__valeur {
  margin-left: .5em;
  font-size: .82em;
  opacity: .7;
  font-variant-numeric: tabular-nums;
}

@media (prefers-reduced-motion: reduce) {
  .nc-etoiles__couche--pleine,
  .nc-etoiles--interactif .nc-etoiles__etoile {
    transition: none !important;
  }
  .nc-etoiles--interactif:hover .nc-etoiles__etoile:hover {
    transform: none;
  }
}

.nc-faq {
  --nc-faq-bord: rgba(0, 0, 0, .1);
  display: block;
  border-top: 1px solid var(--nc-faq-bord);
}

.nc-faq__item {
  border-bottom: 1px solid var(--nc-faq-bord);
}

.nc-faq__entete {
  margin: 0;
}

.nc-faq__bouton {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  padding: 1.05rem .25rem;
  font: inherit;
  font-weight: 600;
  text-align: left;
  color: inherit;
  background: transparent;
  border: 0;
  cursor: pointer;
  outline: none;
  transition: color var(--nc-duree, .25s) var(--nc-easing, ease);
}

.nc-faq__bouton:hover {
  color: var(--nc-accent, #4f46e5);
}

.nc-faq__bouton:focus-visible {
  outline: 2px solid var(--nc-accent, #4f46e5);
  outline-offset: 2px;
  border-radius: var(--nc-rayon, .35rem);
}

.nc-faq__icone {
  flex: 0 0 auto;
  width: 1.1em;
  height: 1.1em;
  position: relative;
}

.nc-faq__icone::before,
.nc-faq__icone::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: .85em;
  height: 2px;
  background: currentColor;
  border-radius: 2px;
  transform: translate(-50%, -50%);
  transition: transform var(--nc-duree, .3s) var(--nc-easing, cubic-bezier(.4, 0, .2, 1)),
    opacity var(--nc-duree, .3s) var(--nc-easing, ease);
}

.nc-faq__bouton[aria-expanded="true"] .nc-faq__icone::after {
  transform: translate(-50%, -50%) rotate(90deg);
  opacity: 0;
}

.nc-faq__panneau {
  overflow: hidden;
  height: 0;
  transition: height var(--nc-duree, .3s) var(--nc-easing, cubic-bezier(.4, 0, .2, 1));
}

.nc-faq__item:not(.nc-faq--ouvert) .nc-faq__panneau {
  height: 0;
}

.nc-faq__corps {
  padding: 0 .25rem 1.15rem;
  opacity: 0;
  transform: translateY(-.35rem);
  transition: opacity var(--nc-duree, .3s) var(--nc-easing, ease),
    transform var(--nc-duree, .3s) var(--nc-easing, ease);
}

.nc-faq__item.nc-faq--ouvert .nc-faq__corps {
  opacity: 1;
  transform: none;
  transition-delay: .05s;
}

.nc-faq__corps > :first-child { margin-top: 0; }
.nc-faq__corps > :last-child { margin-bottom: 0; }

@media (prefers-reduced-motion: reduce) {
  .nc-faq__bouton,
  .nc-faq__icone::before,
  .nc-faq__icone::after,
  .nc-faq__panneau,
  .nc-faq__corps {
    transition: none !important;
  }
}

.nc-filtre{ display:block; }
.nc-filtre-barre{ display:flex; flex-wrap:wrap; gap:.5rem; margin:0 0 1.25rem; }
.nc-filtre-barre [data-filtre]{ cursor:pointer; border:1px solid rgba(0,0,0,.15); background:transparent; color:inherit; padding:.45em 1.05em; border-radius:999px; font:inherit; line-height:1.2; transition:background-color .25s var(--nc-easing), color .25s var(--nc-easing), border-color .25s var(--nc-easing); }
.nc-filtre-barre [data-filtre]:hover{ border-color:var(--nc-accent); }
.nc-filtre-barre [data-filtre].nc-actif{ background:var(--nc-accent); border-color:var(--nc-accent); color:#fff; }
.nc-filtre-grille{ position:relative; display:grid; grid-template-columns:repeat(auto-fill, minmax(220px,1fr)); gap:1rem; align-items:start; }
.nc-filtre-item{ transition:opacity var(--nc-duree) var(--nc-easing), transform var(--nc-duree) var(--nc-easing); will-change:transform,opacity; }
.nc-filtre-item.nc-masque{ opacity:0; transform:scale(.92); pointer-events:none; }
.nc-filtre-item[hidden]{ display:none; }
@media (prefers-reduced-motion: reduce){ .nc-filtre-item{ transition:none !important; } .nc-filtre-barre [data-filtre]{ transition:none !important; } }

.nc-flottement{ --nc-fl-amp:12px; --nc-fl-vitesse:3s; display:inline-block; will-change:transform; }
.nc-flottement[data-nc-type="float"]{ animation:nc-fl-float var(--nc-fl-vitesse) ease-in-out infinite; }
.nc-flottement[data-nc-type="oscille"]{ animation:nc-fl-oscille var(--nc-fl-vitesse) ease-in-out infinite; }
.nc-flottement[data-nc-type="bob"]{ animation:nc-fl-bob var(--nc-fl-vitesse) ease-in-out infinite; }
.nc-flottement[data-nc-type="scroll-indicator"]{ animation:nc-fl-scroll var(--nc-fl-vitesse) cubic-bezier(.65,0,.35,1) infinite; }
@keyframes nc-fl-float{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(calc(-1 * var(--nc-fl-amp))); } }
@keyframes nc-fl-oscille{ 0%,100%{ transform:translateX(calc(-1 * var(--nc-fl-amp))); } 50%{ transform:translateX(var(--nc-fl-amp)); } }
@keyframes nc-fl-bob{ 0%,100%{ transform:translateY(0) rotate(-2deg); } 50%{ transform:translateY(calc(-1 * var(--nc-fl-amp))) rotate(2deg); } }
@keyframes nc-fl-scroll{ 0%{ transform:translateY(0); opacity:0; } 30%{ opacity:1; } 100%{ transform:translateY(var(--nc-fl-amp)); opacity:0; } }
@media (prefers-reduced-motion: reduce){ .nc-flottement{ animation:none !important; } }

/* noma-crea front — formulaires (compatibles Bootstrap 5, CSS pur, zero dependance).
   - Présentation HARMONISÉE de tous les types de champ (texte, email, date, number,
     select, textarea, file, range, checkbox/radio/switch, color).
   - Personnalisation par couleur : classe .nc-primary / .nc-success / .nc-danger /
     .nc-warning / .nc-info / .nc-dark posée sur un CHAMP ou un CONTENEUR (thème tous ses
     champs via l'héritage de --nc-champ-accent). Défaut = --nc-accent.
   - Variante 1 : libellé au-dessus (.form-label + .form-control empilés).
   - Variante 2 : libellé flottant (.form-floating) — l'input doit avoir placeholder=" ". */

/* ---- Accent + rayon locaux (personnalisables) ---- */
:root{
  --nc-champ-bord:#ccd2dd;
  --nc-champ-bord-focus:var(--nc-champ-accent,var(--nc-accent,#2563eb));
  --nc-champ-rayon:var(--nc-rayon,.5rem);
  --nc-champ-bg:#fff;
  --nc-champ-bg-soft:#f1f3f7;
  --nc-champ-texte:#1f2430;
  --nc-champ-muted:#6c757d;
  --nc-champ-placeholder:#9aa3b2;
  --nc-champ-focus-shadow:color-mix(in srgb, var(--nc-champ-accent,var(--nc-accent,#2563eb)) 22%, transparent);
}
/* Variante : champs sans coins arrondis (poser .nc-carre sur le champ ou un conteneur) */
.nc-carre{ --nc-champ-rayon:0; }
.nc-primary{ --nc-champ-accent: var(--nc-c-primary,#2563eb); }
.nc-secondary{ --nc-champ-accent: var(--nc-c-secondary,#6c757d); }
.nc-success{ --nc-champ-accent: var(--nc-c-success,#198754); }
.nc-danger{  --nc-champ-accent: var(--nc-c-danger,#dc3545); }
.nc-warning{ --nc-champ-accent: var(--nc-c-warning,#f59e0b); }
.nc-info{    --nc-champ-accent: var(--nc-c-info,#0dcaf0); }
.nc-dark{    --nc-champ-accent: var(--nc-c-dark,#212529); }

/* ---- Libellé (variante 1 : au-dessus) ---- */
.form-label{ display:inline-block; margin-bottom:.2rem; font-weight:500; font-size:.95rem; color:inherit; }
.bloc{ display:block; }
.nc-form-groupe{ margin-bottom:.55rem; }
.form-text{ display:block; margin-top:.3rem; font-size:.85rem; color:#6c757d; }

/* ---- Base commune à TOUS les champs texte + select + textarea ---- */
.form-control,
.form-select{
  display:block; width:100%; min-height:2.7rem; padding:.6rem .85rem;
  font-family:inherit; font-size:1rem; line-height:1.5; color:var(--nc-champ-texte);
  background-color:var(--nc-champ-bg); background-clip:padding-box;
  border:1px solid var(--nc-champ-bord); border-radius:var(--nc-champ-rayon,.5rem);
  transition:border-color .18s var(--nc-easing,ease), box-shadow .18s var(--nc-easing,ease);
  -webkit-appearance:none; appearance:none;
}
.form-control::placeholder{ color:var(--nc-champ-placeholder); opacity:1; }
.form-control:focus,
.form-select:focus,
.form-range:focus,
.form-check-input:focus{
  outline:0; border-color:var(--nc-champ-bord-focus);
  box-shadow:0 0 0 3px var(--nc-champ-focus-shadow);
}
.form-control:disabled,
.form-select:disabled,
.form-control[readonly]{ background-color:var(--nc-champ-bg-soft); opacity:.85; cursor:not-allowed; }
textarea.form-control{ min-height:120px; resize:vertical; }
.form-control-lg{ min-height:3.1rem; padding:.78rem 1rem; font-size:1.12rem; }
.form-control-sm{ min-height:2.2rem; padding:.35rem .6rem; font-size:.875rem; }

/* Select : chevron CSS (pas d'image externe) */
.form-select{
  padding-right:2.3rem;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%2351607a' stroke-width='2' d='M2 5l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right .85rem center; background-size:.85em;
}
select.form-select[multiple]{ background-image:none; padding-right:.85rem; }

/* Champs natifs particuliers, harmonisés à la même base */
.form-control[type="date"], .form-control[type="time"], .form-control[type="datetime-local"],
.form-control[type="month"], .form-control[type="week"], .form-control[type="number"],
.form-control[type="search"], .form-control[type="tel"], .form-control[type="url"]{ min-height:2.7rem; }
.form-control[type="search"]{ -webkit-appearance:none; }
.form-control::-webkit-calendar-picker-indicator{ cursor:pointer; opacity:.6; }
.form-control:hover::-webkit-calendar-picker-indicator{ opacity:1; }

/* Fichier */
.form-control[type="file"]{ padding:.45rem .85rem; cursor:pointer; }
.form-control[type="file"]::file-selector-button{
  margin:-.45rem .85rem -.45rem -.85rem; padding:.55rem .85rem; border:0;
  border-right:1px solid var(--nc-champ-bord); background:#f1f3f7; color:#1f2430;
  font:inherit; cursor:pointer; transition:background .15s;
}
.form-control[type="file"]:hover::file-selector-button{ background:var(--nc-champ-accent,var(--nc-accent,#2563eb)); color:#fff; }

/* Couleur */
.form-control-color{ width:3rem; height:2.7rem; padding:.3rem; }
.form-control-color::-webkit-color-swatch{ border-radius:max(0px, calc(var(--nc-champ-rayon,.5rem) - .2rem)); border:0; }

/* Range */
.form-range{ width:100%; height:1.5rem; padding:0; background:transparent; -webkit-appearance:none; appearance:none; }
.form-range::-webkit-slider-runnable-track{ height:.35rem; background:#dee2e6; border-radius:1rem; }
.form-range::-moz-range-track{ height:.35rem; background:#dee2e6; border-radius:1rem; }
.form-range::-webkit-slider-thumb{ -webkit-appearance:none; margin-top:-.4rem; width:1.15rem; height:1.15rem; background:var(--nc-champ-accent,var(--nc-accent,#2563eb)); border:0; border-radius:50%; cursor:pointer; }
.form-range::-moz-range-thumb{ width:1.15rem; height:1.15rem; background:var(--nc-champ-accent,var(--nc-accent,#2563eb)); border:0; border-radius:50%; cursor:pointer; }

/* ---- Cases à cocher / radios (custom, recolorés par l'accent) ---- */
.form-check{ display:flex; align-items:flex-start; gap:.6rem; margin-bottom:.225rem; }
.form-check-input{
  flex:0 0 auto; width:1.3em; height:1.3em; margin-top:.12em; cursor:pointer;
  -webkit-appearance:none; appearance:none;
  background-color:#fff; border:1.6px solid var(--nc-champ-bord); border-radius:.35em;
  background-position:center; background-repeat:no-repeat; background-size:.85em .85em;
  transition:background-color .15s var(--nc-easing,ease), border-color .15s var(--nc-easing,ease), box-shadow .15s var(--nc-easing,ease);
}
.form-check-input[type="radio"]{ border-radius:50%; }
.form-check-input:hover{ border-color:var(--nc-champ-accent,var(--nc-accent,#2563eb)); }
.form-check-input:checked{ background-color:var(--nc-champ-accent,var(--nc-accent,#2563eb)); border-color:var(--nc-champ-accent,var(--nc-accent,#2563eb)); }
.form-check-input[type="checkbox"]:checked{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.5l3 3 6-7'/%3E%3C/svg%3E"); }
.form-check-input[type="radio"]:checked{ background-image:radial-gradient(circle, #fff 0 33%, transparent 38%); }
.form-check-input:disabled{ opacity:.5; cursor:not-allowed; }
.form-check-label{ cursor:pointer; line-height:1.3; }
/* variante carrée : cases sans arrondi (le radio reste rond) */
.nc-carre .form-check-input[type="checkbox"]{ border-radius:0; }

/* Interrupteur (switch) custom, recoloré par l'accent */
.form-switch .form-check-input{
  appearance:none; -webkit-appearance:none; position:relative; width:2.3em; height:1.25em;
  margin-top:.1em; background:#ccd2dd; border:0; border-radius:2em; background-image:none; transition:background .2s var(--nc-easing,ease);
}
.form-switch .form-check-input::after{
  content:""; position:absolute; top:2px; left:2px; width:calc(1.25em - 4px); height:calc(1.25em - 4px);
  background:#fff; border-radius:50%; transition:left .2s var(--nc-easing,ease);
}
.form-switch .form-check-input:checked{ background:var(--nc-champ-accent,var(--nc-accent,#2563eb)); }
.form-switch .form-check-input:checked::after{ left:calc(100% - 1.25em + 2px); }
/* Switcher dans une cellule de tableau : léger décalage vertical */
td .form-switch{ margin-top:2px; }

/* ---- Groupe (input-group) ---- */
.input-group{ display:flex; width:100%; }
.input-group > .form-control{ flex:1 1 auto; width:1%; }
.input-group > .form-control:not(:first-child){ border-top-left-radius:0; border-bottom-left-radius:0; }
.input-group > .form-control:not(:last-child){ border-top-right-radius:0; border-bottom-right-radius:0; }
.input-group-text{ display:flex; align-items:center; padding:.6rem .85rem; background:var(--nc-champ-bg-soft); border:1px solid var(--nc-champ-bord); color:var(--nc-champ-muted); }
.input-group-text:first-child{ border-right:0; border-radius:var(--nc-champ-rayon,.5rem) 0 0 var(--nc-champ-rayon,.5rem); }
.input-group-text:last-child{ border-left:0; border-radius:0 var(--nc-champ-rayon,.5rem) var(--nc-champ-rayon,.5rem) 0; }

/* ---- États de validation ---- */
.form-control.is-invalid, .form-select.is-invalid{ border-color:#dc3545; }
.form-control.is-invalid:focus{ box-shadow:0 0 0 3px rgba(220,53,69,.22); }
.form-control.is-valid, .form-select.is-valid{ border-color:#198754; }
.invalid-feedback{ display:none; margin-top:.3rem; font-size:.85rem; color:#dc3545; }
.valid-feedback{ display:none; margin-top:.3rem; font-size:.85rem; color:#198754; }
.is-invalid ~ .invalid-feedback,
.was-validated .form-control:invalid ~ .invalid-feedback{ display:block; }
.is-valid ~ .valid-feedback{ display:block; }

/* ============================================================
   VARIANTE 2 — Libellé flottant (.form-floating)
   ============================================================ */
.form-floating{ position:relative; }
.form-floating > .form-control,
.form-floating > .form-select{
  box-sizing:border-box; height:44px; min-height:44px;
  padding:17px .75rem 5px; font-size:14px; line-height:20px;
}
.form-floating > textarea.form-control{
  height:auto; min-height:86px; padding-top:18px; padding-bottom:8px;
  font-size:14px; line-height:1.45;
}
.form-floating > select.form-select,
.form-floating > select.form-control{ padding-right:2.1rem; margin-bottom:.5rem; }
.form-floating > label{
  position:absolute; top:.42rem; left:.85rem; z-index:2; max-width:calc(100% - 1.7rem);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  color:var(--nc-champ-muted); pointer-events:none;
  font-size:.78rem; font-weight:600; line-height:1;
}
.form-floating > .form-control:not(:focus)::placeholder{ color:transparent; }

/* ============================================================
   Champs WiseDyn (.champ)
   Variante compacte type form-floating, sans animation.
   Le libellé reste en haut du contrôle, même si le markup place le label avant l'input.
   ============================================================ */
.champ{
  position:relative; display:flex; flex-direction:column; gap:5px;
  margin-bottom:7px; min-width:0;
}
.champ-inline{ display:inline-flex; vertical-align:top; margin-right:14px; }
.champs-ligne{ display:flex; flex-wrap:wrap; gap:0 14px; align-items:flex-start; }

.champ > .champ-label,
.champ-groupe > .champ-label{
  position:absolute; top:7px; left:12px; z-index:2; max-width:calc(100% - 24px);
  display:inline-flex; align-items:center; gap:5px;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  color:var(--nc-champ-muted); pointer-events:none;
  font-size:11px; font-weight:650; line-height:1;
}
.champ-groupe > .champ-label{ max-width:calc(100% - 64px); }
.champ-label sup,
.champ-oblig{ color:#e5484d; font-size:11px; }

.champ-input,
.champ-select,
.champ-textarea{
  box-sizing:border-box; width:100%; min-height:44px;
  padding:18px 11px 5px; border:1px solid var(--nc-champ-bord);
  border-radius:var(--nc-champ-rayon); background:var(--nc-champ-bg);
  color:var(--nc-champ-texte); font:inherit; font-size:14px;
  transition:border-color .15s, box-shadow .15s;
}
.champ-input,
.champ-select{ height:44px; }
.champ-nombre .champ-input{ max-width:140px; text-align:right; }
.champ-date .champ-input{ max-width:160px; }
.champ-heure .champ-input,
.heures .champ-input{ max-width:120px; }
.champ-textarea{ min-height:94px; padding-top:18px; resize:vertical; line-height:1.5; }
.champ-select{
  appearance:none; -webkit-appearance:none; padding-right:32px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23808a99' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 11px center; cursor:pointer;
}
.champ-input:focus,
.champ-select:focus,
.champ-textarea:focus{
  outline:none; border-color:var(--nc-champ-bord-focus); box-shadow:0 0 0 3px var(--nc-champ-focus-shadow);
}
.champ-input[readonly],
.champ-textarea[readonly],
.champ-input:disabled,
.champ-select:disabled{ background:var(--nc-champ-bg-soft); color:var(--nc-champ-muted); cursor:default; }
.champ-input::placeholder,
.champ-textarea::placeholder{ color:transparent; }

.champ-coche{ flex-direction:row; align-items:center; gap:9px; margin-bottom:6px; }
.champ-coche input[type="checkbox"],
.champ-coche input[type="radio"]{ width:18px; height:18px; margin:0; accent-color:var(--nc-champ-accent,var(--nc-accent,#2563eb)); cursor:pointer; }
.champ-coche .champ-label{
  position:static; max-width:none; margin:0; color:var(--nc-champ-texte);
  pointer-events:auto; font-size:12px; font-weight:500; cursor:pointer;
}

.champ-quill{ position:relative; }
.champ-quill > .champ-label{
  position:absolute;
  top:12px;
  left:5px;
  right:auto;
  z-index:2;
  max-width:calc(100% - 10px);
  margin:0;
  padding:0 6px;
  border-radius:4px;
  background:color-mix(in srgb, var(--nc-champ-bg, #fff) 92%, transparent);
  color:var(--nc-champ-muted);
  pointer-events:none;
  font-size:12px;
  font-weight:600;
  transition:top .18s ease;
}
.champ-quill.quill-toolbar-visible > .champ-label{
  top:calc(var(--quill-toolbar-height, 40px) + 10px);
}
.champ-quill .quill-editor-wrapper{
  --quill-base-min-height:120px;
  position:relative;
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
  margin-top:.5rem;
  overflow:hidden;
  border:1px solid var(--nc-champ-bord);
  border-radius:var(--nc-champ-rayon);
  background:var(--nc-champ-bg);
  color:var(--nc-champ-texte);
  transition:border-color .15s, box-shadow .15s;
}
.champ-quill .quill-editor-wrapper.quill-focus,
.champ-quill .quill-editor-wrapper.quill-code,
.champ-quill .quill-editor-wrapper.quill-fullscreen{
  overflow:visible;
  border-color:var(--nc-champ-bord-focus);
  box-shadow:0 0 0 3px var(--nc-champ-focus-shadow);
}
.champ-quill .quill-editor-wrapper .ql-editor{
  min-height:var(--quill-base-min-height, 120px);
  padding-top:19px;
  transition:padding-top .15s ease;
}
.champ-quill .quill-editor{ background:var(--nc-champ-bg); color:var(--nc-champ-texte); }
.champ-quill .quill-editor-wrapper .ql-container.ql-snow,
.champ-quill .quill-editor-wrapper .quill-code-view{
  min-height:var(--quill-base-min-height, 120px);
  min-width:0;
  width:100%;
  box-sizing:border-box;
  border:0 !important;
  border-radius:var(--nc-champ-rayon);
  background:transparent;
  color:var(--nc-champ-texte);
  box-shadow:none;
}
.champ-quill .quill-editor-wrapper .quill-code-view{
  display:none;
  width:100%;
  padding-top:24px;
}
.champ-quill .quill-editor-wrapper.quill-code .quill-code-view{
  display:block;
}
.champ-quill .quill-editor-wrapper .ql-toolbar{
  position:absolute;
  top:0;
  left:0;
  right:0;
  z-index:5;
  padding:4px 8px;
  border-bottom:1px solid var(--nc-champ-bord);
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transition:opacity .15s ease, visibility .15s ease;
}
.champ-quill .quill-editor-wrapper .ql-toolbar.ql-snow{
  border-width:0 0 1px 0 !important;
  border-style:solid !important;
  border-color:var(--nc-champ-bord) !important;
  border-radius:var(--nc-champ-rayon) var(--nc-champ-rayon) 0 0;
  background:var(--nc-champ-bg);
  padding:4px 8px !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.champ-quill .quill-editor-wrapper.quill-focus .ql-toolbar,
.champ-quill .quill-editor-wrapper.quill-code .ql-toolbar,
.champ-quill .quill-editor-wrapper.quill-fullscreen .ql-toolbar{
  visibility:visible;
  opacity:1;
  overflow:visible;
  pointer-events:auto;
}
.champ-quill .quill-editor-wrapper.quill-focus .ql-toolbar.ql-snow,
.champ-quill .quill-editor-wrapper.quill-code .ql-toolbar.ql-snow,
.champ-quill .quill-editor-wrapper.quill-fullscreen .ql-toolbar.ql-snow{
  visibility:visible !important;
  opacity:1 !important;
  overflow:visible !important;
  pointer-events:auto !important;
}
.champ-quill .quill-editor-wrapper .ql-toolbar.ql-snow .ql-formats button,
.champ-quill .quill-editor-wrapper .ql-toolbar.ql-snow .ql-formats .ql-picker-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:0;
  margin-right:0;
  padding-left:5px;
  padding-right:5px;
  border-radius:3px;
  overflow:visible;
}
.champ-quill .quill-editor-wrapper .ql-toolbar.ql-snow .ql-formats{
  margin-right:3px;
}
.champ-quill .quill-editor-wrapper .ql-toolbar.ql-snow .ql-formats + .ql-formats{
  margin-left:3px;
  padding-left:4px;
}
.champ-quill .quill-editor-wrapper .ql-toolbar.ql-snow .ql-formats button .sfs,
.champ-quill .quill-editor-wrapper .ql-toolbar.ql-snow .ql-formats .ql-picker-label .sfs{
  font-size:16px;
  line-height:1;
}
.champ-quill .quill-editor-wrapper .ql-toolbar .ql-header .ql-picker-label::before{
  content:none !important;
}
.champ-quill .quill-editor-wrapper .ql-toolbar .ql-header .ql-picker-label .ql-header-icon{
  margin-right:6px;
  font-size:14px;
  line-height:1;
}
.champ-quill .quill-editor-wrapper .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-label,
.champ-quill .quill-editor-wrapper .ql-toolbar.ql-snow .ql-header.ql-picker.ql-expanded .ql-picker-label{
  justify-content:flex-start;
  text-align:left;
}
.champ-quill .quill-editor-wrapper .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item{
  text-align:left;
}
.champ-quill .quill-editor-wrapper .ql-toolbar .ql-header .ql-picker-label .ql-header-text{
  font-size:13px;
}

.champ-color-row{ display:flex; align-items:center; gap:8px; padding-top:18px; }
.champ-color{ flex:0 0 auto; width:46px; height:44px; padding:3px; border:1px solid var(--nc-champ-bord); border-radius:var(--nc-champ-rayon); background:var(--nc-champ-bg); cursor:pointer; }
.champ-color-hex{ flex:1 1 auto; max-width:160px; }

.champ-lien{ position:relative; }
.champ-ac-suggestions{
  position:absolute; left:0; right:0; top:100%; z-index:60; margin-top:3px;
  max-height:280px; overflow-y:auto; display:none;
  background:var(--nc-champ-bg); border:1px solid var(--nc-champ-bord);
  border-radius:var(--nc-champ-rayon); box-shadow:0 10px 28px rgba(0,0,0,.14);
}
.champ-ac-suggestions.is-open{ display:block; }
.champ-ac-item{ padding:7px 11px; cursor:pointer; font-size:13px; display:flex; gap:8px; align-items:baseline; }
.champ-ac-item b{ flex:0 0 auto; min-width:150px; }
.champ-ac-item small{ color:var(--nc-champ-muted); }
.champ-ac-item:hover,
.champ-ac-item.is-active{ background:color-mix(in srgb, var(--nc-champ-accent,var(--nc-accent,#2563eb)) 12%, transparent); }

.champ-groupe{ position:relative; display:block; }
.champ-groupe .champ-input,
.champ-groupe .champ-select{
  width:100% !important; max-width:100% !important;
  padding-right:44px; border-radius:var(--nc-champ-rayon);
}
.champ-groupe-btn{
  position:absolute; right:5px; top:50%; transform:translateY(-50%);
  display:grid; place-items:center; width:32px; height:32px; padding:0;
  border:0; border-radius:var(--nc-champ-rayon);
  background:transparent; color:var(--nc-champ-accent,var(--nc-accent,#2563eb)); cursor:pointer;
  transition:background .15s var(--nc-easing,ease), color .15s var(--nc-easing,ease);
}
.champ-groupe-btn:hover{ background:#ddd; color:var(--nc-champ-accent,var(--nc-accent,#2563eb)); }
.champ-label .fa-pencil,
.champ-label .text-success{ color:#2e9e5b; }

@media (prefers-reduced-motion: reduce){
  .form-control, .form-select, .form-range, .form-switch .form-check-input,
  .form-switch .form-check-input::after, .form-floating > label{ transition:none; }
}

.nc-gallery-filter{display:block}
.nc-gallery-filter-barre{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}
.nc-gallery-filter-barre [data-nc-filtre]{border:1px solid rgba(0,0,0,.15);background:transparent;color:inherit;padding:.4rem .9rem;border-radius:999px;cursor:pointer;font:inherit;font-size:.9rem;transition:background .2s,color .2s,border-color .2s}
.nc-gallery-filter-barre [data-nc-filtre]:hover{border-color:var(--nc-accent)}
.nc-gallery-filter-barre [data-nc-filtre].nc-actif{background:var(--nc-accent);border-color:var(--nc-accent);color:#fff}
.nc-gallery-filter-grille{display:grid;grid-template-columns:repeat(var(--nc-colonnes,3),1fr);gap:.85rem}
.nc-gallery-filter[data-nc-layout="masonry"] .nc-gallery-filter-grille{display:block;column-count:var(--nc-colonnes,3);column-gap:.85rem}
.nc-gallery-filter[data-nc-layout="masonry"] .nc-gallery-filter-item{display:inline-block;width:100%;margin:0 0 .85rem;break-inside:avoid}
.nc-gallery-filter-item{transition:transform var(--nc-vitesse,.5s) var(--nc-easing-filtre,cubic-bezier(.2,.7,.2,1)),opacity var(--nc-vitesse,.5s) var(--nc-easing-filtre,cubic-bezier(.2,.7,.2,1));will-change:transform,opacity}
.nc-gallery-filter-item img{display:block;width:100%;height:auto;border-radius:var(--nc-rayon)}
.nc-gallery-filter-item.nc-cache{opacity:0;transform:scale(.85);pointer-events:none}
.nc-gallery-filter-item.nc-retire{display:none}
.nc-gallery-filter-item.nc-flip{transition:none}
@media (prefers-reduced-motion: reduce){.nc-gallery-filter-item{transition:opacity .15s linear!important;transform:none!important}.nc-gallery-filter-item.nc-cache{transform:none!important}}

.nc-grain{ position:relative; }
.nc-grain > .nc-grain-couche{ position:absolute; inset:0; pointer-events:none; z-index:1; opacity:var(--nc-grain-intensite,.12); background-repeat:repeat; background-size:160px 160px; mix-blend-mode:overlay; }
.nc-grain[data-nc-anime] > .nc-grain-couche{ animation:nc-grain-bouge var(--nc-grain-vitesse,.8s) steps(4) infinite; }
@keyframes nc-grain-bouge{ 0%{ transform:translate(0,0); } 25%{ transform:translate(-5%,-5%); } 50%{ transform:translate(4%,-2%); } 75%{ transform:translate(-2%,5%); } 100%{ transform:translate(0,0); } }
@media (prefers-reduced-motion: reduce){ .nc-grain > .nc-grain-couche{ animation:none !important; } }

.nc-grid-entry{--nc-distance:40px;--nc-angle:90deg}
.nc-grid-entry>*{transition:opacity var(--nc-vitesse,.6s) var(--nc-easing) var(--nc-delai-item,0ms),transform var(--nc-vitesse,.6s) var(--nc-easing) var(--nc-delai-item,0ms);will-change:opacity,transform}
.nc-grid-entry[data-nc-effet="flip-x"],.nc-grid-entry[data-nc-effet="flip-y"],.nc-grid-entry[data-nc-effet="chute"],.nc-grid-entry[data-nc-effet="helice"]{perspective:1000px}
.nc-grid-entry>*:not(.nc-in){opacity:0}
.nc-grid-entry[data-nc-effet="zoom"]>*:not(.nc-in){transform:scale(.6)}
.nc-grid-entry[data-nc-effet="translation"][data-nc-direction="haut"]>*:not(.nc-in){transform:translateY(var(--nc-distance))}
.nc-grid-entry[data-nc-effet="translation"][data-nc-direction="bas"]>*:not(.nc-in){transform:translateY(calc(-1 * var(--nc-distance)))}
.nc-grid-entry[data-nc-effet="translation"][data-nc-direction="gauche"]>*:not(.nc-in){transform:translateX(var(--nc-distance))}
.nc-grid-entry[data-nc-effet="translation"][data-nc-direction="droite"]>*:not(.nc-in){transform:translateX(calc(-1 * var(--nc-distance)))}
.nc-grid-entry[data-nc-effet="flip-x"]>*:not(.nc-in){transform:rotateX(calc(-1 * var(--nc-angle)))}
.nc-grid-entry[data-nc-effet="flip-y"]>*:not(.nc-in){transform:rotateY(var(--nc-angle))}
.nc-grid-entry[data-nc-effet="chute"]>*:not(.nc-in){transform:translateY(calc(-1 * var(--nc-distance))) rotateX(calc(-1 * var(--nc-angle)))}
.nc-grid-entry[data-nc-effet="helice"]>*:not(.nc-in){transform:rotateY(var(--nc-angle)) translateZ(60px)}
.nc-grid-entry[data-nc-effet="rebond"]>*:not(.nc-in){transform:translateY(var(--nc-distance)) scale(.9)}
.nc-grid-entry[data-nc-effet="rebond"]>*{transition:opacity var(--nc-vitesse,.6s) var(--nc-easing) var(--nc-delai-item,0ms),transform var(--nc-vitesse,.6s) cubic-bezier(.34,1.56,.64,1) var(--nc-delai-item,0ms)}
.nc-grid-entry>*.nc-in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.nc-grid-entry>*{opacity:1!important;transform:none!important;transition:none!important}}

.nc-grille{ display:grid; gap:var(--nc-grille-gap, 1rem); grid-template-columns:repeat(auto-fill, minmax(var(--nc-grille-min, 240px), 1fr)); }
.nc-grille[data-nc-colonnes="1"]{ grid-template-columns:1fr; }
.nc-grille[data-nc-colonnes="2"]{ grid-template-columns:repeat(2,1fr); }
.nc-grille[data-nc-colonnes="3"]{ grid-template-columns:repeat(3,1fr); }
.nc-grille[data-nc-colonnes="4"]{ grid-template-columns:repeat(4,1fr); }
.nc-grille[data-nc-colonnes="6"]{ grid-template-columns:repeat(6,1fr); }
@media (max-width:768px){ .nc-grille[data-nc-colonnes="3"], .nc-grille[data-nc-colonnes="4"], .nc-grille[data-nc-colonnes="6"]{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:480px){ .nc-grille[data-nc-colonnes]{ grid-template-columns:1fr; } }
.nc-grille > *{ min-width:0; transition:opacity var(--nc-duree) var(--nc-easing); }
.nc-grille:not(.nc-pret) > *{ opacity:0; }
.nc-grille.nc-pret > *{ opacity:1; }
@media (prefers-reduced-motion: reduce){ .nc-grille > *{ transition:none !important; opacity:1 !important; } }

.nc-header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.85rem 1.4rem;background:#fff;color:#16181d;width:100%;box-sizing:border-box;z-index:50;transition:transform var(--nc-duree,.3s) var(--nc-easing,ease),background-color var(--nc-duree,.3s) var(--nc-easing,ease),box-shadow var(--nc-duree,.3s) var(--nc-easing,ease)}
.nc-header *,.nc-header *::before,.nc-header *::after{box-sizing:border-box}
.nc-header[data-nc-ombre]{box-shadow:0 2px 14px rgba(0,0,0,.08)}
.nc-header-logo{font-weight:800;font-size:1.15rem;letter-spacing:.02em;text-decoration:none;color:inherit;display:inline-flex;align-items:center;gap:.5rem;flex:0 0 auto}
.nc-header-logo:hover{opacity:.85}
.nc-header-nav{display:flex;align-items:center;gap:1.6rem;flex:1 1 auto;justify-content:flex-end}
.nc-header-nav a{text-decoration:none;color:inherit;font-weight:500;font-size:.98rem;position:relative;padding:.35rem .1rem;transition:color var(--nc-duree,.3s) var(--nc-easing,ease)}
.nc-header-nav a:not(.nc-header-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:2px;background:var(--nc-accent,#3b6cff);transition:right var(--nc-duree,.3s) var(--nc-easing,ease)}
.nc-header-nav a:not(.nc-header-cta):hover::after,.nc-header-nav a:not(.nc-header-cta):focus-visible::after{right:0}
.nc-header-cta{background:var(--nc-accent,#3b6cff);color:#fff!important;padding:.5rem 1.1rem!important;border-radius:var(--nc-rayon,.6rem)}
.nc-header-cta:hover{filter:brightness(1.08)}
.nc-header :focus-visible{outline:2px solid var(--nc-accent,#3b6cff);outline-offset:3px;border-radius:3px}
/* Burger (généré en JS) */
.nc-header-burger{display:none;flex:0 0 auto;width:44px;height:44px;border:0;background:transparent;cursor:pointer;padding:10px;position:relative;z-index:120;color:inherit}
.nc-header-burger span{display:block;position:absolute;left:10px;right:10px;height:2px;background:currentColor;border-radius:2px;transition:transform var(--nc-duree,.3s) var(--nc-easing,ease),opacity var(--nc-duree,.3s) var(--nc-easing,ease),top var(--nc-duree,.3s) var(--nc-easing,ease)}
.nc-header-burger span:nth-child(1){top:14px}
.nc-header-burger span:nth-child(2){top:21px}
.nc-header-burger span:nth-child(3){top:28px}
.nc-header.nc-ouvert .nc-header-burger span:nth-child(1){top:21px;transform:rotate(45deg)}
.nc-header.nc-ouvert .nc-header-burger span:nth-child(2){opacity:0}
.nc-header.nc-ouvert .nc-header-burger span:nth-child(3){top:21px;transform:rotate(-45deg)}
/* Backdrop (généré en JS, attaché au body) */
.nc-header-backdrop{position:fixed;inset:0;background:rgba(10,12,18,.5);opacity:0;visibility:hidden;transition:opacity var(--nc-duree,.3s) var(--nc-easing,ease),visibility var(--nc-duree,.3s);z-index:90}
.nc-header-backdrop.nc-in{opacity:1;visibility:visible}
/* Etat scroll transparent */
.nc-header[data-nc-scroll=transparent]:not(.nc-defile){background:transparent;color:#fff;box-shadow:none}
.nc-header[data-nc-scroll=transparent]:not(.nc-defile) .nc-header-cta{background:rgba(255,255,255,.18)}
/* Etat scroll cacher */
.nc-header[data-nc-scroll=cacher]{position:sticky;top:0}
.nc-header[data-nc-scroll=cacher].nc-cache{transform:translateY(-105%)}
.nc-header[data-nc-scroll=sticky],.nc-header[data-nc-scroll=transparent]{position:sticky;top:0}
/* ===== MOBILE ===== */
.nc-header.nc-mobile .nc-header-burger{display:block}
.nc-header.nc-mobile .nc-header-nav{position:fixed;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:.4rem;background:#fff;color:#16181d;padding:5rem 1.6rem 2rem;z-index:100;overscroll-behavior:contain;transition:transform var(--nc-duree,.34s) var(--nc-easing,cubic-bezier(.4,0,.2,1)),opacity var(--nc-duree,.34s) var(--nc-easing,ease),visibility var(--nc-duree,.34s)}
.nc-header.nc-mobile .nc-header-nav a{font-size:1.15rem;padding:.7rem .2rem;border-bottom:1px solid rgba(0,0,0,.07)}
.nc-header.nc-mobile .nc-header-nav a::after{display:none}
.nc-header.nc-mobile .nc-header-cta{text-align:center;margin-top:.8rem;border-bottom:0}
/* Tiroir gauche/droite */
.nc-header.nc-mobile[data-nc-tiroir=gauche] .nc-header-nav,.nc-header.nc-mobile[data-nc-tiroir=droite] .nc-header-nav{top:0;bottom:0;width:min(80vw,320px);box-shadow:0 0 40px rgba(0,0,0,.2)}
.nc-header.nc-mobile[data-nc-tiroir=gauche] .nc-header-nav:not(.nc-ouvert){left:0;transform:translateX(-100%);visibility:hidden}
.nc-header.nc-mobile[data-nc-tiroir=gauche] .nc-header-nav.nc-ouvert{left:0;transform:translateX(0)}
.nc-header.nc-mobile[data-nc-tiroir=droite] .nc-header-nav:not(.nc-ouvert){right:0;transform:translateX(100%);visibility:hidden}
.nc-header.nc-mobile[data-nc-tiroir=droite] .nc-header-nav.nc-ouvert{right:0;transform:translateX(0)}
/* Tiroir haut */
.nc-header.nc-mobile[data-nc-tiroir=haut] .nc-header-nav{left:0;right:0;top:0;padding-top:5rem;border-radius:0 0 var(--nc-rayon,.6rem) var(--nc-rayon,.6rem);box-shadow:0 18px 40px rgba(0,0,0,.18)}
.nc-header.nc-mobile[data-nc-tiroir=haut] .nc-header-nav:not(.nc-ouvert){transform:translateY(-100%);visibility:hidden}
.nc-header.nc-mobile[data-nc-tiroir=haut] .nc-header-nav.nc-ouvert{transform:translateY(0)}
/* Overlay plein écran */
.nc-header.nc-mobile[data-nc-tiroir=plein] .nc-header-nav{inset:0;align-items:center;justify-content:center;gap:.9rem;padding:4rem 2rem}
.nc-header.nc-mobile[data-nc-tiroir=plein] .nc-header-nav a{font-size:1.6rem;border-bottom:0}
.nc-header.nc-mobile[data-nc-tiroir=plein] .nc-header-nav:not(.nc-ouvert){opacity:0;transform:scale(1.04);visibility:hidden}
.nc-header.nc-mobile[data-nc-tiroir=plein] .nc-header-nav.nc-ouvert{opacity:1;transform:scale(1);visibility:visible}
@media (prefers-reduced-motion:reduce){.nc-header,.nc-header-nav,.nc-header-burger span,.nc-header-backdrop,.nc-header-nav a::after{transition:none!important}}

.nc-hover-overlay{position:relative;overflow:hidden;display:block;border-radius:var(--nc-rayon);line-height:0;--nc-overlay-couleur:18,18,22;--nc-opacite:.6}
.nc-hover-overlay[data-nc-couleur="clair"]{--nc-overlay-couleur:250,250,252}
.nc-hover-overlay>img{display:block;width:100%;height:auto;transition:transform var(--nc-vitesse,.45s) var(--nc-easing);will-change:transform}
.nc-hover-overlay-voile{position:absolute;inset:0;opacity:0;transition:opacity var(--nc-vitesse,.45s) var(--nc-easing);pointer-events:none}
.nc-hover-overlay[data-nc-style="plein"] .nc-hover-overlay-voile{background:rgba(var(--nc-overlay-couleur),var(--nc-opacite))}
.nc-hover-overlay[data-nc-style="translucide"] .nc-hover-overlay-voile{background:rgba(var(--nc-overlay-couleur),calc(var(--nc-opacite) * .55));backdrop-filter:blur(2px)}
.nc-hover-overlay[data-nc-style="degrade-bas"] .nc-hover-overlay-voile{background:linear-gradient(to top,rgba(var(--nc-overlay-couleur),var(--nc-opacite)) 0%,rgba(var(--nc-overlay-couleur),0) 65%)}
.nc-hover-overlay[data-nc-style="degrade-haut"] .nc-hover-overlay-voile{background:linear-gradient(to bottom,rgba(var(--nc-overlay-couleur),var(--nc-opacite)) 0%,rgba(var(--nc-overlay-couleur),0) 65%)}
.nc-hover-overlay-contenu{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:1rem 1.1rem;line-height:1.35;color:#fff;opacity:0;transform:translateY(14px);transition:opacity var(--nc-vitesse,.45s) var(--nc-easing),transform var(--nc-vitesse,.45s) var(--nc-easing)}
.nc-hover-overlay[data-nc-couleur="clair"] .nc-hover-overlay-contenu{color:#111}
.nc-hover-overlay[data-nc-style="degrade-haut"] .nc-hover-overlay-contenu{bottom:auto;top:0;transform:translateY(-14px)}
.nc-hover-overlay:hover>img,.nc-hover-overlay:focus-within>img{transform:scale(1.06)}
.nc-hover-overlay:hover .nc-hover-overlay-voile,.nc-hover-overlay:focus-within .nc-hover-overlay-voile{opacity:1}
.nc-hover-overlay:hover .nc-hover-overlay-contenu,.nc-hover-overlay:focus-within .nc-hover-overlay-contenu{opacity:1;transform:translateY(0)}
.nc-hover-overlay-contenu a,.nc-hover-overlay-contenu button{color:inherit}
@media (prefers-reduced-motion: reduce){.nc-hover-overlay>img,.nc-hover-overlay-voile,.nc-hover-overlay-contenu{transition:opacity .15s linear!important}.nc-hover-overlay>img{transform:none!important}.nc-hover-overlay-contenu{transform:none!important}}

.nc-hover{ transition: transform var(--nc-duree) var(--nc-easing), box-shadow var(--nc-duree) var(--nc-easing), filter var(--nc-duree) var(--nc-easing); will-change: transform, box-shadow; }

/* zoom : on prefere zoomer l'image interne si presente */
.nc-hover[data-nc-effet="zoom"]{ overflow: hidden; }
.nc-hover[data-nc-effet="zoom"] > img,
.nc-hover[data-nc-effet="zoom"] .nc-hover-media{ display:block; width:100%; height:100%; transition: transform var(--nc-duree) var(--nc-easing); will-change: transform; }
.nc-hover[data-nc-effet="zoom"]:hover > img,
.nc-hover[data-nc-effet="zoom"]:hover .nc-hover-media{ transform: scale(var(--nc-hover-zoom, 1.08)); }

/* lift : remontee verticale + ombre optionnelle */
.nc-hover[data-nc-effet="lift"]:hover{ transform: translateY(calc(-1 * var(--nc-hover-lift, 8px))); }

/* shadow : ombre seule */
.nc-hover[data-nc-effet="shadow"]:hover{ box-shadow: 0 1.2rem 2.5rem rgba(0,0,0,.18); }

/* rotate : legere inclinaison */
.nc-hover[data-nc-effet="rotate"]:hover{ transform: rotate(var(--nc-hover-rot, 3deg)) scale(1.02); }

/* composite : zoom image + lift + shadow */
.nc-hover[data-nc-effet="composite"]{ overflow:hidden; }
.nc-hover[data-nc-effet="composite"] > img,
.nc-hover[data-nc-effet="composite"] .nc-hover-media{ display:block; width:100%; transition: transform var(--nc-duree) var(--nc-easing); will-change: transform; }
.nc-hover[data-nc-effet="composite"]:hover{ transform: translateY(calc(-1 * var(--nc-hover-lift, 8px))); box-shadow: 0 1.2rem 2.5rem rgba(0,0,0,.18); }
.nc-hover[data-nc-effet="composite"]:hover > img,
.nc-hover[data-nc-effet="composite"]:hover .nc-hover-media{ transform: scale(var(--nc-hover-zoom, 1.06)); }

/* ombre activable independamment via data-nc-ombre */
.nc-hover[data-nc-ombre="true"]:hover{ box-shadow: 0 1.2rem 2.5rem rgba(0,0,0,.18); }

@media (prefers-reduced-motion: reduce){
 .nc-hover, .nc-hover > img, .nc-hover .nc-hover-media{ transition: box-shadow var(--nc-duree) var(--nc-easing) !important; }
 .nc-hover:hover, .nc-hover:hover > img, .nc-hover:hover .nc-hover-media{ transform: none !important; }
}

.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-loader{ display:inline-flex; align-items:center; justify-content:center; --nc-loader-couleur: var(--nc-accent); --nc-loader-vitesse: 900ms; }
.nc-loader[data-nc-apparition="delay"]{ opacity:0; animation: nc-loader-apparition .3s var(--nc-easing) .4s forwards; }
@keyframes nc-loader-apparition{ to{ opacity:1; } }

/* spinner */
.nc-loader[data-nc-type="spinner"] .nc-loader-piece{ width:2.2em; height:2.2em; border-radius:50%; border:.28em solid color-mix(in srgb, var(--nc-loader-couleur) 22%, transparent); border-top-color: var(--nc-loader-couleur); animation: nc-loader-rot var(--nc-loader-vitesse) linear infinite; }
@keyframes nc-loader-rot{ to{ transform: rotate(360deg); } }

/* dots + bounce partagent la structure 3 points */
.nc-loader[data-nc-type="dots"], .nc-loader[data-nc-type="bounce"], .nc-loader[data-nc-type="wave"]{ gap:.4em; }
.nc-loader[data-nc-type="dots"] .nc-loader-piece{ width:.7em; height:.7em; border-radius:50%; background: var(--nc-loader-couleur); animation: nc-loader-fade var(--nc-loader-vitesse) ease-in-out infinite; }
.nc-loader[data-nc-type="dots"] .nc-loader-piece:nth-child(2){ animation-delay: calc(var(--nc-loader-vitesse) * .2); }
.nc-loader[data-nc-type="dots"] .nc-loader-piece:nth-child(3){ animation-delay: calc(var(--nc-loader-vitesse) * .4); }
@keyframes nc-loader-fade{ 0%,100%{ opacity:.25; transform: scale(.7); } 40%{ opacity:1; transform: scale(1); } }

.nc-loader[data-nc-type="bounce"] .nc-loader-piece{ width:.7em; height:.7em; border-radius:50%; background: var(--nc-loader-couleur); animation: nc-loader-bounce var(--nc-loader-vitesse) ease-in-out infinite; }
.nc-loader[data-nc-type="bounce"] .nc-loader-piece:nth-child(2){ animation-delay: calc(var(--nc-loader-vitesse) * .16); }
.nc-loader[data-nc-type="bounce"] .nc-loader-piece:nth-child(3){ animation-delay: calc(var(--nc-loader-vitesse) * .32); }
@keyframes nc-loader-bounce{ 0%,80%,100%{ transform: translateY(0); } 40%{ transform: translateY(-.8em); } }

/* wave : barres verticales */
.nc-loader[data-nc-type="wave"] .nc-loader-piece{ width:.35em; height:1.6em; border-radius:.2em; background: var(--nc-loader-couleur); animation: nc-loader-wave var(--nc-loader-vitesse) ease-in-out infinite; }
.nc-loader[data-nc-type="wave"] .nc-loader-piece:nth-child(2){ animation-delay: calc(var(--nc-loader-vitesse) * .12); }
.nc-loader[data-nc-type="wave"] .nc-loader-piece:nth-child(3){ animation-delay: calc(var(--nc-loader-vitesse) * .24); }
.nc-loader[data-nc-type="wave"] .nc-loader-piece:nth-child(4){ animation-delay: calc(var(--nc-loader-vitesse) * .36); }
@keyframes nc-loader-wave{ 0%,100%{ transform: scaleY(.4); } 50%{ transform: scaleY(1); } }

/* pulse : cercle qui respire */
.nc-loader[data-nc-type="pulse"] .nc-loader-piece{ width:2em; height:2em; border-radius:50%; background: var(--nc-loader-couleur); animation: nc-loader-pulse var(--nc-loader-vitesse) ease-in-out infinite; }
@keyframes nc-loader-pulse{ 0%{ transform: scale(.4); opacity:1; } 100%{ transform: scale(1.1); opacity:0; } }

/* bar : barre de progression indeterminee */
.nc-loader[data-nc-type="bar"]{ display:block; width: var(--nc-loader-largeur, 12em); height:.35em; background: color-mix(in srgb, var(--nc-loader-couleur) 18%, transparent); border-radius:1em; overflow:hidden; }
.nc-loader[data-nc-type="bar"] .nc-loader-piece{ display:block; width:40%; height:100%; border-radius:1em; background: var(--nc-loader-couleur); animation: nc-loader-bar var(--nc-loader-vitesse) ease-in-out infinite; }
@keyframes nc-loader-bar{ 0%{ transform: translateX(-110%); } 100%{ transform: translateX(310%); } }

@media (prefers-reduced-motion: reduce){
 .nc-loader, .nc-loader .nc-loader-piece{ animation-duration: 1ms !important; animation-iteration-count: 1 !important; opacity:1 !important; }
 .nc-loader[data-nc-type="pulse"] .nc-loader-piece{ opacity:.6 !important; transform:none !important; }
 .nc-loader[data-nc-type="bar"] .nc-loader-piece{ width:100% !important; transform:none !important; }
}

.nc-magnetique{ display:inline-flex; transition: transform var(--nc-duree) var(--nc-easing); will-change: transform; }
.nc-magnetique > *{ transition: transform var(--nc-duree) var(--nc-easing); will-change: transform; pointer-events:none; }
@media (prefers-reduced-motion: reduce){
 .nc-magnetique, .nc-magnetique > *{ transform:none !important; transition:none !important; }
}

.nc-marquee{ --nc-marquee-vitesse:25s; --nc-marquee-espace:48px; overflow:hidden; width:100%; }
.nc-marquee[data-nc-fondu] { -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.nc-marquee-piste{ display:flex; width:max-content; gap:var(--nc-marquee-espace); will-change:transform; animation:nc-marquee-defile var(--nc-marquee-vitesse) linear infinite; }
.nc-marquee[data-nc-sens="droite"] .nc-marquee-piste{ animation-direction:reverse; }
.nc-marquee[data-nc-pause] .nc-marquee-piste:hover{ animation-play-state:paused; }
.nc-marquee-groupe{ display:flex; gap:var(--nc-marquee-espace); align-items:center; flex:0 0 auto; }
.nc-marquee-groupe>*{ flex:0 0 auto; }
.nc-marquee img{ display:block; height:2.5rem; width:auto; object-fit:contain; }
@keyframes nc-marquee-defile{ from{ transform:translateX(0); } to{ transform:translateX(calc(-50% - var(--nc-marquee-espace) / 2)); } }
@media (prefers-reduced-motion: reduce){
  .nc-marquee-piste{ animation:none !important; flex-wrap:wrap; justify-content:center; }
}

.nc-masonry{ display:flex; align-items:flex-start; gap:var(--nc-masonry-gap, 1rem); }
.nc-masonry-col{ display:flex; flex-direction:column; gap:var(--nc-masonry-gap, 1rem); flex:1 1 0; min-width:0; }
.nc-masonry-item{ transition:opacity var(--nc-duree) var(--nc-easing); will-change:opacity; }
.nc-masonry:not(.nc-pret) .nc-masonry-item{ opacity:0; }
.nc-masonry.nc-pret .nc-masonry-item{ opacity:1; }
.nc-masonry-item img{ display:block; width:100%; height:auto; border-radius:var(--nc-rayon); }
@media (prefers-reduced-motion: reduce){ .nc-masonry-item{ transition:none !important; opacity:1 !important; } }

html.nc-modale-bloque{ overflow:hidden; }
.nc-modale{ position:fixed; inset:0; z-index:1200; display:flex; align-items:center; justify-content:center; padding:1.5rem; }
.nc-modale:not(.nc-ouvert){ display:none; }
.nc-modale .nc-overlay{ position:absolute; inset:0; background:rgba(0,0,0, var(--nc-opacite, .5)); opacity:0; transition:opacity var(--nc-duree) var(--nc-easing); }
.nc-modale[data-nc-overlay="blur"] .nc-overlay{ backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
.nc-modale[data-nc-overlay="semi-transparent"] .nc-overlay{ background:rgba(0,0,0, var(--nc-opacite, .35)); }
.nc-modale.nc-ouvert .nc-overlay{ opacity:1; }

.nc-modale .nc-fenetre{ position:relative; z-index:1; max-width:560px; width:100%; max-height:90vh; overflow:auto; background:#fff; color:#111; border-radius:var(--nc-rayon); box-shadow:0 1.5rem 4rem rgba(0,0,0,.35); padding:1.75rem; transition: opacity var(--nc-duree) var(--nc-easing), transform var(--nc-duree) var(--nc-easing); }

/* Etat initial scope sur :not(.nc-ouvert) pour eviter le piege de specificite */
.nc-modale:not(.nc-ouvert) .nc-fenetre{ opacity:0; }
.nc-modale[data-nc-entree="scale"]:not(.nc-ouvert) .nc-fenetre{ transform:scale(.9); }
.nc-modale[data-nc-entree="slide"]:not(.nc-ouvert) .nc-fenetre{ transform:translateY(var(--nc-distance)); }
.nc-modale.nc-ouvert .nc-fenetre{ opacity:1; transform:none; }

.nc-modale .nc-fermer{ position:absolute; top:.75rem; right:.75rem; width:2rem; height:2rem; border:0; border-radius:50%; background:rgba(0,0,0,.06); cursor:pointer; font-size:1.1rem; line-height:1; color:inherit; }
.nc-modale .nc-fermer:hover{ background:rgba(0,0,0,.12); }

@media (prefers-reduced-motion: reduce){
  .nc-modale .nc-overlay, .nc-modale .nc-fenetre{ transition:none !important; transform:none !important; }
}

.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; }
}

.nc-offcanvas{position:fixed;top:0;bottom:0;z-index:8000;width:min(var(--nc-largeur,360px),90vw);background:#fff;color:#1f2430;box-shadow:0 0 40px rgba(0,0,0,.25);display:flex;flex-direction:column;visibility:hidden;transition:transform var(--nc-duree,.34s) var(--nc-easing,cubic-bezier(.22,1,.36,1)),visibility 0s linear var(--nc-duree,.34s)}
.nc-offcanvas[data-cote="droite"]{right:0}
.nc-offcanvas[data-cote="gauche"]{left:0}

.nc-offcanvas:not(.nc-ouvert)[data-cote="droite"]{transform:translateX(100%)}
.nc-offcanvas:not(.nc-ouvert)[data-cote="gauche"]{transform:translateX(-100%)}
.nc-offcanvas.nc-ouvert{visibility:visible;transform:translateX(0);transition:transform var(--nc-duree,.34s) var(--nc-easing,cubic-bezier(.22,1,.36,1)),visibility 0s}

.nc-offcanvas-fond{position:fixed;inset:0;z-index:7999;background:rgba(15,18,26,.5);opacity:0;visibility:hidden;transition:opacity var(--nc-duree,.34s) ease,visibility 0s linear var(--nc-duree,.34s)}
.nc-offcanvas-fond.nc-ouvert{opacity:1;visibility:visible;transition:opacity var(--nc-duree,.34s) ease}

.nc-offcanvas-tete{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.1rem;border-bottom:1px solid #eceff4;font:600 1.05rem/1.2 system-ui,sans-serif}
.nc-offcanvas-corps{flex:1 1 auto;overflow:auto;padding:1.1rem;font:400 .95rem/1.5 system-ui,sans-serif}
.nc-offcanvas-x{width:2rem;height:2rem;border:0;background:transparent;font-size:1.5rem;line-height:1;color:#5a6473;cursor:pointer;border-radius:8px}
.nc-offcanvas-x:hover{background:#f1f3f7;color:#1f2430}
.nc-offcanvas-x:focus-visible,.nc-offcanvas a:focus-visible,.nc-offcanvas button:focus-visible{outline:2px solid var(--nc-accent,#5b8cff);outline-offset:2px}

body.nc-offcanvas-bloque{overflow:hidden}

@media (prefers-reduced-motion: reduce){
.nc-offcanvas{transition:visibility 0s}
.nc-offcanvas:not(.nc-ouvert)[data-cote="droite"],.nc-offcanvas:not(.nc-ouvert)[data-cote="gauche"]{transform:none;visibility:hidden}
.nc-offcanvas.nc-ouvert{transition:none}
.nc-offcanvas-fond,.nc-offcanvas-fond.nc-ouvert{transition:opacity .12s linear}
}

.nc-onde{ --nc-on-couleur:var(--nc-accent,#2563eb); --nc-on-echelle:2.6; --nc-on-vitesse:2s; position:relative; display:inline-flex; align-items:center; justify-content:center; isolation:isolate; }
.nc-onde > .nc-onde-anneau{ position:absolute; inset:0; border-radius:inherit; background:var(--nc-on-couleur); z-index:-1; opacity:0; }
.nc-onde[data-nc-style="sonar"] > .nc-onde-anneau{ animation:nc-onde-sonar var(--nc-on-vitesse) cubic-bezier(.22,.61,.36,1) infinite; animation-delay:var(--nc-on-delai,0s); }
.nc-onde[data-nc-style="pulse"] > .nc-onde-anneau{ animation:nc-onde-pulse var(--nc-on-vitesse) ease-out infinite; animation-delay:var(--nc-on-delai,0s); }
@keyframes nc-onde-sonar{ 0%{ transform:scale(1); opacity:.55; } 100%{ transform:scale(var(--nc-on-echelle)); opacity:0; } }
@keyframes nc-onde-pulse{ 0%{ transform:scale(1); opacity:.5; } 70%{ opacity:0; } 100%{ transform:scale(var(--nc-on-echelle)); opacity:0; } }
@media (prefers-reduced-motion: reduce){ .nc-onde > .nc-onde-anneau{ animation:none !important; opacity:0 !important; } }

/* noma-crea front — nc-parallax */
.nc-parallax{ will-change: transform; }

.nc-popup{position:fixed;inset:0;z-index:9500;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(15,18,26,.55);opacity:0;visibility:hidden;transition:opacity var(--nc-duree,.35s) ease,visibility 0s linear var(--nc-duree,.35s)}
.nc-popup.nc-ouvert{opacity:1;visibility:visible;transition:opacity var(--nc-duree,.35s) ease}

.nc-popup-boite{position:relative;width:min(100%,460px);background:#fff;color:#1f2430;border-radius:var(--nc-rayon,14px);overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.32);transform:translateY(var(--nc-distance,28px)) scale(.96);transition:transform var(--nc-duree,.35s) var(--nc-easing,cubic-bezier(.22,1,.36,1))}
.nc-popup:not(.nc-ouvert) .nc-popup-boite{transform:translateY(var(--nc-distance,28px)) scale(.96)}
.nc-popup.nc-ouvert .nc-popup-boite{transform:translateY(0) scale(1)}

.nc-popup-img{display:block;width:100%;height:170px;object-fit:cover}
.nc-popup-corps{padding:1.4rem 1.5rem 1.6rem}
.nc-popup-corps h2{margin:0 0 .5rem;font:700 1.4rem/1.2 system-ui,sans-serif}
.nc-popup-corps p{margin:0 0 1rem;font:400 .95rem/1.5 system-ui,sans-serif;color:#5a6473}
.nc-popup-champ{width:100%;box-sizing:border-box;padding:.7rem .85rem;margin-bottom:.6rem;border:1px solid #c9d2e3;border-radius:8px;font-size:.95rem}
.nc-popup-ok{width:100%;padding:.8rem;border:0;border-radius:8px;background:var(--nc-accent,#5b8cff);color:#fff;font-weight:600;cursor:pointer}
.nc-popup-ok:hover{filter:brightness(1.06)}
.nc-popup-x{position:absolute;top:.6rem;right:.6rem;width:2.1rem;height:2.1rem;border:0;border-radius:50%;background:rgba(255,255,255,.85);color:#1f2430;font-size:1.4rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.nc-popup-x:hover{background:#fff}
.nc-popup-x:focus-visible,.nc-popup-ok:focus-visible,.nc-popup-champ:focus-visible{outline:2px solid var(--nc-accent,#5b8cff);outline-offset:2px}

@media (prefers-reduced-motion: reduce){
.nc-popup,.nc-popup.nc-ouvert{transition:opacity .12s linear}
.nc-popup-boite,.nc-popup:not(.nc-ouvert) .nc-popup-boite,.nc-popup.nc-ouvert .nc-popup-boite{transition:none;transform:none}
.nc-popup:not(.nc-ouvert) .nc-popup-boite{transform:none}
}

.nc-progress{ --nc-progress-val:0; --nc-progress-duree: 1200ms; }

/* lineaire */
.nc-progress[data-nc-type="lineaire"]{ display:block; width:100%; height:.75rem; background: color-mix(in srgb, var(--nc-accent) 15%, #e5e7eb); border-radius:1em; overflow:hidden; }
.nc-progress[data-nc-type="lineaire"] .nc-progress-remplir{ display:block; height:100%; width:0; background: var(--nc-accent); border-radius:1em; transition: width var(--nc-progress-duree) var(--nc-easing); }
.nc-progress[data-nc-type="lineaire"].nc-anime .nc-progress-remplir{ width: calc(var(--nc-progress-val) * 1%); }
.nc-progress[data-nc-style="raye"] .nc-progress-remplir, .nc-progress[data-nc-style="anime"] .nc-progress-remplir{ background-image: linear-gradient(45deg, rgba(255,255,255,.25) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.25) 50%, rgba(255,255,255,.25) 75%, transparent 75%, transparent); background-size: 1rem 1rem; background-color: var(--nc-accent); }
.nc-progress[data-nc-style="anime"] .nc-progress-remplir{ animation: nc-progress-stripes 1s linear infinite; }
@keyframes nc-progress-stripes{ from{ background-position: 1rem 0; } to{ background-position: 0 0; } }

/* circulaire */
.nc-progress[data-nc-type="circulaire"]{ display:inline-grid; place-items:center; width: var(--nc-progress-taille, 120px); height: var(--nc-progress-taille, 120px); position:relative; }
.nc-progress[data-nc-type="circulaire"] svg{ width:100%; height:100%; transform: rotate(-90deg); }
.nc-progress[data-nc-type="circulaire"] .nc-progress-fond{ fill:none; stroke: color-mix(in srgb, var(--nc-accent) 15%, #e5e7eb); }
.nc-progress[data-nc-type="circulaire"] .nc-progress-trace{ fill:none; stroke: var(--nc-accent); stroke-linecap: round; stroke-dasharray: var(--nc-progress-circ); stroke-dashoffset: var(--nc-progress-circ); transition: stroke-dashoffset var(--nc-progress-duree) var(--nc-easing); }
.nc-progress[data-nc-type="circulaire"].nc-anime .nc-progress-trace{ stroke-dashoffset: calc(var(--nc-progress-circ) * (1 - var(--nc-progress-val)/100)); }
.nc-progress-label{ position:absolute; font-weight:700; color: var(--nc-accent); }

@media (prefers-reduced-motion: reduce){
 .nc-progress .nc-progress-remplir, .nc-progress .nc-progress-trace{ transition:none !important; animation:none !important; }
}

.nc-pulse{ position: relative; --nc-pulse-rythme: 1600ms; --nc-pulse-amp: 1.08; }
.nc-pulse[data-nc-type="respiration"]{ animation: nc-pulse-resp var(--nc-pulse-rythme) var(--nc-easing) infinite; }
@keyframes nc-pulse-resp{ 0%,100%{ transform: scale(1); } 50%{ transform: scale(var(--nc-pulse-amp)); } }

.nc-pulse[data-nc-type="clignote"]{ animation: nc-pulse-clig var(--nc-pulse-rythme) var(--nc-easing) infinite; }
@keyframes nc-pulse-clig{ 0%,100%{ opacity:1; } 50%{ opacity:.35; } }

.nc-pulse[data-nc-type="halo"]::before, .nc-pulse[data-nc-type="halo"]::after{ content:""; position:absolute; inset:0; border-radius: inherit; background: var(--nc-accent); opacity:.5; z-index:-1; animation: nc-pulse-halo var(--nc-pulse-rythme) var(--nc-easing) infinite; }
.nc-pulse[data-nc-type="halo"]::after{ animation-delay: calc(var(--nc-pulse-rythme) * .5); }
@keyframes nc-pulse-halo{ 0%{ transform: scale(1); opacity:.5; } 100%{ transform: scale(var(--nc-pulse-amp)); opacity:0; } }

@media (prefers-reduced-motion: reduce){
 .nc-pulse{ animation:none !important; }
 .nc-pulse[data-nc-type="halo"]::before, .nc-pulse[data-nc-type="halo"]::after{ animation:none !important; opacity:0 !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}}

/* 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; }
}

.nc-revele-texte{ --nc-rt-duree:.7s; --nc-rt-decalage:0px; }
.nc-revele-texte .nc-rt-ligne{ display:block; overflow:hidden; }
.nc-revele-texte .nc-rt-int{ display:block; transition:transform var(--nc-rt-duree) var(--nc-easing); transition-delay:var(--nc-rt-decalage); will-change:transform; }
.nc-revele-texte:not(.nc-in) .nc-rt-int{ transform:translateY(110%); }
.nc-revele-texte:not(.nc-in)[data-nc-direction="haut"] .nc-rt-int{ transform:translateY(-110%); }
@media (prefers-reduced-motion: reduce){ .nc-revele-texte .nc-rt-int{ transition:none !important; transform:none !important; } }

.nc-soulignement{ --nc-su-couleur:var(--nc-accent,#2563eb); --nc-su-epaisseur:3px; --nc-su-vitesse:.5s; position:relative; display:inline-block; }
.nc-soulignement::after{ content:""; position:absolute; left:0; bottom:-.12em; height:var(--nc-su-epaisseur); width:100%; background:var(--nc-su-couleur); transform:scaleX(0); transform-origin:left center; transition:transform var(--nc-su-vitesse) var(--nc-easing); pointer-events:none; }

.nc-soulignement[data-nc-style="ondule"]::after{ height:calc(var(--nc-su-epaisseur) * 2); background:none; border-bottom:var(--nc-su-epaisseur) solid var(--nc-su-couleur); border-radius:50%; }

.nc-soulignement[data-nc-style="surligneur"]::after{ height:.5em; bottom:0; background:var(--nc-su-couleur); opacity:.35; }

.nc-soulignement[data-nc-declencheur="survol"]:hover::after,
.nc-soulignement[data-nc-declencheur="survol"]:focus-visible::after{ transform:scaleX(1); }
.nc-soulignement[data-nc-declencheur="scroll"].nc-in::after{ transform:scaleX(1); }

@media (prefers-reduced-motion: reduce){ .nc-soulignement::after{ transition:none !important; } }

.nc-souligner{ position: relative; display: inline-block; text-decoration: none; --nc-souligner-ep: 2px; }
.nc-souligner::after{ content:""; position:absolute; left:0; bottom:-.1em; width:100%; height: var(--nc-souligner-ep); background: var(--nc-accent); transition: transform var(--nc-duree) var(--nc-easing); }
/* etat de repos : scope sur :not pour eviter le piege de specificite */
.nc-souligner:not([data-nc-inverse])::after{ transform: scaleX(0); }
.nc-souligner:not([data-nc-inverse])[data-nc-direction="centre"]::after{ transform-origin: center; }
.nc-souligner:not([data-nc-inverse])[data-nc-direction="gauche"]::after{ transform-origin: left center; }
.nc-souligner:not([data-nc-inverse])[data-nc-direction="droite"]::after{ transform-origin: right center; }
.nc-souligner:not([data-nc-inverse]):hover::after, .nc-souligner:not([data-nc-inverse]):focus-visible::after{ transform: scaleX(1); }

/* inverse : visible au repos, se retracte au survol */
.nc-souligner[data-nc-inverse]::after{ transform: scaleX(1); transform-origin: center; }
.nc-souligner[data-nc-inverse][data-nc-direction="gauche"]::after{ transform-origin: left center; }
.nc-souligner[data-nc-inverse][data-nc-direction="droite"]::after{ transform-origin: right center; }
.nc-souligner[data-nc-inverse]:hover::after, .nc-souligner[data-nc-inverse]:focus-visible::after{ transform: scaleX(0); }

@media (prefers-reduced-motion: reduce){
 .nc-souligner::after{ transition:none !important; }
}

.nc-stepper {
  --nc-stepper-pastille: 2.2rem;
  --nc-stepper-ligne: 2px;
  --nc-stepper-vide: color-mix(in srgb, currentColor 18%, transparent);
  --nc-stepper-actif: var(--nc-accent, #4f46e5);
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: nc-stepper;
}

.nc-stepper__etape {
  position: relative;
  flex: 1 1 0;
  display: flex;
  align-items: center;
  flex-direction: column;
  text-align: center;
  gap: .55rem;
  min-width: 0;
  counter-increment: nc-stepper;
}

.nc-stepper__pastille {
  position: relative;
  z-index: 1;
  width: var(--nc-stepper-pastille);
  height: var(--nc-stepper-pastille);
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-weight: 600;
  font-size: .9em;
  background: var(--nc-stepper-vide);
  color: color-mix(in srgb, currentColor 65%, transparent);
  transition: background var(--nc-duree, .3s) var(--nc-easing, ease),
    color var(--nc-duree, .3s) var(--nc-easing, ease),
    transform var(--nc-duree, .3s) var(--nc-easing, ease);
}

.nc-stepper__pastille::before {
  content: counter(nc-stepper);
}

.nc-stepper__libelle {
  font-size: .88em;
  line-height: 1.25;
  opacity: .65;
  transition: opacity var(--nc-duree, .3s) var(--nc-easing, ease),
    color var(--nc-duree, .3s) var(--nc-easing, ease);
}

.nc-stepper__sous {
  display: block;
  font-size: .78em;
  opacity: .55;
}

/* Ligne entre pastilles (horizontal) */
.nc-stepper__etape:not(:first-child)::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: calc(var(--nc-stepper-pastille) / 2);
  right: 50%;
  left: -50%;
  height: var(--nc-stepper-ligne);
  background: var(--nc-stepper-vide);
  transform: translateY(-50%);
}

.nc-stepper__etape:not(:first-child)::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: calc(var(--nc-stepper-pastille) / 2);
  right: 50%;
  left: -50%;
  height: var(--nc-stepper-ligne);
  background: var(--nc-stepper-actif);
  transform: translateY(-50%) scaleX(0);
  transform-origin: left center;
  transition: transform var(--nc-duree, .45s) var(--nc-easing, cubic-bezier(.4, 0, .2, 1));
}

/* Etat fait */
.nc-stepper__etape.nc-stepper--faite .nc-stepper__pastille {
  background: var(--nc-stepper-actif);
  color: #fff;
}

.nc-stepper__etape.nc-stepper--faite .nc-stepper__pastille::before {
  content: "\2713";
}

.nc-stepper__etape.nc-stepper--faite::after,
.nc-stepper__etape.nc-stepper--active::after {
  transform: translateY(-50%) scaleX(1);
}

.nc-stepper__etape.nc-stepper--faite .nc-stepper__libelle {
  opacity: .85;
}

/* Etat actif */
.nc-stepper__etape.nc-stepper--active .nc-stepper__pastille {
  background: var(--nc-stepper-actif);
  color: #fff;
  transform: scale(1.12);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--nc-stepper-actif) 22%, transparent);
}

.nc-stepper__etape.nc-stepper--active .nc-stepper__libelle {
  opacity: 1;
  color: var(--nc-stepper-actif);
  font-weight: 600;
}

/* Orientation verticale */
.nc-stepper--vertical {
  flex-direction: column;
}

.nc-stepper--vertical .nc-stepper__etape {
  flex-direction: row;
  align-items: flex-start;
  text-align: left;
  flex: 0 0 auto;
  padding-bottom: 1.6rem;
  gap: .9rem;
}

.nc-stepper--vertical .nc-stepper__etape:last-child {
  padding-bottom: 0;
}

.nc-stepper--vertical .nc-stepper__etape:not(:first-child)::before,
.nc-stepper--vertical .nc-stepper__etape:not(:first-child)::after {
  top: auto;
  bottom: 50%;
  left: calc(var(--nc-stepper-pastille) / 2);
  right: auto;
  width: var(--nc-stepper-ligne);
  height: auto;
  transform: none;
}

.nc-stepper--vertical .nc-stepper__etape:not(:first-child)::before {
  height: calc(100% - var(--nc-stepper-pastille));
  bottom: calc(50% + var(--nc-stepper-pastille) / 2);
}

.nc-stepper--vertical .nc-stepper__etape:not(:first-child)::after {
  height: calc(100% - var(--nc-stepper-pastille));
  bottom: calc(50% + var(--nc-stepper-pastille) / 2);
  transform: scaleY(0);
  transform-origin: bottom center;
}

.nc-stepper--vertical .nc-stepper__etape.nc-stepper--faite::after,
.nc-stepper--vertical .nc-stepper__etape.nc-stepper--active::after {
  transform: scaleY(1);
}

.nc-stepper--vertical .nc-stepper__textes {
  padding-top: calc((var(--nc-stepper-pastille) - 1.25em) / 2);
}

@media (max-width: 560px) {
  .nc-stepper:not(.nc-stepper--vertical) .nc-stepper__libelle {
    font-size: .72em;
  }
  .nc-stepper:not(.nc-stepper--vertical) .nc-stepper__sous {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .nc-stepper__pastille,
  .nc-stepper__libelle,
  .nc-stepper__etape::after {
    transition: none !important;
  }
  .nc-stepper__etape.nc-stepper--active .nc-stepper__pastille {
    transform: none;
  }
}

.nc-survol{ display:grid; grid-template-columns:repeat(auto-fill, minmax(240px,1fr)); gap:1rem; }
.nc-survol-item{ position:relative; overflow:hidden; border-radius:var(--nc-rayon); display:block; color:#fff; }
.nc-survol-item:focus-visible{ outline:3px solid var(--nc-accent); outline-offset:2px; }
.nc-survol-item img{ width:100%; height:100%; display:block; object-fit:cover; transition:transform var(--nc-duree) var(--nc-easing); }
.nc-survol-item:hover img, .nc-survol-item:focus-within img{ transform:scale(1.06); }
.nc-survol-voile{ position:absolute; inset:0; opacity:0; transition:opacity var(--nc-duree) var(--nc-easing), backdrop-filter var(--nc-duree) var(--nc-easing); }
.nc-survol-item[data-nc-overlay="couleur"] .nc-survol-voile{ background:rgba(20,24,40, var(--nc-survol-op, .55)); }
.nc-survol-item[data-nc-overlay="degrade"] .nc-survol-voile{ background:linear-gradient(to top, rgba(10,12,24, var(--nc-survol-op, .85)) 0%, rgba(10,12,24,0) 70%); }
.nc-survol-item[data-nc-overlay="flou"] .nc-survol-voile{ background:rgba(20,24,40, calc(var(--nc-survol-op, .55) * .4)); backdrop-filter:blur(0px); }
.nc-survol-item:hover .nc-survol-voile, .nc-survol-item:focus-within .nc-survol-voile{ opacity:1; }
.nc-survol-item[data-nc-overlay="flou"]:hover .nc-survol-voile, .nc-survol-item[data-nc-overlay="flou"]:focus-within .nc-survol-voile{ backdrop-filter:blur(4px); }
.nc-survol-contenu{ position:absolute; inset:0; display:flex; flex-direction:column; gap:.25rem; padding:1.1rem; opacity:0; transform:translateY(12px); transition:opacity var(--nc-duree) var(--nc-easing), transform var(--nc-duree) var(--nc-easing); }
.nc-survol-item[data-nc-position="centre"] .nc-survol-contenu{ justify-content:center; align-items:center; text-align:center; }
.nc-survol-item[data-nc-position="bas"] .nc-survol-contenu{ justify-content:flex-end; }
.nc-survol-item[data-nc-position="haut"] .nc-survol-contenu{ justify-content:flex-start; }
.nc-survol-item:hover .nc-survol-contenu, .nc-survol-item:focus-within .nc-survol-contenu{ opacity:1; transform:translateY(0); }
.nc-survol-contenu :where(h3,p){ margin:0; }
@media (prefers-reduced-motion: reduce){ .nc-survol-item img, .nc-survol-voile, .nc-survol-contenu{ transition:none !important; } .nc-survol-item:hover img, .nc-survol-item:focus-within img{ transform:none !important; } }

/* Table scrollable universelle (composant GENERIQUE, sans prefixe nc-).
   nc- est reserve aux composants additionnels ; les tables sont generiques (comme .btn).

   En-tetes (thead) et pieds (tfoot) restent fixes : seul le tbody defile.
   thead / tfoot / chaque tr sont des sous-tables a disposition fixe ; les colonnes
   ne s'alignent que si leurs largeurs sont definies en CSS (pas de largeur "auto").

   Liste virtualisee : poser la variable --table-virtual-height sur le tbody
   (hauteur totale = nb lignes x hauteur ligne). Le spacer ::after cree alors la zone
   de defilement, et les lignes peuvent etre positionnees en absolu dans le tbody.

   Theme : variables --table-* (bord, entete, fond, rayon, hauteur de ligne...) avec
   des valeurs par defaut neutres, surchargeables par l'app (l'admin mappe ses tokens). */

.table {
  width: 100%;
  min-width: var(--table-min-width, 100%);
  border-collapse: separate;
  border-spacing: 0;
  font: inherit;
  color: inherit;
}

.table thead,
.table tfoot,
.table tbody tr {
  display: table;
  width: 100%;
  min-width: var(--table-min-width, 100%);
  table-layout: fixed;
}

.table tbody {
  display: block;
  position: relative;
  overflow-y: auto;
  overflow-x: hidden;
}

.table tbody::after {
  content: "";
  display: block;
  height: var(--table-virtual-height, 0);
  pointer-events: none;
}

.table th,
.table td {
  padding: 2px 10px;
  text-align: left;
  vertical-align: middle;
  border-bottom: 1px solid var(--table-bord, rgba(0, 0, 0, .08));
  /* Taille de texte des cellules (compacte, ne pas heriter d'un contexte reduit). */
  font-size: 13px;
  /* Cellules sur une seule ligne, troncature en ellipsis (table-layout:fixed). */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.table tbody td {
  height: var(--table-ligne-h, 30px);
  box-sizing: border-box;
}

/* Controles dans une cellule (select / input) : compacts, pour tenir dans la
   hauteur de ligne sans la faire grossir. Generique a toutes les tables. */
.table td select,
.table td input:not([type="checkbox"]):not([type="radio"]),
.table td .form-control,
.table td .form-select {
  height: 22px;
  min-height: 0;
  padding: 0 .5rem;
  font-size: 12px;
  line-height: 1;
}
.table td .form-select,
.table td select {
  padding-right: 1.4rem;
  background-size: .7em;
}

.table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  padding-top: 6px;
  padding-bottom: 6px;
  border-bottom: 0;
  box-shadow: none;
  background: var(--table-entete, rgba(0, 0, 0, .10));
  color: var(--table-entete-fg, inherit);
  font-size: var(--table-entete-fs, 12px);
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}

.table thead tr {
  border-radius: var(--table-rayon, 8px);
  overflow: hidden;
}

.table thead th:first-child {
  border-top-left-radius: var(--table-rayon, 8px);
  border-bottom-left-radius: var(--table-rayon, 8px);
}

.table thead th:last-child {
  border-top-right-radius: var(--table-rayon, 8px);
  border-bottom-right-radius: var(--table-rayon, 8px);
}

.table thead th.has-table-toolbar-toggle {
  padding-right: calc(10px + var(--table-toolbar-toggle-space, 32px));
}

.table-toolbar-toggle {
  position: absolute;
  top: 50%;
  right: 6px;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  border-radius: 6px;
  display: inline-grid;
  place-items: center;
  color: var(--table-lien, var(--nc-c-primary, var(--primary, currentColor)));
  background: transparent;
  cursor: pointer;
  transform: translateY(-50%);
}

.table-toolbar-toggle:hover,
.table-toolbar-toggle.is-active {
  background: color-mix(in srgb, var(--table-lien, var(--nc-c-primary, var(--primary, currentColor))) 12%, transparent);
}

.table-toolbar-toggle .sfs {
  font-size: 15px;
  line-height: 1;
}

/* Pied de table : bordure haute, pas de radius (par défaut) */
.table tfoot tr { border-radius: 0; }

/* Vocabulaire generique de colonnes, repris integralement de l'ancien admin et
   converti en rem (base 16px : les largeurs restent identiques au pixel pres).
   table-layout:fixed impose une largeur definie pour aligner les colonnes ;
   les classes sans largeur (.nom, .email) restent elastiques et absorbent le reste.
   S'applique aux th ET td via la classe posee sur la cellule. */
.table .libelle           { width: 12.5rem;   min-width: 12.5rem;   max-width: 12.5rem;   text-align: left; }
.table .titre             { width: 15.625rem; min-width: 15.625rem; max-width: 15.625rem; text-align: left; }
.table .long              { width: 28.125rem; min-width: 28.125rem; max-width: 28.125rem; text-align: left; }
.table .nom               {                   text-align: left; }
.table .ville             { width: 9.375rem;  min-width: 9.375rem;  max-width: 9.375rem;  text-align: left; white-space: nowrap; }
.table .tel,
.table .mobile            { width: 8.4375rem; min-width: 8.4375rem; max-width: 8.4375rem; text-align: left; white-space: nowrap; }
.table .mail              { width: 16.25rem;  min-width: 16.25rem;  max-width: 16.25rem;  text-align: left; white-space: nowrap; }
.table .contact           { width: 12.5rem;   min-width: 12.5rem;   max-width: 12.5rem;   text-align: left; }
.table .email             {                   text-align: left; }
.table .reference         { width: 7.5rem;    min-width: 7.5rem;    max-width: 7.5rem;    text-align: left; }
.table .moyen             { width: 8.125rem;  min-width: 8.125rem;  max-width: 8.125rem;  text-align: left; }
.table .periode           { width: 6.25rem;   min-width: 6.25rem;   max-width: 6.25rem;   text-align: left; }
.table .datelong          { width: 9.375rem;  min-width: 9.375rem;  max-width: 9.375rem;  text-align: left; }
.table .horaire           { width: 2.5rem;    min-width: 2.5rem;    max-width: 2.5rem;    text-align: left; }
.table .derniere_commande { width: 2.5rem;    min-width: 2.5rem;    max-width: 2.5rem;    text-align: left; }

.table .date              { width: 7rem;      min-width: 7rem;      max-width: 7rem;      text-align: center; white-space: nowrap; }
.table .heure             { width: 5rem;      min-width: 5rem;      max-width: 5rem;      text-align: center; white-space: nowrap; }
.table .numero            { width: 3.75rem;   min-width: 3.75rem;   max-width: 3.75rem;   text-align: center; }
.table .reel              { width: 3.125rem;  min-width: 3.125rem;  max-width: 3.125rem;  text-align: center; }
.table .entierlong        { width: 3.125rem;  min-width: 3.125rem;  max-width: 3.125rem;  text-align: center; }
.table .booleen           { width: 3.125rem;  min-width: 3.125rem;  max-width: 3.125rem;  text-align: center; }
.table .pct               { width: 3.125rem;  min-width: 3.125rem;  max-width: 3.125rem;  text-align: center; }
.table .quantite          { width: 2.5rem;    min-width: 2.5rem;    max-width: 2.5rem;    text-align: center; }
.table .action            { width: 3.125rem;  min-width: 3.125rem;  max-width: 3.125rem;  text-align: center; white-space: nowrap; }
.table .photo             { width: 2.5rem;    min-width: 2.5rem;    max-width: 2.5rem;    text-align: center; padding: 0; }

.table .montant {
  width: 7.5rem;
  min-width: 7.5rem;
  max-width: 7.5rem;
  text-align: right;
  padding-right: .625rem;
}

.table tfoot td {
  padding: 6px 10px;
  background: transparent;
  color: var(--table-entete-fg, #64748b);
  font-size: 12px;
  font-weight: 680;
  border-top: 1px solid var(--table-pied-bordure, color-mix(in srgb, var(--nc-c-primary, var(--primary, #2563eb)) 50%, transparent));
  border-bottom: 0;
}

.table tfoot td:first-child:not(.montant),
.table tfoot td:last-child:not(.montant) {
  text-align: left;
  white-space: normal;
}

.table-row {
  box-sizing: border-box;
}

.table a {
  color: var(--table-lien, currentColor);
  text-decoration: none;
}

.table tbody tr:hover td,
.table .table-row:hover td {
  background: var(--table-survol, color-mix(in srgb, var(--nc-accent, #2563eb) 10%, transparent));
}

.table tbody tr:hover td:first-child,
.table .table-row:hover td:first-child {
  border-top-left-radius: var(--table-rayon, 8px);
  border-bottom-left-radius: var(--table-rayon, 8px);
}

.table tbody tr:hover td:last-child,
.table .table-row:hover td:last-child {
  border-top-right-radius: var(--table-rayon, 8px);
  border-bottom-right-radius: var(--table-rayon, 8px);
}

/* Carte scrollable : epouse son contenu (petites tables courtes), plafonne a la
   hauteur disponible et defile pour les grandes / listes virtualisees. */
.table-scroll {
  display: flex;
  flex-direction: column;
  flex: 0 1 auto;
  min-height: 0;
  max-height: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  background: var(--table-fond, #fff);
  border-radius: var(--table-rayon, 8px);
}

/* nc-tableau-hierarchique — tableau arborescent réordonnable.
   Niveaux visuels via data-nc-niveau (1..6) → classe .nc-th-n{N}.
   Poignée de drag, chevron de pliage, boutons indenter/désindenter/ajouter/supprimer. */

.nc-tableau-hierarchique {
  --nc-th-bord: rgba(0, 0, 0, .08);
  --nc-th-zebre: rgba(0, 0, 0, .025);
  --nc-th-survol: rgba(0, 0, 0, .045);
  --nc-th-niveau-pas: 2rem;
  width: 100%;
  border-collapse: collapse;
  font: inherit;
  color: inherit;
}

.nc-tableau-hierarchique th,
.nc-tableau-hierarchique td {
  padding: .5rem .65rem;
  border-bottom: 1px solid var(--nc-th-bord);
  vertical-align: middle;
  text-align: left;
}

.nc-tableau-hierarchique thead th {
  font-weight: 600;
  white-space: nowrap;
  background: transparent;
}

.nc-tableau-hierarchique tbody tr:nth-child(even) {
  background: var(--nc-th-zebre);
}

.nc-tableau-hierarchique tbody tr:hover {
  background: var(--nc-th-survol);
}

/* ── Hiérarchie visuelle ────────────────────────────────────────────────
   1) indentation progressive de la cellule nommée (.nc-th-nom)
   2) marqueur typographique avant le libellé qui change selon le niveau
   3) niveau 1 = ligne titre (fond, gras), n2 = sous-titre, n3+ = item
   4) liseré vertical d'accent par profondeur pour rappeler l'arborescence */

.nc-tableau-hierarchique tr.nc-th-n1 td.nc-th-nom { padding-left: calc(var(--nc-th-niveau-pas) * 0); }
.nc-tableau-hierarchique tr.nc-th-n2 td.nc-th-nom { padding-left: calc(var(--nc-th-niveau-pas) * 1); }
.nc-tableau-hierarchique tr.nc-th-n3 td.nc-th-nom { padding-left: calc(var(--nc-th-niveau-pas) * 2); }
.nc-tableau-hierarchique tr.nc-th-n4 td.nc-th-nom { padding-left: calc(var(--nc-th-niveau-pas) * 3); }
.nc-tableau-hierarchique tr.nc-th-n5 td.nc-th-nom { padding-left: calc(var(--nc-th-niveau-pas) * 4); }
.nc-tableau-hierarchique tr.nc-th-n6 td.nc-th-nom { padding-left: calc(var(--nc-th-niveau-pas) * 5); }

/* Marqueur typographique placé avant le contenu de la cellule nommée */
.nc-tableau-hierarchique td.nc-th-nom::before {
  display: inline-block;
  margin-right: .55rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  width: 1.1rem;
  text-align: center;
  opacity: .75;
}

.nc-tableau-hierarchique tr.nc-th-n1 td.nc-th-nom::before { content: "§"; color: var(--nc-accent, #4f46e5); opacity: 1; }
.nc-tableau-hierarchique tr.nc-th-n2 td.nc-th-nom::before { content: "▸"; color: var(--nc-accent, #4f46e5); }
.nc-tableau-hierarchique tr.nc-th-n3 td.nc-th-nom::before { content: "•"; }
.nc-tableau-hierarchique tr.nc-th-n4 td.nc-th-nom::before { content: "◦"; font-size: .85em; }
.nc-tableau-hierarchique tr.nc-th-n5 td.nc-th-nom::before { content: "·"; font-size: .9em; }
.nc-tableau-hierarchique tr.nc-th-n6 td.nc-th-nom::before { content: "·"; font-size: .8em; opacity: .5; }

/* Niveau 1 — ligne titre */
.nc-tableau-hierarchique tr.nc-th-n1 > td {
  background: color-mix(in srgb, var(--nc-accent, #4f46e5) 8%, transparent);
  border-top: 2px solid color-mix(in srgb, var(--nc-accent, #4f46e5) 35%, transparent);
}
.nc-tableau-hierarchique tr.nc-th-n1 td.nc-th-nom {
  font-weight: 700;
  font-size: 1.02em;
  letter-spacing: .005em;
}

/* Niveau 2 — sous-titre, fond plus subtil */
.nc-tableau-hierarchique tr.nc-th-n2 > td {
  background: color-mix(in srgb, var(--nc-accent, #4f46e5) 3%, transparent);
}
.nc-tableau-hierarchique tr.nc-th-n2 td.nc-th-nom { font-weight: 600; }

/* Niveau 3+ — items "fins" */
.nc-tableau-hierarchique tr.nc-th-n3 td.nc-th-nom,
.nc-tableau-hierarchique tr.nc-th-n4 td.nc-th-nom,
.nc-tableau-hierarchique tr.nc-th-n5 td.nc-th-nom,
.nc-tableau-hierarchique tr.nc-th-n6 td.nc-th-nom { font-weight: 400; opacity: .9; }
.nc-tableau-hierarchique tr.nc-th-n5 td.nc-th-nom,
.nc-tableau-hierarchique tr.nc-th-n6 td.nc-th-nom { font-size: .94em; opacity: .8; }

/* Liseré d'accent vertical → rappel arborescence sur la cellule nommée */
.nc-tableau-hierarchique td.nc-th-nom { position: relative; }
.nc-tableau-hierarchique tr.nc-th-n2 td.nc-th-nom::after,
.nc-tableau-hierarchique tr.nc-th-n3 td.nc-th-nom::after,
.nc-tableau-hierarchique tr.nc-th-n4 td.nc-th-nom::after,
.nc-tableau-hierarchique tr.nc-th-n5 td.nc-th-nom::after,
.nc-tableau-hierarchique tr.nc-th-n6 td.nc-th-nom::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 2px;
  background: color-mix(in srgb, var(--nc-accent, #4f46e5) 35%, transparent);
}
.nc-tableau-hierarchique tr.nc-th-n2 td.nc-th-nom::after { left: calc(var(--nc-th-niveau-pas) * 0.4); }
.nc-tableau-hierarchique tr.nc-th-n3 td.nc-th-nom::after { left: calc(var(--nc-th-niveau-pas) * 1.4); opacity: .7; }
.nc-tableau-hierarchique tr.nc-th-n4 td.nc-th-nom::after { left: calc(var(--nc-th-niveau-pas) * 2.4); opacity: .55; }
.nc-tableau-hierarchique tr.nc-th-n5 td.nc-th-nom::after { left: calc(var(--nc-th-niveau-pas) * 3.4); opacity: .4; }
.nc-tableau-hierarchique tr.nc-th-n6 td.nc-th-nom::after { left: calc(var(--nc-th-niveau-pas) * 4.4); opacity: .3; }

/* Cellule de gauche : chevron + flèches indenter/désindenter */
.nc-tableau-hierarchique td.nc-th-gauche {
  width: 4.2rem;
  white-space: nowrap;
  text-align: center;
  user-select: none;
}

.nc-tableau-hierarchique td.nc-th-gauche .nc-th-grp {
  display: inline-flex;
  align-items: center;
  gap: .15rem;
}

/* Cellule de droite : poignée + boutons add/sup */
.nc-tableau-hierarchique td.nc-th-droite {
  width: 5rem;
  white-space: nowrap;
  text-align: center;
  user-select: none;
}

.nc-tableau-hierarchique td.nc-th-droite .nc-th-grp {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
}

/* Icônes en SVG inline — boutons carrés, légers */
.nc-tableau-hierarchique .nc-th-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.6rem;
  height: 1.6rem;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  border-radius: .35rem;
  padding: 0;
  opacity: .55;
  transition: opacity .15s ease, background .15s ease;
}

.nc-tableau-hierarchique .nc-th-btn:hover,
.nc-tableau-hierarchique .nc-th-btn:focus-visible {
  opacity: 1;
  background: rgba(0, 0, 0, .06);
  outline: none;
}

.nc-tableau-hierarchique .nc-th-btn[hidden] { display: none !important; }
.nc-tableau-hierarchique .nc-th-btn--invisible { visibility: hidden; }
.nc-tableau-hierarchique .nc-th-btn--sup { color: #c0392b; }
.nc-tableau-hierarchique .nc-th-btn--add { color: #1e9d52; }
.nc-tableau-hierarchique .nc-th-btn--grip { cursor: grab; }
.nc-tableau-hierarchique .nc-th-btn--grip:active { cursor: grabbing; }

.nc-tableau-hierarchique .nc-th-btn svg {
  width: 1rem;
  height: 1rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Drag & drop */
.nc-tableau-hierarchique tr.nc-th-drag {
  opacity: .35;
}

.nc-tableau-hierarchique tr.nc-th-drop-avant td {
  box-shadow: inset 0 2px 0 0 var(--nc-accent, #4f46e5);
}

.nc-tableau-hierarchique tr.nc-th-drop-apres td {
  box-shadow: inset 0 -2px 0 0 var(--nc-accent, #4f46e5);
}

/* Ligne cachée (chevron replié) */
.nc-tableau-hierarchique tr.nc-th-replie { display: none; }

/* Chevron orientation */
.nc-tableau-hierarchique .nc-th-btn--toggle svg {
  transition: transform .15s ease;
}

.nc-tableau-hierarchique .nc-th-btn--toggle[aria-expanded="false"] svg {
  transform: rotate(-90deg);
}

@media (prefers-reduced-motion: reduce) {
  .nc-tableau-hierarchique .nc-th-btn,
  .nc-tableau-hierarchique .nc-th-btn--toggle svg {
    transition: none !important;
  }
}

.nc-tableau {
  --nc-tableau-bord: rgba(0, 0, 0, .08);
  --nc-tableau-zebre: rgba(0, 0, 0, .025);
  --nc-tableau-survol: rgba(0, 0, 0, .045);
  display: block;
  width: 100%;
  color: inherit;
}

.nc-tableau__barre {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin-bottom: .75rem;
}

.nc-tableau__recherche {
  flex: 1 1 auto;
  max-width: 22rem;
  padding: .5rem .75rem;
  font: inherit;
  color: inherit;
  background: transparent;
  border: 1px solid var(--nc-tableau-bord);
  border-radius: var(--nc-rayon, .5rem);
  outline: none;
  transition: border-color var(--nc-duree, .25s) var(--nc-easing, ease),
    box-shadow var(--nc-duree, .25s) var(--nc-easing, ease);
}

.nc-tableau__recherche:focus-visible {
  border-color: var(--nc-accent, #4f46e5);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--nc-accent, #4f46e5) 25%, transparent);
}

.nc-tableau__compte {
  font-size: .85em;
  opacity: .65;
  white-space: nowrap;
}

.nc-tableau table {
  width: 100%;
  border-collapse: collapse;
  font: inherit;
}

.nc-tableau th,
.nc-tableau td {
  padding: .65rem .8rem;
  text-align: left;
  border-bottom: 1px solid var(--nc-tableau-bord);
  vertical-align: middle;
}

.nc-tableau thead th {
  border-bottom: 0;
  box-shadow: none;
  font-weight: 600;
  white-space: nowrap;
}

.nc-tableau tbody tr:nth-child(even) {
  background: var(--nc-tableau-zebre);
}

.nc-tableau tbody tr {
  transition: background var(--nc-duree, .25s) var(--nc-easing, ease);
}

.nc-tableau tbody tr:hover {
  background: var(--nc-tableau-survol);
}

.nc-tableau__th-tri {
  cursor: pointer;
  user-select: none;
  outline: none;
}

.nc-tableau__th-tri:focus-visible {
  box-shadow: inset 0 0 0 2px var(--nc-accent, #4f46e5);
  border-radius: var(--nc-rayon, .25rem);
}

.nc-tableau__th-tri::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  margin-right: .4rem;
  width: 0;
  height: 0;
  border-left: .3rem solid transparent;
  border-right: .3rem solid transparent;
  border-bottom: .35rem solid currentColor;
  opacity: .22;
  transition: opacity var(--nc-duree, .25s) var(--nc-easing, ease),
    transform var(--nc-duree, .25s) var(--nc-easing, ease);
}

.nc-tableau__th-tri[aria-sort="ascending"]::before {
  opacity: .9;
}

.nc-tableau__th-tri[aria-sort="descending"]::before {
  opacity: .9;
  transform: rotate(180deg);
}

.nc-tableau__vide {
  text-align: center;
  padding: 1.5rem;
  opacity: .6;
  font-style: italic;
}

.nc-tableau tr.nc-tableau--masque {
  display: none;
}

@media (max-width: 640px) {
  .nc-tableau thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
  }

  .nc-tableau table,
  .nc-tableau tbody,
  .nc-tableau tr,
  .nc-tableau td {
    display: block;
    width: 100%;
  }

  .nc-tableau tbody tr {
    margin-bottom: .75rem;
    border: 1px solid var(--nc-tableau-bord);
    border-radius: var(--nc-rayon, .5rem);
    overflow: hidden;
  }

  .nc-tableau td {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    text-align: right;
    border-bottom: 1px solid var(--nc-tableau-bord);
  }

  .nc-tableau tbody tr td:last-child {
    border-bottom: 0;
  }

  .nc-tableau td[data-label]::before {
    content: attr(data-label);
    font-weight: 600;
    text-align: left;
    opacity: .7;
  }
}

@media (prefers-reduced-motion: reduce) {
  .nc-tableau__recherche,
  .nc-tableau tbody tr,
  .nc-tableau__th-tri::before {
    transition: none !important;
  }
}

/* ── Types de colonnes : alignements + largeurs cohérents ──────────────
   Poser la classe sur le <th> : le JS la propage aux <td> de la colonne.
   (Scopé desktop ; en mode mobile empilé la présentation reste uniforme.) */
@media (min-width: 641px) {
  .nc-tableau th.nc-nom,        .nc-tableau td.nc-nom        { text-align:left; }
  .nc-tableau th.nc-libelle,    .nc-tableau td.nc-libelle    { text-align:left; width:14rem; }
  .nc-tableau th.nc-titre,      .nc-tableau td.nc-titre      { text-align:left; width:18rem; }
  .nc-tableau th.nc-long,       .nc-tableau td.nc-long       { text-align:left; }
  .nc-tableau th.nc-email,      .nc-tableau td.nc-email      { text-align:left; }
  .nc-tableau th.nc-ref,        .nc-tableau td.nc-ref,
  .nc-tableau th.nc-reference,  .nc-tableau td.nc-reference  { text-align:left; width:9rem; white-space:nowrap; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; }
  .nc-tableau th.nc-date,       .nc-tableau td.nc-date       { text-align:center; width:7rem; white-space:nowrap; font-variant-numeric:tabular-nums; }
  .nc-tableau th.nc-datelong,   .nc-tableau td.nc-datelong   { text-align:left; width:11rem; white-space:nowrap; }
  .nc-tableau th.nc-heure,      .nc-tableau td.nc-heure      { text-align:center; width:5.5rem; white-space:nowrap; font-variant-numeric:tabular-nums; }
  .nc-tableau th.nc-montant,    .nc-tableau td.nc-montant    { text-align:right; width:9rem; padding-right:1rem; white-space:nowrap; font-variant-numeric:tabular-nums; }
  .nc-tableau th.nc-nombre,     .nc-tableau td.nc-nombre     { text-align:right; width:6.5rem; font-variant-numeric:tabular-nums; }
  .nc-tableau th.nc-numero,     .nc-tableau td.nc-numero     { text-align:center; width:5rem; font-variant-numeric:tabular-nums; }
  .nc-tableau th.nc-pct,        .nc-tableau td.nc-pct        { text-align:right; width:5.5rem; font-variant-numeric:tabular-nums; }
  .nc-tableau th.nc-quantite,   .nc-tableau td.nc-quantite   { text-align:center; width:5rem; font-variant-numeric:tabular-nums; }
  .nc-tableau th.nc-booleen,    .nc-tableau td.nc-booleen    { text-align:center; width:4.5rem; }
  .nc-tableau th.nc-statut,     .nc-tableau td.nc-statut     { text-align:center; width:8rem; }
  .nc-tableau th.nc-image,      .nc-tableau td.nc-image      { text-align:center; width:4rem; }
  .nc-tableau th.nc-action,     .nc-tableau td.nc-action,
  .nc-tableau th.nc-actions,    .nc-tableau td.nc-actions    { text-align:right; width:6rem; white-space:nowrap; }
}

/* Largeurs strictes optionnelles (table-layout fixe + ellipsis) */
.nc-tableau--fixe table { table-layout:fixed; }
.nc-tableau--fixe td { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.nc-tabs{ display:block; }
.nc-tabs .nc-onglets{ position:relative; display:flex; gap:.25rem; flex-wrap:wrap; }
.nc-tabs .nc-onglet{ position:relative; appearance:none; background:none; border:0; font:inherit; color:inherit; padding:.6rem 1rem; cursor:pointer; border-radius:var(--nc-rayon); transition: background-color var(--nc-duree) var(--nc-easing), box-shadow var(--nc-duree) var(--nc-easing), color var(--nc-duree) var(--nc-easing); }
.nc-tabs .nc-onglet:hover{ color:var(--nc-accent); }

/* Indicateur underline : trait anime sous l'onglet actif */
.nc-tabs[data-nc-indicateur="underline"] .nc-onglets{ border-bottom:2px solid rgba(0,0,0,.1); }
.nc-tabs[data-nc-indicateur="underline"] .nc-onglet::after{ content:''; position:absolute; left:.6rem; right:.6rem; bottom:-2px; height:2px; background:var(--nc-accent); transform:scaleX(0); transform-origin:center; transition:transform var(--nc-duree) var(--nc-easing); }
.nc-tabs[data-nc-indicateur="underline"] .nc-onglet.nc-actif{ color:var(--nc-accent); }
.nc-tabs[data-nc-indicateur="underline"] .nc-onglet.nc-actif::after{ transform:scaleX(1); }

/* Indicateur background */
.nc-tabs[data-nc-indicateur="background"] .nc-onglet.nc-actif{ background:var(--nc-accent); color:#fff; }

/* Indicateur outline */
.nc-tabs[data-nc-indicateur="outline"] .nc-onglet.nc-actif{ box-shadow: inset 0 0 0 2px var(--nc-accent); color:var(--nc-accent); }

.nc-tabs .nc-panneaux{ position:relative; margin-top:1rem; }
.nc-tabs .nc-panneau{ display:none; }
.nc-tabs .nc-panneau.nc-actif{ display:block; }

/* Transition fade : on scope l'etat initial sur :not(.nc-vu) pour eviter le piege de specificite */
.nc-tabs[data-nc-transition="fade"] .nc-panneau.nc-actif{ animation: nc-tabs-fade var(--nc-duree) var(--nc-easing); }
@keyframes nc-tabs-fade{ from{ opacity:0; } to{ opacity:1; } }

/* Transition slide */
.nc-tabs[data-nc-transition="slide"] .nc-panneau.nc-actif{ animation: nc-tabs-slide var(--nc-duree) var(--nc-easing); }
@keyframes nc-tabs-slide{ from{ opacity:0; transform:translateX(var(--nc-distance)); } to{ opacity:1; transform:translateX(0); } }

@media (prefers-reduced-motion: reduce){
  .nc-tabs .nc-onglet, .nc-tabs .nc-onglet::after{ transition:none !important; }
  .nc-tabs .nc-panneau.nc-actif{ animation:none !important; }
}

.nc-tilt{ transform-style: preserve-3d; transition: transform var(--nc-duree) var(--nc-easing); will-change: transform; --nc-tilt-rx:0deg; --nc-tilt-ry:0deg; --nc-tilt-echelle:1; }
.nc-tilt[data-nc-actif]{ transition: transform 80ms linear; transform: perspective(900px) rotateX(var(--nc-tilt-rx)) rotateY(var(--nc-tilt-ry)) scale(var(--nc-tilt-echelle)); }
.nc-tilt > *{ transform: translateZ(0); }
.nc-tilt-glare{ position:absolute; inset:0; border-radius: inherit; pointer-events:none; opacity:0; background: radial-gradient(circle at var(--nc-tilt-gx,50%) var(--nc-tilt-gy,50%), rgba(255,255,255,.45), transparent 55%); transition: opacity var(--nc-duree) var(--nc-easing); }
.nc-tilt[data-nc-actif] .nc-tilt-glare{ opacity:1; }
@media (prefers-reduced-motion: reduce){
 .nc-tilt, .nc-tilt[data-nc-actif]{ transform:none !important; transition:none !important; }
 .nc-tilt-glare{ display:none !important; }
}

.nc-timeline{ position:relative; padding:1rem 0; }
.nc-timeline[data-nc-ligne="visible"]::before{ content:''; position:absolute; top:0; bottom:0; width:2px; background:rgba(0,0,0,.12); }
.nc-timeline[data-nc-disposition="alternee"][data-nc-ligne="visible"]::before{ left:50%; transform:translateX(-50%); }
.nc-timeline[data-nc-disposition="gauche"][data-nc-ligne="visible"]::before,
.nc-timeline[data-nc-disposition="droite"][data-nc-ligne="visible"]::before{ left:1rem; }

.nc-timeline .nc-evt{ position:relative; padding:.5rem 0 1.5rem 2.5rem; box-sizing:border-box; transition: opacity var(--nc-duree) var(--nc-easing), transform var(--nc-duree) var(--nc-easing); will-change:opacity,transform; }
.nc-timeline .nc-evt::before{ content:''; position:absolute; top:.85rem; width:14px; height:14px; border-radius:50%; background:var(--nc-accent); box-shadow:0 0 0 4px rgba(37,99,235,.18); }

/* Disposition alternee */
.nc-timeline[data-nc-disposition="alternee"] .nc-evt{ width:50%; padding-left:0; }
.nc-timeline[data-nc-disposition="alternee"] .nc-evt:nth-child(odd){ left:0; padding-right:2.5rem; text-align:right; }
.nc-timeline[data-nc-disposition="alternee"] .nc-evt:nth-child(even){ left:50%; padding-left:2.5rem; }
.nc-timeline[data-nc-disposition="alternee"] .nc-evt:nth-child(odd)::before{ right:-7px; }
.nc-timeline[data-nc-disposition="alternee"] .nc-evt:nth-child(even)::before{ left:-7px; }

/* Disposition gauche/droite : point sur la ligne a 1rem */
.nc-timeline[data-nc-disposition="gauche"] .nc-evt::before,
.nc-timeline[data-nc-disposition="droite"] .nc-evt::before{ left:calc(1rem - 6px); }
.nc-timeline[data-nc-disposition="droite"]{ text-align:right; }
.nc-timeline[data-nc-disposition="droite"] .nc-evt{ padding-left:0; padding-right:2.5rem; }
.nc-timeline[data-nc-disposition="droite"][data-nc-ligne="visible"]::before{ left:auto; right:1rem; }
.nc-timeline[data-nc-disposition="droite"] .nc-evt::before{ left:auto; right:calc(1rem - 6px); }

/* Etat initial avant apparition : scope sur :not(.nc-in) pour eviter le piege de specificite */
.nc-timeline .nc-evt:not(.nc-in){ opacity:0; transform:translateY(var(--nc-distance)); }

.nc-timeline .nc-date{ font-weight:700; color:var(--nc-accent); display:block; margin-bottom:.25rem; }
.nc-timeline .nc-carte{ background:rgba(0,0,0,.03); border-radius:var(--nc-rayon); padding:1rem 1.25rem; }

@media (max-width:640px){
  .nc-timeline[data-nc-disposition="alternee"][data-nc-ligne="visible"]::before{ left:1rem; transform:none; }
  .nc-timeline[data-nc-disposition="alternee"] .nc-evt{ width:100%; left:0 !important; padding:.5rem 0 1.5rem 2.5rem !important; text-align:left !important; }
  .nc-timeline[data-nc-disposition="alternee"] .nc-evt::before{ left:calc(1rem - 6px) !important; right:auto !important; }
}

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

.nc-toast-zone{position:fixed;z-index:9000;display:flex;flex-direction:column;gap:.6rem;padding:1rem;pointer-events:none;max-width:min(92vw,360px)}
.nc-toast-zone[data-pos="haut-droite"]{top:0;right:0;align-items:flex-end}
.nc-toast-zone[data-pos="haut-gauche"]{top:0;left:0;align-items:flex-start}
.nc-toast-zone[data-pos="bas-droite"]{bottom:0;right:0;align-items:flex-end;flex-direction:column-reverse}
.nc-toast-zone[data-pos="bas-gauche"]{bottom:0;left:0;align-items:flex-start;flex-direction:column-reverse}

.nc-toast-item{pointer-events:auto;position:relative;display:flex;align-items:flex-start;gap:.65rem;width:100%;box-sizing:border-box;padding:.85rem 2.4rem .85rem .9rem;border-radius:var(--nc-rayon,10px);background:#1f2430;color:#fff;font:500 .9rem/1.35 system-ui,sans-serif;box-shadow:0 8px 28px rgba(0,0,0,.28);overflow:hidden;border-left:4px solid var(--nc-accent,#5b8cff);transform:translateX(0);opacity:1;transition:transform var(--nc-duree,.32s) var(--nc-easing,cubic-bezier(.22,1,.36,1)),opacity var(--nc-duree,.32s) ease}
.nc-toast-zone[data-pos$="gauche"] .nc-toast-item{border-left:0;border-right:4px solid var(--nc-accent,#5b8cff)}

.nc-toast-item:not(.nc-in){opacity:0;transform:translateX(calc(var(--nc-distance,24px) * 1.4))}
.nc-toast-zone[data-pos$="gauche"] .nc-toast-item:not(.nc-in){transform:translateX(calc(var(--nc-distance,24px) * -1.4))}
.nc-toast-item.nc-out{opacity:0;transform:translateX(calc(var(--nc-distance,24px) * 1.4))}
.nc-toast-zone[data-pos$="gauche"] .nc-toast-item.nc-out{transform:translateX(calc(var(--nc-distance,24px) * -1.4))}

.nc-toast-item[data-type="succes"]{--nc-accent:#22c55e}
.nc-toast-item[data-type="erreur"]{--nc-accent:#ef4444}
.nc-toast-item[data-type="info"]{--nc-accent:#5b8cff}

.nc-toast-ico{flex:0 0 auto;width:1.25rem;height:1.25rem;border-radius:50%;background:var(--nc-accent,#5b8cff);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;line-height:1;margin-top:.05rem}
.nc-toast-txt{flex:1 1 auto;word-break:break-word}
.nc-toast-fermer{position:absolute;top:.4rem;right:.45rem;width:1.4rem;height:1.4rem;border:0;background:transparent;color:rgba(255,255,255,.6);font-size:1.05rem;line-height:1;cursor:pointer;border-radius:6px}
.nc-toast-fermer:hover{color:#fff;background:rgba(255,255,255,.12)}
.nc-toast-fermer:focus-visible{outline:2px solid var(--nc-accent,#5b8cff);outline-offset:2px}

.nc-toast-jauge{position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--nc-accent,#5b8cff);transform-origin:left center;transform:scaleX(1)}
.nc-toast-zone[data-pos$="gauche"] .nc-toast-jauge{transform-origin:right center}
.nc-toast-jauge.nc-anime{transform:scaleX(0);transition:transform linear var(--nc-vie,4000ms)}

@media (prefers-reduced-motion: reduce){
.nc-toast-item,.nc-toast-item:not(.nc-in),.nc-toast-item.nc-out{transition:opacity .15s linear;transform:none}
.nc-toast-item:not(.nc-in),.nc-toast-item.nc-out{opacity:0}
.nc-toast-jauge.nc-anime{transition:none}
}

.nc-tooltip{ position: relative; }
.nc-tooltip-bulle{ position:absolute; z-index:50; max-width:18rem; width:max-content; padding:.45em .7em; border-radius: var(--nc-rayon); background:#111827; color:#fff; font-size:.85rem; line-height:1.3; pointer-events:none; opacity:0; transition: opacity var(--nc-duree) var(--nc-easing), transform var(--nc-duree) var(--nc-easing); }
.nc-tooltip-bulle::after{ content:""; position:absolute; border:6px solid transparent; }

.nc-tooltip[data-nc-position="haut"] .nc-tooltip-bulle{ left:50%; bottom:100%; transform: translate(-50%, 4px); margin-bottom:.5em; }
.nc-tooltip[data-nc-position="haut"] .nc-tooltip-bulle::after{ top:100%; left:50%; margin-left:-6px; border-top-color:#111827; }
.nc-tooltip[data-nc-position="bas"] .nc-tooltip-bulle{ left:50%; top:100%; transform: translate(-50%, -4px); margin-top:.5em; }
.nc-tooltip[data-nc-position="bas"] .nc-tooltip-bulle::after{ bottom:100%; left:50%; margin-left:-6px; border-bottom-color:#111827; }
.nc-tooltip[data-nc-position="gauche"] .nc-tooltip-bulle{ right:100%; top:50%; transform: translate(4px, -50%); margin-right:.5em; }
.nc-tooltip[data-nc-position="gauche"] .nc-tooltip-bulle::after{ left:100%; top:50%; margin-top:-6px; border-left-color:#111827; }
.nc-tooltip[data-nc-position="droite"] .nc-tooltip-bulle{ left:100%; top:50%; transform: translate(-4px, -50%); margin-left:.5em; }
.nc-tooltip[data-nc-position="droite"] .nc-tooltip-bulle::after{ right:100%; top:50%; margin-top:-6px; border-right-color:#111827; }

.nc-tooltip:hover .nc-tooltip-bulle, .nc-tooltip:focus-within .nc-tooltip-bulle{ opacity:1; transform: translate(-50%, 0); }
.nc-tooltip[data-nc-position="gauche"]:hover .nc-tooltip-bulle, .nc-tooltip[data-nc-position="gauche"]:focus-within .nc-tooltip-bulle,
.nc-tooltip[data-nc-position="droite"]:hover .nc-tooltip-bulle, .nc-tooltip[data-nc-position="droite"]:focus-within .nc-tooltip-bulle{ transform: translate(0, -50%); }

@media (prefers-reduced-motion: reduce){
 .nc-tooltip-bulle{ transition: opacity var(--nc-duree) var(--nc-easing) !important; transform:none !important; }
 .nc-tooltip:hover .nc-tooltip-bulle, .nc-tooltip:focus-within .nc-tooltip-bulle{ 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-zoom-image{position:relative;overflow:hidden;display:block;border-radius:var(--nc-rayon);cursor:zoom-in;line-height:0}
.nc-zoom-image img{display:block;width:100%;height:auto;transform-origin:center center;transition:transform var(--nc-vitesse,.4s) var(--nc-easing);will-change:transform;backface-visibility:hidden}
.nc-zoom-image.nc-survol img{transform:scale(var(--nc-echelle,2));transform-origin:var(--nc-px,50%) var(--nc-py,50%)}
.nc-zoom-image[data-nc-mode="loupe"]{cursor:crosshair}
@media (prefers-reduced-motion: reduce){.nc-zoom-image img{transition:none!important}.nc-zoom-image.nc-survol img{transform:none!important}}

