/* ============================================================
   Eneris Consulting - Personnalisation LimeSurvey
   Theme etendu : Eneris_Survey (base fruity_twentythree)
   v3 - fichier complet et unique - 21.08.2026
   Remplace integralement le contenu de custom.css
   ============================================================ */

/* ------------------------------------------------------------
   1. Police Tenon
   ------------------------------------------------------------ */
@font-face {
  font-family: 'Tenon';
  src: url('../files/Tenon_Regular.woff') format('woff');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Tenon';
  src: url('../files/Tenon_Medium.woff') format('woff');
  font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Tenon';
  src: url('../files/Tenon_Bold.woff') format('woff');
  font-weight: 700; font-style: normal; font-display: swap;
}

body, .ls-answers, .question-text, .group-title, .btn {
  font-family: 'Tenon', 'Segoe UI', Arial, sans-serif !important;
}

/* ------------------------------------------------------------
   2. Couleurs Eneris
   ------------------------------------------------------------ */
:root {
  --eneris-orange: #FF6B00;
  --eneris-orange-dark: #E05E00;
  --eneris-text: #212121;
}

/* ------------------------------------------------------------
   3. Logo (agrandi)
   ------------------------------------------------------------ */
.navbar-brand img,
#survey-nav img {
  max-height: 72px;
  width: auto;
}
.navbar-brand { padding-top: 6px; padding-bottom: 6px; }

/* ------------------------------------------------------------
   4. Titres de sections
   ------------------------------------------------------------ */
.group-title {
  color: var(--eneris-orange);
  font-weight: 700;
}

/* ------------------------------------------------------------
   5. Titres de questions : "1. Nom complet *"
      numero + point + titre sur une ligne, noir gras,
      meme taille, etoile orange
   ------------------------------------------------------------ */
.question-title-container {
  display: flex;
  align-items: baseline;
  gap: 0.4rem;
  flex-wrap: wrap;
}
.question-number,
.question-text,
.question-text .ls-label-question {
  color: var(--eneris-text) !important;
  font-weight: 700 !important;
  font-size: 1.25rem !important;
  line-height: 1.4 !important;
}
.question-number { order: 1; }
.question-number::after { content: "."; }
.question-text,
.question-text .ls-label-question { order: 2; }
.asterisk {
  order: 3;
  color: var(--eneris-orange) !important;
  font-size: 1.1rem !important;
}

/* ------------------------------------------------------------
   6. Champs texte : largeur fixe, jamais pleine page
   ------------------------------------------------------------ */
.question-container input[type="text"],
.question-container input[type="email"],
.question-container input[type="tel"],
.question-container input.form-control {
  max-width: 420px !important;
}
.question-container textarea,
.question-container textarea.form-control {
  max-width: 640px !important;
  min-height: 120px;
}

/* ------------------------------------------------------------
   7. Boutons : Suivant, Envoyer, Precedent en orange
   ------------------------------------------------------------ */
.btn-primary,
#ls-button-submit,
#ls-button-previous,
.ls-move-next-btn,
.ls-move-submit-btn,
.ls-move-previous-btn {
  background-color: var(--eneris-orange) !important;
  border-color: var(--eneris-orange) !important;
  color: #fff !important;
}
.btn-primary:hover,
#ls-button-submit:hover,
#ls-button-previous:hover,
.ls-move-next-btn:hover,
.ls-move-submit-btn:hover,
.ls-move-previous-btn:hover {
  background-color: var(--eneris-orange-dark) !important;
  border-color: var(--eneris-orange-dark) !important;
}

/* ------------------------------------------------------------
   8. Barre de progression
   ------------------------------------------------------------ */
.progress-bar { background-color: var(--eneris-orange) !important; }

/* ------------------------------------------------------------
   9. Liens
   ------------------------------------------------------------ */
.survey-container a,
#outerframeContainer a { color: var(--eneris-orange); }
.survey-container a:hover,
#outerframeContainer a:hover { color: var(--eneris-orange-dark); }

/* ------------------------------------------------------------
   10. Boutons radio et cases cochees
   ------------------------------------------------------------ */
.answer-item input[type="radio"]:checked,
.answer-item input[type="checkbox"]:checked {
  accent-color: var(--eneris-orange);
}

/* ------------------------------------------------------------
   11. Messages d'erreur / validation
   ------------------------------------------------------------ */
