/* Fruity AllySurvey V2.0.8 - palettes ULille 2026.
   Une palette sélectionnée neutralise les colorpickers de l'onglet Couleurs. */
body[data-fas-color-palette]:not([data-fas-color-palette="custom"]){
  --fas-palette-bg:#FFFFFF;--fas-palette-surface:#F8F9FB;--fas-palette-surface-2:#F3F4F6;
  --fas-palette-text:#111827;--fas-palette-muted:#4B5563;--fas-palette-warning:#C70000;
  --fas-palette-primary1:#D2D4DB;--fas-palette-primary2:#4B5563;--fas-palette-accent:#9500FF;
  --fas-palette-on-primary:#FFFFFF;--fas-palette-border:#69707E;--fas-palette-focus:#C70000;
  background:var(--fas-palette-bg)!important;color:var(--fas-palette-text)!important;
  --bs-body-bg:var(--fas-palette-bg);--bs-body-color:var(--fas-palette-text);
  --bs-primary:var(--fas-palette-primary2);--fas-accent:var(--fas-palette-primary2);--fas-focus:var(--fas-palette-focus);
}
body[data-fas-color-palette="neutre"]{--fas-palette-primary1:#D2D4DB;--fas-palette-primary2:#4B5563;--fas-palette-accent:#9500FF;--fas-palette-on-primary:#FFFFFF;}
body[data-fas-color-palette="industrie"]{--fas-palette-primary1:#96A2F5;--fas-palette-primary2:#454F91;--fas-palette-accent:#5A55AF;--fas-palette-on-primary:#FFFFFF;}
body[data-fas-color-palette="pinklady"]{--fas-palette-primary1:#FE7DB1;--fas-palette-primary2:#B72962;--fas-palette-accent:#89586C;--fas-palette-on-primary:#FFFFFF;}
body[data-fas-color-palette="brique"]{--fas-palette-primary1:#FC8670;--fas-palette-primary2:#B14937;--fas-palette-accent:#8C584F;--fas-palette-on-primary:#FFFFFF;}
body[data-fas-color-palette="orangette"]{--fas-palette-primary1:#F39200;--fas-palette-primary2:#AA2E00;--fas-palette-accent:#995238;--fas-palette-on-primary:#FFFFFF;}
body[data-fas-color-palette="hyperion"]{--fas-palette-primary1:#FFD24D;--fas-palette-primary2:#4D3F17;--fas-palette-accent:#7B6523;--fas-palette-on-primary:#000000;}
body[data-fas-color-palette="ocean"]{--fas-palette-primary1:#7ABAFF;--fas-palette-primary2:#2973C3;--fas-palette-accent:#2569B1;--fas-palette-on-primary:#FFFFFF;}
body[data-fas-color-palette="menthe"]{--fas-palette-primary1:#89E0B1;--fas-palette-primary2:#3F845F;--fas-palette-accent:#37724F;--fas-palette-on-primary:#FFFFFF;}
body[data-fas-color-palette="dune"]{--fas-palette-primary1:#FAF0E1;--fas-palette-primary2:#827561;--fas-palette-accent:#6F6452;--fas-palette-on-primary:#000000;}
body[data-fas-color-palette="commodore"]{--fas-palette-primary1:#A6CEFF;--fas-palette-primary2:#003D87;--fas-palette-accent:#005AC7;--fas-palette-on-primary:#FFFFFF;}
body[data-fas-color-palette="colvert"]{--fas-palette-primary1:#4ABEB1;--fas-palette-primary2:#007668;--fas-palette-accent:#007668;--fas-palette-on-primary:#FFFFFF;}
body[data-fas-color-palette="vulcain"]{--fas-palette-primary1:#D15C64;--fas-palette-primary2:#941B23;--fas-palette-accent:#944C53;--fas-palette-on-primary:#FFFFFF;}
body[data-fas-color-palette="orangesanguine"]{--fas-palette-primary1:#E67339;--fas-palette-primary2:#4D1900;--fas-palette-accent:#8C5D45;--fas-palette-on-primary:#FFFFFF;}
body[data-fas-color-palette="highcontrast"]{--fas-palette-bg:#000;--fas-palette-surface:#000;--fas-palette-surface-2:#111;--fas-palette-text:#fff;--fas-palette-muted:#fff;--fas-palette-warning:#ff5252;--fas-palette-primary1:#ff0;--fas-palette-primary2:#ff0;--fas-palette-accent:#0ff;--fas-palette-on-primary:#000;--fas-palette-border:#fff;--fas-palette-focus:#0ff}
body[data-fas-color-palette]:not([data-fas-color-palette="custom"]) .question-container,
body[data-fas-color-palette]:not([data-fas-color-palette="custom"]) .card,
body[data-fas-color-palette]:not([data-fas-color-palette="custom"]) .modal-content,
body[data-fas-color-palette]:not([data-fas-color-palette="custom"]) .dropdown-menu,
body[data-fas-color-palette]:not([data-fas-color-palette="custom"]) .fas-a11y-panel{background-color:var(--fas-palette-surface)!important;color:var(--fas-palette-text)!important;border-color:var(--fas-palette-border)!important}
body[data-fas-color-palette]:not([data-fas-color-palette="custom"]) .question-title-container,
body[data-fas-color-palette]:not([data-fas-color-palette="custom"]) .survey-name,
body[data-fas-color-palette]:not([data-fas-color-palette="custom"]) h1,
body[data-fas-color-palette]:not([data-fas-color-palette="custom"]) h2,
body[data-fas-color-palette]:not([data-fas-color-palette="custom"]) h3{color:var(--fas-palette-text)!important}
body[data-fas-color-palette]:not([data-fas-color-palette="custom"]) a{color:var(--fas-palette-primary2)!important}
body[data-fas-color-palette]:not([data-fas-color-palette="custom"]) .btn-primary,
body[data-fas-color-palette]:not([data-fas-color-palette="custom"]) .ls-move-btn,
body[data-fas-color-palette]:not([data-fas-color-palette="custom"]) .progress-bar{background-color:var(--fas-palette-primary2)!important;border-color:var(--fas-palette-primary2)!important;color:var(--fas-palette-on-primary)!important}
body[data-fas-color-palette]:not([data-fas-color-palette="custom"]) .btn-primary:hover,
body[data-fas-color-palette]:not([data-fas-color-palette="custom"]) .btn-primary:focus-visible,
body[data-fas-color-palette]:not([data-fas-color-palette="custom"]) .ls-move-btn:hover,
body[data-fas-color-palette]:not([data-fas-color-palette="custom"]) .ls-move-btn:focus-visible{background-color:var(--fas-palette-accent)!important;border-color:var(--fas-palette-accent)!important;color:#fff!important}
body[data-fas-color-palette="hyperion"] .btn-primary:hover,body[data-fas-color-palette="dune"] .btn-primary:hover{color:#fff!important}
body[data-fas-color-palette]:not([data-fas-color-palette="custom"]) input,
body[data-fas-color-palette]:not([data-fas-color-palette="custom"]) select,
body[data-fas-color-palette]:not([data-fas-color-palette="custom"]) textarea{background-color:#fff!important;color:var(--fas-palette-text)!important;border-color:var(--fas-palette-border)!important}
body[data-fas-color-palette]:not([data-fas-color-palette="custom"]) :focus-visible{outline:3px solid var(--fas-palette-focus)!important;outline-offset:3px}
body[data-fas-color-palette="highcontrast"] .text-muted,body[data-fas-color-palette="highcontrast"] .form-text{color:#fff!important}
body[data-fas-color-palette="highcontrast"] a{color:#ff0!important;text-decoration:underline!important}
body[data-fas-color-palette="highcontrast"] .btn-primary:hover,body[data-fas-color-palette="highcontrast"] .btn-primary:focus-visible{background:#0ff!important;color:#000!important;border-color:#0ff!important}

/* V2.0.10 : application robuste par classe, en complément de data-* */
body[class*="fas-palette-"]:not(.fas-palette-custom){
  background-color:var(--fas-palette-bg,#fff)!important;
  color:var(--fas-palette-text,#111827)!important;
}
body.fas-palette-neutre{--fas-palette-primary1:#D2D4DB;--fas-palette-primary2:#4B5563;--fas-palette-accent:#9500FF;--fas-palette-on-primary:#fff}
body.fas-palette-industrie{--fas-palette-primary1:#96A2F5;--fas-palette-primary2:#454F91;--fas-palette-accent:#5A55AF;--fas-palette-on-primary:#fff}
body.fas-palette-pinklady{--fas-palette-primary1:#FE7DB1;--fas-palette-primary2:#B72962;--fas-palette-accent:#89586C;--fas-palette-on-primary:#fff}
body.fas-palette-brique{--fas-palette-primary1:#FC8670;--fas-palette-primary2:#B14937;--fas-palette-accent:#8C584F;--fas-palette-on-primary:#fff}
body.fas-palette-orangette{--fas-palette-primary1:#F39200;--fas-palette-primary2:#AA2E00;--fas-palette-accent:#995238;--fas-palette-on-primary:#fff}
body.fas-palette-hyperion{--fas-palette-primary1:#FFD24D;--fas-palette-primary2:#4D3F17;--fas-palette-accent:#7B6523;--fas-palette-on-primary:#fff}
body.fas-palette-ocean{--fas-palette-primary1:#7ABAFF;--fas-palette-primary2:#2973C3;--fas-palette-accent:#2569B1;--fas-palette-on-primary:#fff}
body.fas-palette-menthe{--fas-palette-primary1:#89E0B1;--fas-palette-primary2:#3F845F;--fas-palette-accent:#37724F;--fas-palette-on-primary:#fff}
body.fas-palette-dune{--fas-palette-primary1:#FAF0E1;--fas-palette-primary2:#827561;--fas-palette-accent:#6F6452;--fas-palette-on-primary:#fff}
body.fas-palette-commodore{--fas-palette-primary1:#A6CEFF;--fas-palette-primary2:#003D87;--fas-palette-accent:#005AC7;--fas-palette-on-primary:#fff}
body.fas-palette-colvert{--fas-palette-primary1:#4ABEB1;--fas-palette-primary2:#007668;--fas-palette-accent:#007668;--fas-palette-on-primary:#fff}
body.fas-palette-vulcain{--fas-palette-primary1:#D15C64;--fas-palette-primary2:#941B23;--fas-palette-accent:#944C53;--fas-palette-on-primary:#fff}
body.fas-palette-orangesanguine{--fas-palette-primary1:#E67339;--fas-palette-primary2:#4D1900;--fas-palette-accent:#8C5D45;--fas-palette-on-primary:#fff}
body.fas-palette-highcontrast{--fas-palette-bg:#000;--fas-palette-surface:#000;--fas-palette-surface-2:#111;--fas-palette-text:#fff;--fas-palette-muted:#fff;--fas-palette-primary1:#ff0;--fas-palette-primary2:#ff0;--fas-palette-accent:#0ff;--fas-palette-on-primary:#000;--fas-palette-border:#fff;--fas-palette-focus:#0ff}
body[class*="fas-palette-"]:not(.fas-palette-custom) .navbar,
body[class*="fas-palette-"]:not(.fas-palette-custom) .navbar-default,
body[class*="fas-palette-"]:not(.fas-palette-custom) .top-container,
body[class*="fas-palette-"]:not(.fas-palette-custom) header,
body[class*="fas-palette-"]:not(.fas-palette-custom) footer{background-color:var(--fas-palette-primary1)!important;color:var(--fas-palette-text,#111827)!important}
body[class*="fas-palette-"]:not(.fas-palette-custom) .question-container,
body[class*="fas-palette-"]:not(.fas-palette-custom) .card,
body[class*="fas-palette-"]:not(.fas-palette-custom) .modal-content,
body[class*="fas-palette-"]:not(.fas-palette-custom) .dropdown-menu{background-color:var(--fas-palette-surface,#F8F9FB)!important;color:var(--fas-palette-text,#111827)!important;border-color:var(--fas-palette-primary2)!important}
body[class*="fas-palette-"]:not(.fas-palette-custom) .btn-primary,
body[class*="fas-palette-"]:not(.fas-palette-custom) .ls-move-btn,
body[class*="fas-palette-"]:not(.fas-palette-custom) .progress-bar{background-color:var(--fas-palette-primary2)!important;border-color:var(--fas-palette-primary2)!important;color:var(--fas-palette-on-primary,#fff)!important}
body[class*="fas-palette-"]:not(.fas-palette-custom) .btn-primary:hover,
body[class*="fas-palette-"]:not(.fas-palette-custom) .btn-primary:focus-visible,
body[class*="fas-palette-"]:not(.fas-palette-custom) .ls-move-btn:hover,
body[class*="fas-palette-"]:not(.fas-palette-custom) .ls-move-btn:focus-visible{background-color:var(--fas-palette-accent)!important;border-color:var(--fas-palette-accent)!important;color:#fff!important}
body[class*="fas-palette-"]:not(.fas-palette-custom) a{color:var(--fas-palette-primary2)!important}
body[class*="fas-palette-"]:not(.fas-palette-custom) input,
body[class*="fas-palette-"]:not(.fas-palette-custom) select,
body[class*="fas-palette-"]:not(.fas-palette-custom) textarea{border-color:var(--fas-palette-primary2)!important}

/* V2.0.11 — priorité explicite sur les variations Fruity héritées. */
body[class*="fas-palette-"]:not(.fas-palette-custom){
 --fas-palette-bg:#fff;--fas-palette-surface:#F8F9FB;--fas-palette-surface-2:#F3F4F6;
 --fas-palette-text:#111827;--fas-palette-muted:#4B5563;--fas-palette-border:#69707E;--fas-palette-focus:var(--fas-palette-accent);
 --bs-primary:var(--fas-palette-primary2)!important;--bs-link-color:var(--fas-palette-primary2)!important;
}
body.fas-palette-highcontrast{--fas-palette-bg:#000;--fas-palette-surface:#000;--fas-palette-surface-2:#111;--fas-palette-text:#fff;--fas-palette-muted:#fff;--fas-palette-border:#fff}
body[class*="fas-palette-"]:not(.fas-palette-custom) .form-control:focus,
body[class*="fas-palette-"]:not(.fas-palette-custom) .form-select:focus{border-color:var(--fas-palette-accent)!important;box-shadow:0 0 0 .2rem color-mix(in srgb,var(--fas-palette-accent) 30%,transparent)!important}


/* V2.0.12 — tous les états interactifs suivent la palette active. */
body[class*="fas-palette-"]:not(.fas-palette-custom) {
  --fas-control-accent: var(--fas-palette-accent, var(--fas-palette-primary2, #005ac7));
  --fas-control-primary: var(--fas-palette-primary2, #005ac7);
  --fas-control-primary-soft: var(--fas-palette-primary1, #a6ceff);
}
body[class*="fas-palette-"]:not(.fas-palette-custom) .checkbox-item input[type="checkbox"]:checked + label,
body[class*="fas-palette-"]:not(.fas-palette-custom) .radio-item input[type="radio"]:checked + label,
body[class*="fas-palette-"]:not(.fas-palette-custom) input[type="checkbox"]:checked + label,
body[class*="fas-palette-"]:not(.fas-palette-custom) input[type="radio"]:checked + label,
body[class*="fas-palette-"]:not(.fas-palette-custom) .form-check-input:checked + .form-check-label {
  color: var(--fas-control-accent) !important;
}
body[class*="fas-palette-"]:not(.fas-palette-custom) .form-check-input:checked,
body[class*="fas-palette-"]:not(.fas-palette-custom) .checkbox-item input[type="checkbox"]:checked,
body[class*="fas-palette-"]:not(.fas-palette-custom) .radio-item input[type="radio"]:checked {
  background-color: var(--fas-control-primary) !important;
  border-color: var(--fas-control-primary) !important;
}
body[class*="fas-palette-"]:not(.fas-palette-custom) .form-check-input:focus,
body[class*="fas-palette-"]:not(.fas-palette-custom) .checkbox-item input[type="checkbox"]:focus-visible,
body[class*="fas-palette-"]:not(.fas-palette-custom) .radio-item input[type="radio"]:focus-visible {
  border-color: var(--fas-control-accent) !important;
  box-shadow: 0 0 0 .22rem color-mix(in srgb, var(--fas-control-accent) 32%, transparent) !important;
}
body[class*="fas-palette-"]:not(.fas-palette-custom) .btn-check:checked + .btn,
body[class*="fas-palette-"]:not(.fas-palette-custom) .btn.active,
body[class*="fas-palette-"]:not(.fas-palette-custom) .dropdown-item.active,
body[class*="fas-palette-"]:not(.fas-palette-custom) .dropdown-item:active,
body[class*="fas-palette-"]:not(.fas-palette-custom) .list-group-item.active,
body[class*="fas-palette-"]:not(.fas-palette-custom) .nav-pills .nav-link.active,
body[class*="fas-palette-"]:not(.fas-palette-custom) .page-item.active .page-link {
  background-color: var(--fas-control-primary) !important;
  border-color: var(--fas-control-primary) !important;
  color: var(--fas-palette-on-primary, #fff) !important;
}
body[class*="fas-palette-"]:not(.fas-palette-custom) .select2-container--default .select2-results__option--highlighted[aria-selected],
body[class*="fas-palette-"]:not(.fas-palette-custom) .select2-container--default .select2-results__option--highlighted[aria-selected="true"],
body[class*="fas-palette-"]:not(.fas-palette-custom) option:checked {
  background: var(--fas-control-primary) !important;
  color: var(--fas-palette-on-primary, #fff) !important;
}
body[class*="fas-palette-"]:not(.fas-palette-custom) .ui-slider-range,
body[class*="fas-palette-"]:not(.fas-palette-custom) .noUi-connect,
body[class*="fas-palette-"]:not(.fas-palette-custom) .slider-selection,
body[class*="fas-palette-"]:not(.fas-palette-custom) .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary {
  background: var(--fas-control-primary) !important;
}
body[class*="fas-palette-"]:not(.fas-palette-custom) .ui-slider-handle,
body[class*="fas-palette-"]:not(.fas-palette-custom) .noUi-handle {
  border-color: var(--fas-control-primary) !important;
}
body[class*="fas-palette-"]:not(.fas-palette-custom) .sortable-item.active,
body[class*="fas-palette-"]:not(.fas-palette-custom) .sortable-item:focus,
body[class*="fas-palette-"]:not(.fas-palette-custom) .ranking-sorted-items .list-group-item {
  border-color: var(--fas-control-primary) !important;
}
body.fas-palette-highcontrast .checkbox-item input[type="checkbox"]:checked + label,
body.fas-palette-highcontrast .radio-item input[type="radio"]:checked + label,
body.fas-palette-highcontrast input[type="checkbox"]:checked + label,
body.fas-palette-highcontrast input[type="radio"]:checked + label {
  color: #ffff00 !important;
}

/* V2.0.19 — carte de contrôle de la palette dans la prévisualisation. */
.fas-welcome-palette-preview {
  margin: 2rem 0 1rem;
  padding: 1.25rem;
  border: 2px solid var(--fas-palette-primary2, #4b5563);
  border-radius: .75rem;
  background: var(--fas-palette-surface, #f8f9fb);
  color: var(--fas-palette-text, #111827);
  box-shadow: 0 .35rem 1rem rgb(17 24 39 / 12%);
}
.fas-welcome-palette-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: .5rem 1rem;
  margin-bottom: 1rem;
}
.fas-welcome-palette-heading h2 {
  margin: 0;
  font-size: 1.25rem;
}
.fas-welcome-palette-heading strong {
  color: var(--fas-palette-primary2, #4b5563);
  font-size: 1rem;
}
.fas-welcome-palette-colors {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-height: 4.25rem;
  overflow: hidden;
  border: 1px solid var(--fas-palette-border, #69707e);
  border-radius: .5rem;
}
.fas-welcome-palette-colors span:nth-child(1) { background: var(--fas-palette-primary1, #d2d4db); }
.fas-welcome-palette-colors span:nth-child(2) { background: var(--fas-palette-primary2, #4b5563); }
.fas-welcome-palette-colors span:nth-child(3) { background: var(--fas-palette-accent, #9500ff); }
.fas-welcome-palette-sample {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid var(--fas-palette-border, #69707e);
  border-radius: .5rem;
  background: var(--fas-palette-bg, #fff);
}
.fas-welcome-palette-button {
  display: inline-block;
  padding: .55rem 1rem;
  border-radius: .4rem;
  background: var(--fas-palette-primary2, #4b5563);
  color: var(--fas-palette-on-primary, #fff);
  font-weight: 700;
}
body.fas-palette-highcontrast .fas-welcome-palette-preview,
body.fas-palette-highcontrast .fas-welcome-palette-sample {
  background: #000;
  color: #fff;
}
body.fas-palette-highcontrast .fas-welcome-palette-heading strong { color: #ffff00; }

@media (max-width: 575.98px) {
  .fas-welcome-palette-preview { padding: 1rem; }
  .fas-welcome-palette-colors { min-height: 3rem; }
}

/* V2.0.24 — cases à cocher pilotées par la palette active. */
body[data-fas-color-palette] .checkbox-item label {
  display: inline-block;
  position: relative;
  padding-left: 20px;
  vertical-align: middle;
}
body[data-fas-color-palette] .checkbox-item label::before,
body[data-fas-color-palette] .privacy .checkbox-item label::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 24px;
  height: 24px;
  left: 0;
  top: 0;
  margin-left: -20px;
  border: 3px solid var(--fas-palette-primary2, #4b5563) !important;
  border-radius: 0;
  background-color: var(--fas-palette-bg, #fff) !important;
  transition: border-color .15s ease-in-out, background-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
body[data-fas-color-palette] .checkbox-item label::after {
  display: inline-block;
  position: absolute;
  left: 2px;
  top: 2px;
  margin-left: -20px;
  color: var(--fas-palette-on-primary, #fff) !important;
}
body[data-fas-color-palette] .checkbox-item input[type="checkbox"]:checked + label::before,
body[data-fas-color-palette] .privacy .checkbox-item input[type="checkbox"]:checked + label::before {
  border-color: var(--fas-palette-primary2, #4b5563) !important;
  background-color: var(--fas-palette-primary2, #4b5563) !important;
}
body[data-fas-color-palette] .checkbox-item input[type="checkbox"]:hover + label::before,
body[data-fas-color-palette] .privacy .checkbox-item input[type="checkbox"]:hover + label::before {
  border-color: var(--fas-palette-accent, #9500ff) !important;
}
body[data-fas-color-palette] .checkbox-item input[type="checkbox"]:focus + label::before,
body[data-fas-color-palette] .checkbox-item input[type="checkbox"]:focus-visible + label::before,
body[data-fas-color-palette] .privacy .checkbox-item input[type="checkbox"]:focus + label::before,
body[data-fas-color-palette] .privacy .checkbox-item input[type="checkbox"]:focus-visible + label::before {
  border-color: var(--fas-palette-focus, #9500ff) !important;
  outline: 3px solid var(--fas-palette-focus, #9500ff);
  outline-offset: 3px;
  box-shadow: none !important;
}
body[data-fas-color-palette="highcontrast"] .checkbox-item label::before,
body[data-fas-color-palette="highcontrast"] .privacy .checkbox-item label::before {
  border-color: #ffff00 !important;
  background-color: #000 !important;
}
body[data-fas-color-palette="highcontrast"] .checkbox-item input[type="checkbox"]:checked + label::before,
body[data-fas-color-palette="highcontrast"] .privacy .checkbox-item input[type="checkbox"]:checked + label::before {
  background-color: #ffff00 !important;
}
body[data-fas-color-palette="highcontrast"] .checkbox-item input[type="checkbox"]:checked + label::after,
body[data-fas-color-palette="highcontrast"] .privacy .checkbox-item input[type="checkbox"]:checked + label::after {
  color: #000 !important;
}

/* V2.0.25 — surcharge enregistrée du fond des questions. */
body[data-fas-color-palette] .question-container {
  background-color: var(--fas-question-background, var(--fas-palette-surface, #f8f9fb)) !important;
}
