@charset "UTF-8";
/* =============================================================================
   KinkX — Habillage LimeSurvey (thème fruity_twentythree)
   À charger APRÈS le CSS du thème (cf. notes d'installation en bas de chat).
   Charte extraite de uicore-settings : thème sombre monochrome, police Syne,
   boutons "pilule" à bordure blanche.
   ============================================================================= */

/* --- Police de la marque ---------------------------------------------------- */
@import url('https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600;700;800&display=swap');

/* --- Jetons de design (à ajuster ici si besoin) ----------------------------- */
:root {
  /* Couleurs KinkX */
  --kx-bg:            #0C0E10;   /* fond de page (Dark Neutral)        */
  --kx-surface:       #16181B;   /* champs / cartes légèrement relevés */
  --kx-surface-2:     #1E2125;   /* survol, lignes alternées           */
  --kx-border:        #34373B;   /* bordures discrètes                 */
  --kx-border-input:  #4A4D52;   /* bordures de champs (plus visibles) */
  --kx-line:          #2A2D30;

  --kx-white:         #FFFFFF;
  --kx-light:         #F8F8F8;   /* Light Neutral                      */
  --kx-text:          #E7E7E9;   /* texte courant (éclairci pour lisibilité) */
  --kx-heading:       #FFFFFF;
  --kx-primary:       #B9B9B9;   /* "Primary" de la marque (gris clair) */
  --kx-secondary:     #97979B;   /* "Secondary"                        */
  --kx-muted:         #97979B;
  --kx-accent:        #FFFFFF;   /* couleur interactive (contraste max) */

  /* Sémantique (conservée pour la lisibilité des validations) */
  --kx-success:       #4DD753;
  --kx-danger:        #FF515F;
  --kx-warning:       #FFE046;
  --kx-info:          #B9B9B9;

  /* Formes */
  --kx-radius:        4px;
  --kx-btn-radius:    50px;
  --kx-font:          'Syne', system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

  /* --- Remap des variables Bootstrap du thème ---------------------------- */
  --bs-primary:        var(--kx-accent);
  --bs-secondary:      var(--kx-secondary);
  --bs-success:        var(--kx-success);
  --bs-danger:         var(--kx-danger);
  --bs-warning:        var(--kx-warning);
  --bs-info:           var(--kx-info);
  --bs-light:          var(--kx-surface);
  --bs-dark:           var(--kx-bg);
  --bs-cancel:         var(--kx-secondary);

  --bs-primary-rgb:    255, 255, 255;
  --bs-secondary-rgb:  151, 151, 155;
  --bs-success-rgb:    77, 215, 83;
  --bs-danger-rgb:     255, 81, 95;
  --bs-warning-rgb:    255, 224, 70;
  --bs-info-rgb:       185, 185, 185;
  --bs-light-rgb:      22, 24, 27;
  --bs-dark-rgb:       12, 14, 16;
  --bs-white-rgb:      12, 14, 16;
  --bs-body-color-rgb: 231, 231, 233;
  --bs-body-bg-rgb:    12, 14, 16;

  --bs-body-color:     var(--kx-text);
  --bs-body-bg:        var(--kx-bg);
  --bs-body-font-family: var(--kx-font);
}