.text-danger { color: var(--eneris-orange-dark) !important; }
/* Masque le mot "Obligatoire" à l'écran, le laisse aux lecteurs d'écran ; l'astérisque reste */
.ls-question-mandatory {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}
.text-item textarea { width: 100%; }
/* ============================================================
   12. Corrections du 21.10.2026 (fond, police, pied de page, logo, textes)
   ============================================================ */

/* 12a. Fond beige de la charte partout : page, cartes de question, barre du haut */
body, body .top-container, body .outerframe, body .question-container, body #survey-nav.navbar,
body .welcome-container, body .completed-wrapper {
  background-color: #F1EFEB !important;
}
body .question-container { border: none !important; box-shadow: none !important; }
body #survey-nav.navbar { box-shadow: none; border-bottom: none; }

/* 12b. Tenon partout : titres, textes, champs, boutons, messages */
body, h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .survey-name, .welcome-container, .group-title,
.group-description, .question-text, .ls-label-question, .ls-answers, .answer-item label,
.form-control, .btn, label, .help-block, .ls-question-message, .completed-wrapper,
.completed-heading, .completed-Content, .navigator, .dropdown-menu, #survey-nav {
  font-family: 'Tenon', 'Segoe UI', Arial, sans-serif !important;
}

/* 12c. Textes gris-bleu du thème parent passés en noir : réponses, aides, messages, cases */
body, body .answer-item label, body .radio-item label, body .checkbox-item label, body .control-label,
body .question-container .help-block, body .question-container .ls-questionhelp, body .group-description,
body .welcome-container, body .form-control, body .completed-Content, body .ls-question-message {
  color: #000000 !important;
}
body .radio-item label::before, body .checkbox-item label::before { border-color: #000000 !important; }
body .form-control { border-color: #000000 !important; }

/* 12d. Pied de page : texte seul, noir, graisse normale */
footer.ene-footer { margin: 48px 0 16px; padding: 16px 24px 0; border-top: 1px solid #E0DDD7; }
footer.ene-footer .ene-foot { color: #000000; font-weight: 400; font-size: 0.9rem; line-height: 1.8; text-align: center; }
footer.ene-footer .ene-foot a { color: #000000; font-weight: 400; text-decoration: underline; text-underline-offset: 2px; }

/* ============================================================
   13. Page de résultat (groupe « Votre résultat » de la structure v2)
   ============================================================ */
.ene-score { display: flex; flex-wrap: wrap; align-items: baseline; gap: 14px; margin: 0 0 6px; }
.ene-score .ene-n { font-size: 2.8rem; font-weight: 700; color: #FF6B00; line-height: 1; }
.ene-score .ene-lvl { font-size: 1.2rem; font-weight: 700; color: #000000; }
.ene-dims { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 16px 0 20px; }
.ene-dim { background: #FFFFFF; border-radius: 8px; padding: 12px 14px; }
.ene-dim .ene-l { font-size: 0.8rem; color: #444444; margin: 0 0 2px; }
.ene-dim .ene-v { font-size: 1.4rem; font-weight: 700; margin: 0; color: #000000; }
.ene-h { font-size: 0.95rem; font-weight: 700; color: #444444; margin: 18px 0 6px; }
.ene-h2 { font-size: 1.4rem; font-weight: 700; margin: 26px 0 4px; }
.ene-sub { font-size: 0.95rem; color: #444444; margin: 0 0 8px; }
p.ene-risk { margin: 0 0 8px 18px; position: relative; }
p.ene-risk::before { content: "•"; position: absolute; left: -16px; color: #FF6B00; }
p.ene-risk:empty { display: none; }
.ene-legend { background: #FFFFFF; border-radius: 8px; padding: 14px 16px; margin: 20px 0 0; font-size: 0.9rem; line-height: 1.7; color: #444444; }
.ene-legend .ene-cur { display: block; color: #000000; font-weight: 700; background: #FFE4D1; padding: 2px 8px; margin: 0 -8px; border-radius: 4px; }
.ene-promo { background: #FFF1E8; border-radius: 8px; padding: 16px 20px; margin: 22px 0 10px; }
.ene-promo p { margin: 0; }
.ene-lpd { font-size: 0.85rem; line-height: 1.6; color: #444444; }
@media (max-width: 640px) { .ene-dims { grid-template-columns: repeat(2, 1fr); } }

/* ============================================================
   14. Structure v3 : blocs de texte, grille des coordonnées, consentement
   ============================================================ */
/* Blocs de texte de la page de résultat : graisse et taille normales (la règle 5 ne s'applique qu'aux vraies questions) */
.question-container.ene-text .question-text,
.question-container.ene-text .question-text .ls-label-question,
.question-container.ene-text .question-text p,
.question-container.ene-text .question-text div {
  font-weight: 400 !important; font-size: 1rem !important; line-height: 1.6 !important; color: #000000 !important;
}
.question-container.ene-text .question-title-container { display: block; }
.question-container.ene-text .question-valid-container, .question-container.ene-text .question-help-container { display: none; }
.question-container.ene-text { padding-top: 0 !important; padding-bottom: 0 !important; margin-bottom: 6px !important; }
.ene-score .ene-n { font-size: 2.8rem !important; font-weight: 700 !important; color: #FF6B00 !important; }
.ene-score .ene-lvl { font-size: 1.2rem !important; font-weight: 700 !important; }
.ene-dim .ene-v { font-size: 1.4rem !important; font-weight: 700 !important; }
.ene-h { font-weight: 700 !important; font-size: 0.95rem !important; color: #444444 !important; margin: 18px 0 6px; }
.ene-h2 { font-weight: 700 !important; font-size: 1.4rem !important; margin: 26px 0 4px !important; }
.ene-legend strong { font-weight: 700; }
.ene-lpd, .ene-lpd p { font-size: 0.85rem !important; line-height: 1.6 !important; color: #444444 !important; }
.ene-lpd strong { font-weight: 700; }

/* Coordonnées : deux colonnes, titre masqué, texte indicatif dans le champ */
.question-container.ene-contact { width: calc(50% - 6px) !important; display: inline-block !important; vertical-align: top; padding: 0 !important; margin: 0 0 12px !important; }
.question-container.ene-contact:nth-of-type(odd) { margin-right: 12px !important; }
.question-container.ene-contact .question-title-container, .question-container.ene-contact .question-help-container { display: none !important; }
.question-container.ene-contact .answer-container { padding: 0 !important; }
.question-container.ene-contact .form-control, .question-container.ene-contact select.form-select, .question-container.ene-contact select {
  max-width: 100% !important; width: 100% !important; min-height: 44px; border: 1px solid #000000; border-radius: 6px; background: #FFFFFF; font-size: 1rem;
}
.question-container.ene-contact .ls-question-message { font-size: 0.85rem; }
@media (max-width: 640px) { .question-container.ene-contact { width: 100% !important; display: block !important; margin-right: 0 !important; } }

/* Case de confirmation : sans titre, sur une ligne */
.question-container.ene-consent .question-title-container { display: none !important; }
.question-container.ene-consent { padding-top: 0 !important; }
.question-container.ene-consent .answer-item label { font-size: 1rem; font-weight: 400; }

/* ============================================================
   15. Retours du test du 21.10 (structure v4) : boutons, page de résultat, encart unique
   ============================================================ */
/* Boutons : moins hauts, forme de la maquette */
body .btn-lg, body .navigator .btn, body #ls-button-submit, body #ls-button-previous, body .ls-move-next-btn, body .ls-move-submit-btn, body .ls-move-previous-btn {
  min-height: 0 !important; padding: 10px 24px !important; font-size: 15px !important; line-height: 1.3 !important; border-radius: 6px !important; font-weight: 700;
}
/* Page de résultat : titre de groupe masqué (« Votre résultat » est dans le bloc, sur la ligne du score) */
#group-6 .group-title-container { display: none !important; }
.ene-score { display: flex; flex-wrap: wrap; align-items: baseline; gap: 16px; margin: 0 0 6px; }
.ene-score .ene-t { font-size: 1.6rem !important; font-weight: 700 !important; color: #000000 !important; }
.ene-score .ene-n { font-size: 2.2rem !important; font-weight: 700 !important; color: #FF6B00 !important; line-height: 1; }
.ene-score .ene-lvl { font-size: 1.1rem !important; font-weight: 700 !important; }
.ene-dims { margin: 14px 0 16px; }
.ene-dim { background: #FFFFFF; border-radius: 8px; padding: 10px 12px; }
.ene-dim .ene-l { font-size: 0.8rem !important; color: #444444 !important; margin: 0 0 2px; }
.ene-dim .ene-v { font-size: 1.3rem !important; font-weight: 700 !important; margin: 0; }
.ene-h { margin: 14px 0 4px; }
p.ene-risk { margin: 0 0 4px 18px !important; }
/* Encart unique : barème en petit, lignes serrées, puis l'appel à l'entretien, même fond */
.ene-box { background: #FFF1E8; border-radius: 8px; padding: 14px 18px; margin: 18px 0 14px; }
.ene-box .ene-bar-t { font-size: 0.85rem !important; font-weight: 700 !important; margin: 0 0 2px !important; color: #444444 !important; }
.ene-box .ene-bar { font-size: 0.85rem !important; line-height: 1.35 !important; margin: 0 0 12px !important; color: #444444 !important; }
.ene-box .ene-bar .ene-cur { display: inline; color: #000000; font-weight: 700; background: transparent; padding: 0; margin: 0; }
.ene-box .ene-cta { margin: 0 !important; font-size: 1rem !important; color: #000000 !important; }
.ene-h2 { margin: 18px 0 2px !important; }
/* Liste déroulante de la taille : flèche visible */
.question-container.ene-contact select, .question-container.ene-contact .form-select { appearance: auto; -webkit-appearance: auto; padding: 0 12px; color: #000000; }

/* ============================================================
   16. Correction après lecture du HTML rendu (21.10, page de résultat)
   ============================================================ */
/* Titre de groupe : le h2 est directement dans .group-container (pas de conteneur) */
#group-6 > .group-container > h2.group-title { display: none !important; }
/* Grille des coordonnées : la grille est portée par le conteneur du groupe, indépendante du comportement de .row */
#group-6 > .group-container { display: grid !important; grid-template-columns: 1fr 1fr; column-gap: 0; row-gap: 0; }
#group-6 > .group-container > .question-container { grid-column: 1 / -1; width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }
#group-6 > .group-container > .question-container.ene-contact { grid-column: auto; display: block !important; width: 100% !important; margin: 0 0 12px !important; }
#group-6 .question-container.ene-contact .answer-container > .row, #group-6 .question-container.ene-contact .answer-container .col-auto { width: 100%; margin: 0; padding: 0; }
#group-6 .question-container.ene-contact select.form-select { width: 100% !important; min-height: 44px; background-color: #FFFFFF; color: #000000; }
/* Titres de rubrique dans les blocs de texte (priment sur la règle de graisse normale des blocs) */
.question-container.ene-text .question-text p.ene-h2 { font-weight: 700 !important; font-size: 1.3rem !important; margin: 20px 0 2px !important; }
.question-container.ene-text .question-text p.ene-h { font-weight: 700 !important; font-size: 0.95rem !important; color: #444444 !important; margin: 14px 0 4px !important; }
.question-container.ene-text .question-text p.ene-sub { color: #444444 !important; margin: 0 0 10px !important; }
.question-container.ene-text .question-text p.ene-bar-t { font-weight: 700 !important; font-size: 0.85rem !important; color: #444444 !important; }
.question-container.ene-text .question-text p.ene-bar { font-size: 0.85rem !important; line-height: 1.35 !important; color: #444444 !important; }
.question-container.ene-text .question-text .ene-cur { font-weight: 700 !important; color: #000000 !important; }
.question-container.ene-text .question-text .ene-dim p.ene-v { font-weight: 700 !important; font-size: 1.3rem !important; }
.question-container.ene-text .question-text .ene-score .ene-t, .question-container.ene-text .question-text .ene-score .ene-lvl { font-weight: 700 !important; }
.question-container.ene-text .question-text .ene-score .ene-n { font-weight: 700 !important; font-size: 2.2rem !important; }
/* Case de confirmation : bord gris fin, lien noir souligné, sans espace parasite */
.question-container.ene-consent .question-help-container { display: none !important; }
.question-container.ene-consent .checkbox-item label::before { border: 1px solid #999999 !important; border-radius: 4px; width: 20px; height: 20px; }
.question-container.ene-consent .checkbox-item label::after { left: 1px; top: 1px; font-size: 16px; }
.question-container.ene-consent .checkbox-item label a { color: #000000 !important; text-decoration: underline; text-underline-offset: 2px; }
.question-container.ene-consent .checkbox-item label { padding-left: 8px; }

/* ============================================================
   17. v9 (21.10) : largeur fixe centrée sur toutes les pages, bordure fine du champ texte libre
   ============================================================ */
#outerframeContainer > .row > .col-centered, #survey-nav > .container-fluid, .top-container .top-content {
  max-width: 1200px !important; width: 100% !important; flex: 0 0 100% !important; margin-left: auto !important; margin-right: auto !important;
}
body textarea.form-control, body .text-item textarea { border: 1px solid #000000 !important; border-radius: 6px; background: #FFFFFF; }

/* ============================================================
   18. v10 (21.10) : barème sans ligne vide, champs de coordonnées alignés sur le texte
   ============================================================ */
.question-container.ene-text .question-text .ene-legend .ene-cur { display: inline !important; padding: 2px 6px; margin: 0; background: #FFE4D1; border-radius: 4px; }
.question-container.ene-text .question-text .ene-legend { line-height: 1.7 !important; }
/* les blocs de texte ont 24 px de marge intérieure (règle 5) ; les champs et la case sont ramenés sur ce même bord */
#group-6 > .group-container > .question-container.ene-contact { margin: 0 0 12px 0 !important; width: auto !important; }
#group-6 > .group-container > .question-container.ene-contact:nth-of-type(even) { margin-left: 12px !important; margin-right: 6px !important; }
#group-6 > .group-container > .question-container.ene-contact:nth-of-type(odd) { margin-left: 6px !important; margin-right: 12px !important; }
#group-6 > .group-container > .question-container.ene-consent { padding-left: 24px !important; }
#group-6 .question-container.ene-consent .checkbox-item { margin-left: -24px; }

/* ============================================================
   19. v11 (22.10) : résultat flouté avant la saisie des coordonnées ; résultat en clair sur la page de fin
   ============================================================ */
/* Flou : la ligne « Votre résultat xx / 100 » reste nette, tout le détail en dessous est flouté (effet visuel, pas une protection) */
.ene-blur { filter: blur(7px); -webkit-filter: blur(7px); user-select: none; pointer-events: none; }
/* Page de fin : mêmes blocs que la page de résultat, hors conteneur de question, graisse normale */
.ene-end { margin: 18px 0 10px; }
.ene-end, .ene-end p, .ene-end div { font-weight: 400; color: #000000; }
.ene-end p.ene-p { margin: 0 0 6px; }
.ene-end .ene-score .ene-t, .ene-end .ene-score .ene-lvl { font-weight: 700 !important; }
.ene-end .ene-score .ene-n { font-weight: 700 !important; font-size: 2.2rem !important; color: #FF6B00 !important; }
.ene-end .ene-dim p.ene-v { font-weight: 700 !important; font-size: 1.3rem !important; }
.ene-end p.ene-h { font-weight: 700 !important; font-size: 0.95rem !important; color: #444444 !important; margin: 14px 0 4px !important; }
.ene-end .ene-legend { line-height: 1.7 !important; margin-top: 14px; }
.ene-end .ene-legend .ene-cur { display: inline !important; padding: 2px 6px; margin: 0; background: #FFE4D1; font-weight: 700 !important; }

/* ============================================================
   20. v12 (24.10) : page de fin, titres des cartes en gras et espacements
   (cartes, 2 lignes, risques, 2 lignes, barème, 3 lignes, encart, 1 ligne, phrase et bouton)
   ============================================================ */
.ene-end .ene-dim p.ene-l { font-weight: 700 !important; color: #000000 !important; }
.ene-end .ene-dims { margin: 16px 0 48px !important; }
.ene-end p.ene-h { margin: 0 0 4px !important; }
.ene-end .ene-legend { margin-top: 48px !important; }
.completed-text .ene-promo { margin: 72px 0 24px !important; }
.completed-text .ene-promo p { font-weight: 400; margin: 0; }
.completed-text p.ene-cta { margin: 0 0 16px !important; }

/* ============================================================
   21. v13 (24.10) : cartes des dimensions (libellé plus grand sur la largeur, pourcentage plus gros et centré),
   encart du barème ajusté à sa ligne la plus longue
   ============================================================ */
.ene-end .ene-dim, .question-container.ene-text .question-text .ene-dim { text-align: center !important; padding: 14px 12px !important; }
.ene-end .ene-dim p.ene-l, .question-container.ene-text .question-text .ene-dim p.ene-l { font-size: 1.05rem !important; font-weight: 700 !important; color: #000000 !important; margin: 0 0 6px !important; }
.ene-end .ene-dim p.ene-v, .question-container.ene-text .question-text .ene-dim p.ene-v { font-size: 2rem !important; font-weight: 700 !important; margin: 0 !important; line-height: 1.1; }
.ene-end .ene-legend, .question-container.ene-text .question-text .ene-legend { display: inline-block !important; width: auto !important; max-width: 100% !important; box-sizing: border-box; }
