/* =======================================================
   LimeSurvey 3.28 — Thème IARA (custom.css)
   Allégé, accessible, sans aplats agressifs
   -------------------------------------------------------
   À placer dans : /upload/themes/survey/iara/css/custom.css
   Puis : Admin > Thèmes > Reconstruire les caches
   ======================================================= */

/* ========== Variables (palette + rythme) ========== */
:root{
  --iara-orange: #f26c1f;
  --iara-orange-600:#d35400;
  --iara-orange-700:#a84300;
  --ink:#1d1d1b;
  --muted:#6b7280;
  --border:#e6e7eb;
  --bg:#fff;

  /* teintes légères d’orange (sur fond blanc) */
  --tint-4: rgba(242,108,31,.04);
  --tint-6: rgba(242,108,31,.06);
  --tint-8: rgba(242,108,31,.08);

  /* rythme */
  --radius: 10px;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-6: 1.5rem;
}

/* ========== Base typographique ========== */
html { font-size: 100%; } /* respecte les préférences utilisateur */
body{
  color: var(--ink);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
h1, h2, h3, h4, h5, h6{
  font-family: inherit;
  font-weight: 500;
  line-height: 1.3;
  color: var(--ink);
  margin: 1em 0 .5em;
}
h1{ font-size: 2.4rem; }
h2{ font-size: 2rem; }
h3{ font-size: 1.6rem; }

/* ========== Titres de question ========== */
h2.question-title,
h3.question-title{
  color: var(--ink);
  font-weight: 600;
  border-bottom: 1px solid var(--border);
  padding-bottom: .25rem;
  margin-bottom: .75rem;
}

/* ========== Encarts intro / descriptions (légers) ========== */
.question-title-container,
.group-description.row.well.space-col{
  background: var(--tint-6);
  border-left: 4px solid var(--iara-orange);
  color: var(--ink);
  font-weight: 500;
  font-size: 1.125rem; /* ≈18px */
  padding: .75rem 1rem;
  margin-bottom: 1rem;
}

/* ========== Asterisques (obligatoire) ========== */
.asterisk, .question .asterisk, .important-asterisk{
  color: #b42318; /* rouge sobre */
  font-weight: 600;
  margin: 0 .4em 0 .3em;
  font-size: 1.1rem;
  vertical-align: middle;
}

/* ========== Champs / focus ========== */
.form-control, .ls-input, input[type="text"], select, textarea{
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: none;
}
.form-control:focus, .ls-input:focus, select:focus, textarea:focus{
  outline: 2px solid transparent;
  border-color: var(--iara-orange-600);
  box-shadow: 0 0 0 3px rgba(242,108,31,.2);
}

/* ========== Datepicker (corrige l’empilement) ========== */
.bootstrap-datetimepicker-widget,
.ui-datepicker{
  position: absolute;
  z-index: 3000 !important;
}
.input-group, .date-timepicker-group, .answer-item.date, .answer-item.datetime{
  position: relative;
  overflow: visible;
}
.ls-question-container, .question-container, .group-container{ overflow: visible; }

/* ========== Texte d’info (accessible) ========== */
.fruity .text-info{
  color: #000;
  font-size: 1rem;     /* 16px par défaut */
  line-height: 1.4;
}


/* ===== Boutons Oui/Non — version accessible & cohérente IARA ===== */

/* Nuances (garde tes variables si tu les as déjà) */
:root{
  --iara-orange:      #f26c1f;  /* normal */
  --iara-orange-550:  #e05512;  /* hover (un peu plus sombre) */
  --iara-orange-650:  #c44a00;  /* focus/active lisible sur texte blanc */
  --iara-orange-750:  #a84300;  /* actif renforcé */
}

/* Base */
.ls-answers .button-item{
  background: var(--iara-orange);
  color: #fff;                           /* blanc = repère d’action */
  border: 1px solid var(--iara-orange-650);
  border-radius: 10px;
  font-weight: 700;                      /* gras pour améliorer le contraste perçu */
  letter-spacing: .2px;                  /* micro lisibilité */
  padding: .65rem 1rem;
  transition: background .15s ease, box-shadow .15s ease, transform .06s ease;
}

/* Survol */
.ls-answers .button-item:hover{
  background: var(--iara-orange-550);
}

/* Focus clavier (très visible) */
.ls-answers .button-item:focus{
  outline: 2px solid transparent;
  box-shadow: 0 0 0 3px #fff,            /* liseré blanc pour se détacher du fond */
              0 0 0 5px rgba(196,74,0,.6);
}

/* Actif / sélectionné */
.ls-answers .button-item.active{
  background: var(--iara-orange-750) !important;
  border-color: var(--iara-orange-750) !important;
  color: #fff;
  box-shadow: 0 0 0 3px #fff, 0 0 0 5px rgba(168,67,0,.65);
}

/* Désactivé (si utilisé) */
.ls-answers .button-item[disabled],
.ls-answers .button-item.disabled{
  background: #e9ecef;
  color: #68707a;
  border-color: #d0d5da;
  cursor: not-allowed;
  opacity: 1;                            /* lisible même “disabled” */
}

/* Diviseur visuel adouci quand deux boutons sont joints */
.ls-answers .button-item + .button-item{
  border-left-color: rgba(0,0,0,.08);
}

/* Mode contraste forcé (Windows HC) : garantir un focus visible */
@media (forced-colors: active){
  .ls-answers .button-item:focus{ outline: 2px solid Highlight; box-shadow: none; }
}


/* adoucit la séparation visuelle entre deux boutons collés */
.ls-answers .button-item + .button-item{ border-left-color: rgba(0,0,0,.08); }

/* ========== Radios / Checkboxes (sans aplats agressifs) ========== */
.radio-list .radio input[type="radio"]:checked + label,
.checkbox-list .checkbox input[type="checkbox"]:checked + label{
  background: var(--tint-8);
  color: var(--ink);
  border-color: var(--iara-orange-600);
  font-weight: 600;
}

/* ========== Cartes de question / espacement ========== */
.question-item{
  padding-top: .25rem;
  padding-bottom: .75rem;
  background: transparent;         /* supprime les gros fonds */
  border: 1px solid transparent;   /* garde l’alignement Bootstrap */
}
.ls-question-container:hover{
  background: transparent;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
}

/* ========== Tables / matrices ========== */
.ls-answers th, .ls-answers td{ border-color: var(--border); }
.ls-answers tbody tr:nth-child(odd) td{ background: #fafafa; }

/* ========== Progress bar ========== */
.progress{
  height: .75rem;
  border-radius: 999px;
  background: #eef1f4;
}
.progress-bar{ background: var(--iara-orange); }

/* ========== Images responsives & textes d’accueil ========== */
.img-responsive{
  display: block; max-width: 100%; height: auto; margin: 0 auto;
}
.survey-welcome{
  text-align: justify !important;
  text-justify: inter-word;
  hyphens: auto;
}

/* ========== Accessibilité générale ========== */
:focus-visible{ outline: 3px solid rgba(242,108,31,.35); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce){
  *{ animation: none !important; transition: none !important; }
}

/* ========== Responsive ========== */
@media (max-width: 768px){
  .ls-answers table{ display: block; overflow-x: auto; }
  .btn, .ls-btn-action{ padding: .5rem .75rem; }
}

/* ========== Liens (accessibilité + clarté) ========== */
a {
  color: #0645ad;                 /* bleu standard accessible */
  text-decoration: underline;     /* garantit la distinction lien/texte */
}
a:hover,
a:focus {
  color: #071aef;                 /* bleu plus vif au survol/focus */
  text-decoration: underline;
}
a:visited {
  color: #5a3696;                 /* violet accessible pour les liens déjà visités */
}

/* Lien "Charger un questionnaire non terminé" — taille normalisée */
a.ls-link-action.ls-link-loadall,
a[data-limesurvey-submit*="loadall"]{
  font-size: 1rem;        /* ≈ 16px : cohérent et accessible */
  line-height: 1.35;
  font-weight: 500;       /* pas besoin de bold lourd */
  text-transform: none;   /* enlève les majuscules forcées si présentes */
  letter-spacing: 0;
  padding: 0;             /* supprime le look "bouton" gonflé */
  margin: 0;
  display: inline;        /* évite le bloc qui grossit visuellement */
}

/* États d’interaction, sobres et accessibles */
a.ls-link-action.ls-link-loadall:hover,
a.ls-link-action.ls-link-loadall:focus,
a[data-limesurvey-submit*="loadall"]:hover,
a[data-limesurvey-submit*="loadall"]:focus{
  text-decoration: underline;
  outline-offset: 2px;
}

/* (optionnel) si le thème lui applique des animations gênantes */
a.ls-link-action.ls-link-loadall.animate{
  animation: none !important;
  transform: none !important;
}