/* --- Base ------------------------------------------------------------------- */
html, body {
  background-color: var(--kx-bg);
}
body {
  color: var(--kx-text);
  background-color: var(--kx-bg);
  font-family: var(--kx-font);
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6,
.large-heading, .form-heading, .group-title,
.completed-heading, .completed-Content,
.statsSurveyTitle, .statsNumRecords, .quotamessage,
.error-title, .error-title p, .error-content, .error-link {
  font-family: var(--kx-font);
  color: var(--kx-heading);
}
h1, .h1 { font-weight: 700; }
h2, .h2 { font-weight: 600; }
h3, .h3 { font-weight: 600; }

p, dl, dd, .text-break-pre { color: var(--kx-text); }
dl dt { color: var(--kx-heading); }
.lead { color: var(--kx-text); }

a { color: var(--kx-primary); font-family: var(--kx-font); }
a:hover, a:focus { color: var(--kx-white); }
.has-link a { color: var(--kx-text); }

.text-muted { color: var(--kx-muted) !important; }
hr { color: var(--kx-border); }

code  { color: #F0A6C0; background-color: var(--kx-surface-2); }
pre   { color: var(--kx-text); background-color: var(--kx-surface); border-color: var(--kx-border); }
kbd   { background-color: #000; color: var(--kx-white); }
mark, .mark { background-color: #3A2E12; color: var(--kx-light); }

/* =============================================================================
   BOUTONS  — pilule à bordure blanche, fond sombre, texte clair (signature KinkX)
   ============================================================================= */
.btn {
  font-family: var(--kx-font);
  font-weight: 600;
  border-radius: var(--kx-btn-radius);
  letter-spacing: 0.01em;
}

/* Bouton principal (Suivant / Envoyer / Charger…) */
.btn-primary,
.btn-success,        /* "Envoyer" est souvent en success dans LimeSurvey */
.btn-info {
  color: var(--kx-light);
  background-color: var(--kx-bg);
  border: 2px solid var(--kx-white);
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active,
.btn-success:hover, .btn-success:focus, .btn-success:active, .btn-success.active,
.btn-info:hover, .btn-info:focus, .btn-info:active, .btn-info.active,
.btn-primary.dropdown-toggle.show, .btn-success.dropdown-toggle.show, .btn-info.dropdown-toggle.show {
  color: var(--kx-bg);
  background-color: var(--kx-white);
  border-color: var(--kx-white);
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.25);
}

/* Bouton secondaire / précédent / annuler — contour gris */
.btn-secondary, .btn-cancel, .btn-outline-secondary, .btn-default, .btn-light {
  color: var(--kx-text);
  background-color: transparent;
  border: 2px solid var(--kx-secondary);
}
.btn-secondary:hover, .btn-cancel:hover, .btn-outline-secondary:hover,
.btn-secondary:focus, .btn-cancel:focus, .btn-outline-secondary:focus,
.btn-light:hover, .btn-light:focus {
  color: var(--kx-bg);
  background-color: var(--kx-secondary);
  border-color: var(--kx-secondary);
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.2);
}

/* Danger / Warning : on garde le sens couleur */
.btn-danger  { color: #1a0205; background-color: var(--kx-danger);  border: 2px solid var(--kx-danger); }
.btn-warning { color: #1a1602; background-color: var(--kx-warning); border: 2px solid var(--kx-warning); }
.btn-danger:hover, .btn-warning:hover { box-shadow: 0 0 0 3px rgba(255,255,255,0.2); }

/* Variantes "outline" génériques */
*[class*="btn-outline-"] {
  background-color: transparent;
  border: 2px solid var(--kx-secondary);
  color: var(--kx-text);
}
*[class*="btn-outline-"]:hover {
  background-color: transparent;
  border-color: var(--kx-white);
  color: var(--kx-white);
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.25);
}

/* États désactivés */
.btn.disabled, .btn:disabled, [class*="btn-"][disabled] {
  color: var(--kx-muted) !important;
  background-color: var(--kx-surface) !important;
  border-color: var(--kx-border) !important;
  box-shadow: none !important;
  opacity: 1;
}

.btn-link { color: var(--kx-primary); }
.btn-link:hover, .btn-link:focus { color: var(--kx-white); }

/* Boutons-radio "Oui/Non", genre, choix 5 points… */
.btn-check + .btn {
  color: var(--kx-text);
  background-color: transparent;
  border: 2px solid var(--kx-secondary);
}
.btn-check:checked + .btn,
.btn-check:checked + .btn-primary,
.btn-check:active + .btn {
  color: var(--kx-bg);
  background-color: var(--kx-white);
  border-color: var(--kx-white);
  box-shadow: none;
}
.btn-check:focus + .btn { box-shadow: 0 0 0 3px rgba(255,255,255,0.25); }

.menu-button-divider { border-left-color: rgba(255,255,255,0.4) !important; }

/* =============================================================================
   CHAMPS DE FORMULAIRE
   ============================================================================= */
.form-control,
input[type="text"], input[type="email"], input[type="password"],
input[type="number"], input[type="url"], input[type="tel"],
textarea, .uneditable-input, .ui-autocomplete-input {
  color: var(--kx-text);
  background-color: var(--kx-surface);
  border: 2px solid var(--kx-border-input);
}
.form-control::placeholder,
.form-control::-moz-placeholder,
.form-control:-ms-input-placeholder { color: var(--kx-muted); opacity: 1; }

.form-control:focus {
  color: var(--kx-text);
  background-color: var(--kx-surface);
  border-color: var(--kx-white);
  box-shadow: 4px 4px 0 rgba(255, 255, 255, 0.18);
}
.form-control[disabled], .form-control[readonly] {
  color: var(--kx-muted);
  background-color: #0F1113;
  border-color: var(--kx-border);
}
.form-control[disabled].total { color: var(--kx-text); }

.form-control.ls-important-field {
  border: 2px solid var(--kx-white) !important;
  box-shadow: 8px 8px 0 var(--kx-surface-2);
}
.form-control.ls-important-field:focus { box-shadow: 8px 8px 0 rgba(255, 255, 255, 0.2); }

/* Listes déroulantes natives (flèche claire) */
.form-select {
  color: var(--kx-text);
  background-color: var(--kx-surface);
  border: 2px solid var(--kx-border-input);
  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='%23F8F8F8' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
}
.form-select:focus { border-color: var(--kx-white); box-shadow: 4px 4px 0 rgba(255,255,255,0.18); }
.form-select:disabled { color: var(--kx-muted); background-color: #0F1113; border-color: var(--kx-border); }

/* Préfixe / suffixe / addon */
.input-group-text, label .input-group-text {
  color: var(--kx-light);
  background-color: var(--kx-surface-2);
  border: 2px solid var(--kx-border-input);
}
.input-group-text label, label .input-group-text label { color: var(--kx-light); }

/* Libellés */
label { font-family: var(--kx-font); color: var(--kx-heading); }
.control-label, .ls-answers label, .answer-item label { color: var(--kx-text); }
.form-heading, .control-label { color: var(--kx-heading); }
.no-label { color: var(--kx-text); }

/* États de validation : on garde la lueur colorée */
.has-success .form-control, .has-success .form-control:focus { box-shadow: 4px 4px 0 var(--kx-success); }
.has-warning .form-control, .has-warning .form-control:focus { box-shadow: 4px 4px 0 var(--kx-warning); }
.has-error .form-control, .input-error .form-control,
.has-error .form-control:focus, .input-error .form-control:focus { box-shadow: 4px 4px 0 var(--kx-danger); }
.has-success .control-label, .has-success .help-block { color: var(--kx-success); }
.has-warning .control-label, .has-warning .help-block { color: var(--kx-warning); }
.has-error   .control-label, .has-error   .help-block { color: var(--kx-danger); }

/* =============================================================================
   BOUTONS RADIO (custom ::before / ::after)
   ============================================================================= */
.radio-item label::before {
  border: 2px solid var(--kx-secondary);
  background-color: var(--kx-surface);
}
.radio-item label::after,
.radio-item input[type="radio"] + label::after { background-color: var(--kx-accent); }
.radio-item input[type="radio"]:checked + label::before { border-color: var(--kx-white); }
.radio-item input[type="radio"]:checked + label::after  { background-color: var(--kx-white); }
.radio-item input[type="radio"]:checked + label { color: var(--kx-white); }
.radio-item input[type="radio"]:focus-visible + label::before { box-shadow: 0 0 0 3px rgba(255,255,255,0.25); }

/* =============================================================================
   CASES À COCHER (custom)
   ============================================================================= */
.checkbox-item label::before {
  border: 3px solid var(--kx-secondary);
  background-color: var(--kx-surface);
}
.checkbox-item input[type="checkbox"]:checked + label::before { border-color: var(--kx-white); }
.checkbox-item input[type="checkbox"]:checked + label::after  { background-color: transparent; color: var(--kx-white); }
.checkbox-item input[type="checkbox"]:checked + label { color: var(--kx-white); }
.checkbox-item input[type="checkbox"]:focus-visible + label::before { box-shadow: 0 0 0 3px rgba(255,255,255,0.25); }
input[type="checkbox"]:checked:after,
.checkbox input[type="checkbox"]:checked:after,
.checkbox-inline input[type="checkbox"]:checked:after { background-color: var(--kx-white); border-color: var(--kx-white); }
.privacy .checkbox-item label::before { border-color: var(--kx-white); }

/* point d'accent générique des réponses */
body .answer-item label::after { background-color: var(--kx-accent); }

/* =============================================================================
   TABLEAUX (questions matricielles)
   ============================================================================= */
.table { color: var(--kx-text); border-color: var(--kx-border); }
.ls-answers .ls-heading th, .ls-answers th { color: var(--kx-muted); }
.ls-answers tbody .answertext, .ls-answers tbody .control-label { color: var(--kx-text); }
.ls-even { background-color: var(--kx-surface); }

.table-hover > tbody > tr:hover > td { background-color: var(--kx-surface-2); }
.table-hover > tbody > tr:hover > th { background-color: var(--kx-surface-2); color: var(--kx-muted); }

.table > thead > tr > td.active, .table > thead > tr > th.active,
.table > tbody > tr > td.active, .table > tbody > tr > th.active,
.table > tbody > tr.active > td, .table > tbody > tr.active > th { background-color: var(--kx-surface-2); }

table > tbody > tr > td.ddprefix, table > tbody > tr > td.ddsuffix { color: var(--kx-text); }
.horizontal-divider.top    { border-top-color: var(--kx-border); }
.horizontal-divider.bottom { border-bottom-color: var(--kx-border); }
.vertical-divider.left     { border-left-color: var(--kx-border); }
.vertical-divider.right    { border-right-color: var(--kx-border); }

@media only screen and (max-width: 760px), (min-device-width: 768px) and (max-device-width: 1024px) {
  .ls-answers > tbody > tr.ls-even:hover { background-color: var(--kx-surface); }
}

/* =============================================================================
   BARRE DE PROGRESSION
   ============================================================================= */
.progress { background-color: var(--kx-surface-2); box-shadow: none; }
.progress-bar { color: var(--kx-bg); background-color: var(--kx-white); box-shadow: none; }
.top-container .progress { height: 2px; }

/* =============================================================================
   NAVIGATION (barre du haut)
   ============================================================================= */
.navbar,
#survey-nav.navbar {
  background-color: var(--kx-bg) !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.08) !important;
}
#navbar { background: none; border: none; }
.navbar-toggle { border: solid 1px var(--kx-secondary); }
.navbar-toggle .icon-bar { background-color: var(--kx-light); }
#survey-nav .navbar-toggler .ri-more-fill { color: var(--kx-primary); }

#survey-nav .dropdown-header { color: var(--kx-muted); }
#survey-nav .dropdown-menu > li > a { color: var(--kx-text); }
#survey-nav #main-dropdown .list-group-item { border: none; background-color: transparent; }
#survey-nav #main-dropdown .list-group-item a.disabled { color: var(--kx-muted); }
#survey-nav #main-dropdown .dropdown-divider { border-top: 1px solid var(--kx-border); }
#survey-nav #main-dropdown .list-group-item a.index-warning { border-left: var(--kx-warning) solid 8px; }
#survey-nav #main-dropdown .list-group-item a.index-danger  { border-left: var(--kx-danger)  solid 8px; }

/* =============================================================================
   MENUS DÉROULANTS
   ============================================================================= */
.dropdown-menu {
  background-color: var(--kx-surface);
  border: 1px solid var(--kx-border);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.6);
}
.dropdown-menu .dropdown-item, .dropdown-header,
.dropdown-menu > li > a { color: var(--kx-text); }
.dropdown-menu .divider, .dropdown-divider { background-color: var(--kx-border); border-color: var(--kx-border); }
.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus,
.dropdown-menu > .active > a, .dropdown-item:hover, .dropdown-item:focus {
  color: var(--kx-bg) !important;
  background-color: var(--kx-white) !important;
}
.dropdown-menu > li > a.disabled { color: var(--kx-muted); }

/* =============================================================================
   MODALES
   ============================================================================= */
.modal-content { background-color: var(--kx-surface); border: 1px solid var(--kx-border); }
.modal-backdrop { background-color: #000; }
.modal-backdrop.show { opacity: 0.7; }
.modal-title { color: var(--kx-heading); }
.modal-header { border-bottom: 1px solid var(--kx-border); }
.modal-footer { border-top: 1px solid var(--kx-border); }
.modal-header .btn-close {
  color: var(--kx-light);
  filter: invert(1) grayscale(100%) brightness(200%);
}
.modal-header .btn-close:hover { background-color: var(--kx-surface-2); }

/* =============================================================================
   ALERTES
   ============================================================================= */
.alert { border-radius: var(--kx-radius); }
.alert-primary {
  background-color: var(--kx-surface);
  border: 1px solid var(--kx-border);
  color: var(--kx-text);
}
.alert-secondary, .alert-cancel {
  background-color: var(--kx-surface);
  border: 1px solid var(--kx-border);
  color: var(--kx-text);
}
.alert-light, .alert-dark {
  background-color: var(--kx-surface);
  border: 1px solid var(--kx-border);
  color: var(--kx-text);
}
.alert-success { background-color: var(--kx-success); color: #0a1a0b; border: 1px solid #0a1a0b; }
.alert-warning { background-color: var(--kx-warning); color: #1a1602; border: 1px solid #1a1602; }
.alert-danger  { background-color: var(--kx-danger);  color: #1a0205; border: 1px solid #1a0205; }
.alert-info    { background-color: var(--kx-surface-2); color: var(--kx-text); border: 1px solid var(--kx-border); }
.alert > .alert-header { color: inherit; }
.alert .alert-link { color: var(--kx-white); }
.message-box { color: var(--kx-text); }

/* =============================================================================
   LIST GROUPS
   ============================================================================= */
.list-group-item { background-color: var(--kx-surface); border: 1px solid var(--kx-border); color: var(--kx-text); }
.list-group-item-success { color: var(--kx-bg); background-color: var(--kx-success); }
.list-group-item-info    { color: var(--kx-bg); background-color: var(--kx-secondary); }
.list-group-item-warning { color: var(--kx-bg); background-color: var(--kx-warning); }
.list-group-item-danger  { color: var(--kx-bg); background-color: var(--kx-danger); }

/* =============================================================================
   SLIDERS
   ============================================================================= */
.slider.slider-horizontal .slider-tick.triangle,
.slider.slider-horizontal .slider-handle.triangle { border-bottom-color: var(--kx-white); }
.slider.slider-vertical .slider-tick.triangle,
.slider.slider-vertical .slider-handle.triangle { border-left-color: var(--kx-white); border-right-color: var(--kx-white); }
.slider-tick.custom::before { color: var(--kx-white); }
.slider-list .slider .slider-handle { background-color: var(--kx-white); background-image: none; }
.slider-list .slider .slider-handle.custom { background-color: var(--kx-surface); }
.slider-list .slider .slider-handle.custom::before { color: var(--kx-white); }
.slider-list .slider .slider-selection { background-color: var(--kx-white); background-image: none; }
.slider-list .slider .slider-track { background-color: var(--kx-surface-2); }
.slider-list .slider .tooltip .tooltip-inner { background-color: transparent; color: var(--kx-white); }
.slider-list .slider.slider-untouched .slider-handle { background-color: var(--kx-secondary); }
.slider-list .slider.slider-untouched .slider-handle.custom { background-color: var(--kx-surface); }
.slider-list .slider.slider-untouched .slider-handle.custom::before { color: var(--kx-secondary); }

/* =============================================================================
   CLASSEMENT (ranking)
   ============================================================================= */
.select-sortable-lists:not(.ranking-advanced-style) .list-group-item { border: 1px solid var(--kx-secondary); }
.select-sortable-lists:not(.ranking-advanced-style) .ranking-available-items .sortable-item { color: var(--kx-muted); }
.select-sortable-lists:not(.ranking-advanced-style) .ranking-sorted-items { background-color: var(--kx-surface); }
.select-sortable-lists:not(.ranking-advanced-style) .ranking-sorted-items .sortable-item { border: 1px solid var(--kx-white); color: var(--kx-text); }
.select-sortable-lists:not(.ranking-advanced-style) .ranking-sorted-items .sortable-item .selector__dragHandle { color: var(--kx-muted); }

.ranking-advanced-style div.ls-choice.sortable-block { background-color: var(--kx-bg); }
.ranking-advanced-style .sortable-rank,
.ranking-advanced-style .ranking-advanced-sorted-items .sortable-item { border: 2px solid var(--kx-white); }
.ranking-advanced-style .ranking-advanced-sorted-items .sortable-item .selector__dragHandle.d-none,
.ranking-advanced-style .ranking-advanced-sorted-items .sortable-item .selector__index_row,
.ranking-advanced-style .sortable-rank .selector__index_row { color: var(--kx-white); }
.ranking-advanced-style .ranking-advanced-available-items { background-color: var(--kx-surface); }
.ranking-advanced-style .ranking-advanced-available-items .sortable-item { border: 2px solid var(--kx-secondary); }
.ranking-advanced-style .ranking-advanced-available-items .sortable-rank-subtitle,
.ranking-advanced-style .ranking-advanced-available-items .selector__index_row { color: var(--kx-muted); }

/* =============================================================================
   SÉLECTION D'IMAGES
   ============================================================================= */
li.imageselect-listitem .imageselect-container .imageselect-label { border: 2px solid var(--kx-secondary) !important; }
li.imageselect-listitem .imageselect-container input.imageselect-checkbox:checked + label { border: 2px solid var(--kx-white) !important; }
.imageselect-container .imageselect-radiobutton::before { background-color: var(--kx-surface); border: 2px solid var(--kx-secondary); }
li.imageselect-listitem .imageselect-container input.imageselect-checkbox:checked + label + .imageselect-radiobutton::before { border-color: var(--kx-white); }
li.imageselect-listitem .imageselect-container input.imageselect-checkbox:checked + label + .imageselect-radiobutton::after { background-color: var(--kx-white); }
input.imageselect-checkbox:checked ~ .imageselect-select::before { border-color: var(--kx-white); }
input.imageselect-checkbox:checked ~ .imageselect-select::after { background-color: transparent; color: var(--kx-white); }
.imageselect-list .no-anwser-item .radio-label, .imageselect-list .radio-text-item .label-radio { color: var(--kx-text); }

/* total multi-numérique */
.numeric-multi .ls-group-total-separator hr { border-color: var(--kx-white); opacity: 1; }
.numeric-multi .ls-group-total .control-label { color: var(--kx-white); }
.numeric-multi .dynamic-total.text-success { color: var(--kx-white) !important; }

/* =============================================================================
   SÉLECTEUR DE DATE (Tempus Dominus)
   ============================================================================= */
.tempus-dominus-widget { color: var(--kx-text); background-color: var(--kx-surface); border: 1px solid var(--kx-border); }
.tempus-dominus-widget .calendar-header { border-bottom: 1px solid var(--kx-border); }
.tempus-dominus-widget .calendar-header .next,
.tempus-dominus-widget .calendar-header .previous { color: var(--kx-secondary); }
.tempus-dominus-widget .toolbar { border-top: 1px solid var(--kx-border); }
.tempus-dominus-widget .toolbar div:hover { background: var(--kx-surface-2); }
.tempus-dominus-widget .toolbar > div + div { border-left: 2px solid var(--kx-border); }
.tempus-dominus-widget .date-container-days .dow { color: var(--kx-text); }
.tempus-dominus-widget .date-container-days .cw { color: var(--kx-secondary); }
.tempus-dominus-widget [data-action].disabled,
.tempus-dominus-widget [data-action].disabled:hover { color: var(--kx-muted); }
.tempus-dominus-widget .date-container-days div:not(.no-highlight):hover,
.tempus-dominus-widget .time-container-clock div:not(.no-highlight):hover,
.tempus-dominus-widget .time-container-hour div:not(.no-highlight):hover,
.tempus-dominus-widget .time-container-minute div:not(.no-highlight):hover,
.tempus-dominus-widget .time-container-second div:not(.no-highlight):hover { background: var(--kx-surface-2); border: 2px solid rgba(255,255,255,0.25); }
.tempus-dominus-widget .date-container-days div:not(.no-highlight).active,
.tempus-dominus-widget .time-container-clock div:not(.no-highlight).active,
.tempus-dominus-widget .time-container-hour div:not(.no-highlight).active,
.tempus-dominus-widget .time-container-minute div:not(.no-highlight).active,
.tempus-dominus-widget .time-container-second div:not(.no-highlight).active { background-color: var(--kx-white); color: var(--kx-bg); text-shadow: none; }
.tempus-dominus-widget .date-container-days div:not(.no-highlight).today:before { border-bottom-color: var(--kx-white); }
.tempus-dominus-widget .date-container-days div:not(.no-highlight).old,
.tempus-dominus-widget .date-container-days div:not(.no-highlight).new { color: var(--kx-secondary); }
.tempus-dominus-widget button { color: var(--kx-bg); background-color: var(--kx-white); border-color: var(--kx-white); }
.date-timepicker-group .input-group-addon { border: 2px solid var(--kx-border-input); }

/* =============================================================================
   PAGES DIVERSES (accueil, remerciement, stats, captcha, langue…)
   ============================================================================= */
.group-container .group-title, .group-container .group-description { color: var(--kx-heading); }
.question-container .ls-label-question { color: var(--kx-heading); }
.question-container .ls-question-message { color: var(--kx-text); }
.question-container .help-block { color: var(--kx-muted); }
.printanswers-container span { color: var(--kx-text); }

.well { background: none !important; border: none !important; box-shadow: none !important; }
.well .thankyou, .completed-wrapper .completed-heading { color: var(--kx-heading); }
.well .created-with, .completed-wrapper .completed-Content { color: var(--kx-text); }

.question-count-text { color: var(--kx-heading); }

/* Confidentialité */
.privacy { color: var(--kx-muted); }
#datasecurity_notice, #datasecurity_notice_label, .datasecurity-checkbox-label,
.datasecurity-checkbox-label a.show-policy { color: var(--kx-muted); }

/* Sélecteur de langue */
.form-change-lang .language-icon, .form-change-lang .control-label { color: var(--kx-muted); }
.form-change-lang #language-changer-select { color: var(--kx-primary); background-color: transparent; }
.form-change-lang #lang-select { background-color: var(--kx-surface); }
.form-change-lang #lang-select::after { color: var(--kx-primary); }

/* Captcha */
.captcha-container .img-fluid { border: 1px dashed var(--kx-secondary); background-color: var(--kx-surface); }
.input-group-text.captcha-image { background-color: var(--kx-surface); }

/* Pieds de page / listes de sondages */
#surveyListFooter, .footer { background-color: var(--kx-bg); border-top: 1px solid var(--kx-border); }

/* Page d'erreur */
body.error-page { background: var(--kx-bg); }
body.error-page .error-title p, body.error-page .error-content, body.error-page .error-link { color: var(--kx-text); }

/* Vignettes / images */
.img-thumbnail { background-color: var(--kx-surface); border: 1px solid var(--kx-border); }

/* Date picker jQuery UI (au cas où) */
#ui-datepicker-div { background-color: var(--kx-surface); border: 1px solid var(--kx-border); }
