/* HappyTrack - Template_APP v2.3 */
body { background: #0d0d0d !important; }
.navbar-default { background: #0d0d0d !important; border: none !important; box-shadow: none !important; }
.navbar-default .navbar-nav > li > a, .navbar-right a { color: #f0f0f0 !important; }
.navbar-brand { padding-top: 5px !important; padding-bottom: 5px !important; }
.navbar-brand img { content: url('https://happytrack.app/wp-content/uploads/2022/01/logo-HAPPYTRACK-branca-3d.png') !important; height: 58px !important; width: auto !important; max-height: none !important; }
.question-container { border: none !important; box-shadow: none !important; background: transparent !important; }
.answer-container, .question-title-container { background: transparent !important; color: #f0f0f0 !important; border: none !important; box-shadow: none !important; }
.well { background: #111 !important; color: #f0f0f0 !important; border: none !important; box-shadow: none !important; border-radius: 8px !important; }
.group-description { background: #111 !important; color: #f0f0f0 !important; border: none !important; box-shadow: none !important; border-radius: 8px !important; }
.panel, .panel-default { background: transparent !important; border: none !important; box-shadow: none !important; }
.panel-body { background: transparent !important; border: none !important; }
sup.fa-asterisk, .text-danger.fa-asterisk, .asterisk { display: none !important; }
.question-valid-container { display: none !important; }
.progress { background: rgba(255,255,255,0.07) !important; box-shadow: none !important; border-radius: 3px !important; height: 6px !important; }
.progress-bar { background: #B59A46 !important; box-shadow: none !important; }
.bootstrap-buttons-div { float: left !important; width: 50% !important; padding: 0 6px !important; box-sizing: border-box !important; }
.button-item.btn { width: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; background: #B59A46 !important; border: 2px solid #7a5a0f !important; color: #2C240D !important; font-weight: 800 !important; font-size: 18px !important; border-radius: 6px !important; padding: 14px 16px !important; transition: opacity 0.35s ease, background 0.2s !important; white-space: normal !important; text-align: center !important; box-sizing: border-box !important; min-height: 52px !important; float: none !important; }
.button-item.btn.active { background: rgba(139,105,20,0.28) !important; border-color: #c49a30 !important; color: #f5e8c0 !important; box-shadow: inset 0 0 0 1px rgba(196,154,48,0.45) !important; }
.row.ls-answers { display: block !important; overflow: hidden !important; }
#ls-button-submit, .ls-move-next-btn, .ls-move-btn { background: #B59A46 !important; border-color: #7a5a0f !important; color: #f5e8c0 !important; font-weight: 600 !important; border-radius: 4px !important; padding: 8px 28px !important; font-size: 14px !important; letter-spacing: 0.5px !important; text-transform: uppercase !important; }
.table-array-radio { background: transparent !important; border: none !important; border-collapse: collapse !important; }
.table-array-radio > thead > tr > th, .table-array-radio > tbody > tr > th, .table-array-radio > tbody > tr > td { background: transparent !important; color: #f0f0f0 !important; border-color: rgba(255,255,255,0.07) !important; }
.table-array-radio td, .table-array-radio th { padding: 10px 6px !important; vertical-align: middle !important; text-align: center !important; }
.table-array-radio td:first-child, .table-array-radio th:first-child { text-align: left !important; padding-left: 4px !important; }
.table-array-radio .answer-text { color: rgba(240,240,240,0.82) !important; font-size: 12.5px !important; line-height: 1.35 !important; }
.table-array-radio input[type="radio"] { accent-color: #c49a30 !important; width: 17px !important; height: 17px !important; cursor: pointer !important; }
.table-array-dropdown { background: transparent !important; border: none !important; border-collapse: collapse !important; width: 100% !important; }
.table-array-dropdown td, .table-array-dropdown th { background: transparent !important; color: #f0f0f0 !important; border-color: rgba(255,255,255,0.07) !important; padding: 10px 8px !important; vertical-align: middle !important; }
.table-array-dropdown td:first-child { color: rgba(240,240,240,0.88) !important; font-size: 13.5px !important; width: 50% !important; }
.table-array-dropdown select { background-color: #1c1c1c !important; color: #f0f0f0 !important; border: 1px solid rgba(139,105,20,0.5) !important; border-radius: 4px !important; padding: 7px 32px 7px 12px !important; font-size: 13px !important; width: 100% !important; cursor: pointer !important; outline: none !important; appearance: none !important; -webkit-appearance: none !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23c49a30'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: right 10px center !important; }
.table-array-dropdown select:focus { border-color: #c49a30 !important; }
.table-array-dropdown select option { background: #1c1c1c !important; color: #f0f0f0 !important; }
tr.ls-even { background: rgba(255,255,255,0.055) !important; }
tr.ls-odd { background: transparent !important; }
tr.ls-heading { background: transparent !important; border-bottom: 1px solid rgba(255,255,255,0.12) !important; }
tr.ls-heading > th, tr.ls-heading > td { border: none !important; }
/* === FADE PAR LIGNE \u2014 overlay ::after (background marche sur TD/TH, opacity/filter non) ===*/
.question-container.ht-answered { opacity: 0.16 !important; transition: opacity 0.45s ease !important; }
.question-container.ht-answered:hover { opacity: 0.88 !important; }
.question-container.ht-answered .button-item.btn:not(.active) { opacity: 0.15 !important; }
.question-container.ht-answered:hover .button-item.btn:not(.active) { opacity: 0.45 !important; }
.question-container.ht-answered .button-item.btn.active { opacity: 1 !important; }
tr.answers-list:has(input[type="radio"]:checked) td:not(:has(input[type="radio"]:checked)),
tr.answers-list:has(input[type="radio"]:checked) th,
tr.ht-row-answered > td,
tr.ht-row-answered > th { position: relative !important; overflow: hidden !important; }
tr.answers-list:has(input[type="radio"]:checked) td:not(:has(input[type="radio"]:checked))::after,
tr.answers-list:has(input[type="radio"]:checked) th::after {
  content: '' !important; position: absolute !important; inset: 0 !important;
  background: rgba(13,13,13,0.84) !important; pointer-events: none !important;
  transition: background 0.35s ease !important; z-index: 2 !important;
}
tr.answers-list:has(input[type="radio"]:checked):hover td:not(:has(input[type="radio"]:checked))::after,
tr.answers-list:has(input[type="radio"]:checked):hover th::after { background: rgba(13,13,13,0.18) !important; }
tr.ht-row-answered > td::after, tr.ht-row-answered > th::after {
  content: '' !important; position: absolute !important; inset: 0 !important;
  background: rgba(13,13,13,0.84) !important; pointer-events: none !important;
  transition: background 0.35s ease !important; z-index: 2 !important;
}
tr.ht-row-answered:hover > td::after, tr.ht-row-answered:hover > th::after { background: rgba(13,13,13,0.18) !important; }
.question-help-container { display: none !important; }
.question-help-container.ht-help-visible { display: block !important; }
.question-help-container, .ls-questionhelp, .ls-questionhelp * { color: rgba(160,160,160,0.65) !important; font-size: 12.5px !important; font-style: italic !important; }
.ht-help-trigger-row { display: flex !important; align-items: center !important; margin-top: 8px !important; gap: 6px !important; }
.ht-help-toggle { background: none !important; border: 1px solid rgba(200,200,200,0.6) !important; color: rgba(220,220,220,0.85) !important; border-radius: 50% !important; width: 22px !important; height: 22px !important; font-size: 13px !important; font-style: italic !important; font-weight: 700 !important; font-family: Georgia, serif !important; line-height: 1 !important; cursor: pointer !important; padding: 0 !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; transition: all 0.2s !important; flex-shrink: 0 !important; position: static !important; vertical-align: middle !important; }
.ht-help-toggle:hover { border-color: #8B6914 !important; color: #c49a30 !important; background: rgba(139,105,20,0.15) !important; }
.ht-help-toggle.ht-active { border-color: #8B6914 !important; color: #c49a30 !important; background: rgba(139,105,20,0.18) !important; }
.form-change-lang > a.dropdown-toggle { font-size: 0 !important; padding: 10px 14px !important; }
.form-change-lang > a.dropdown-toggle::before { content: '\1F310'; font-size: 18px; display: inline-block; vertical-align: middle; color: rgba(200,200,200,0.75); }
.form-change-lang > a.dropdown-toggle:hover::before, .form-change-lang.open > a.dropdown-toggle::before { color: #c49a30 !important; }
.form-change-lang > a.dropdown-toggle .caret { border-top-color: rgba(200,200,200,0.5) !important; vertical-align: middle !important; margin-left: 5px !important; }
.form-change-lang.open > a.dropdown-toggle .caret { border-top-color: #c49a30 !important; }
.language_change_container.dropdown-menu { background: #111 !important; border: 1px solid rgba(139,105,20,0.55) !important; border-radius: 3px !important; box-shadow: 0 6px 20px rgba(0,0,0,0.7) !important; padding: 4px 0 !important; min-width: 160px !important; overflow: visible !important; right: 0 !important; left: auto !important; }
.language_change_container .ls-language-link { font-size: 0 !important; display: block !important; padding: 9px 18px !important; color: rgba(220,220,220,0.85) !important; background: transparent !important; border: none !important; transition: all 0.15s !important; }
.language_change_container .ls-language-link:hover, .language_change_container .ls-language-link:focus { background: rgba(139,105,20,0.18) !important; color: #c49a30 !important; }
.language_change_container .ls-language-link::before { font-size: 13px !important; font-family: inherit !important; }
.language_change_container .ls-language-link[data-limesurvey-lang="fr"]::before { content: 'Francais'; }
.language_change_container .ls-language-link[data-limesurvey-lang="pt-BR"]::before { content: 'Portugues (BR)'; }
.language_change_container .ls-language-link[data-limesurvey-lang="en"]::before { content: 'English'; }
.language_change_container .ls-language-link[data-limesurvey-lang="es"]::before { content: 'Espanol'; }
.language_change_container .ls-language-link[data-limesurvey-lang="de"]::before { content: 'Deutsch'; }
.language_container[style] { overflow: visible !important; }
.question-container.ht-nps .bootstrap-buttons-div { width: calc(100% / 11) !important; padding: 0 3px !important; }
.question-container.ht-nps .button-item.btn { font-size: 16px !important; padding: 12px 4px !important; min-height: 44px !important; }
@keyframes ht-new-reveal { 0% { opacity:0; transform:translateY(10px); } 100% { opacity:1; transform:translateY(0); } }
.question-container.ht-new-reveal { animation: ht-new-reveal 0.7s ease-out; }
/* === NPS list-radio (type LimeSurvey "Net Promoter Score") === */
.question-container.ht-nps .list-unstyled { display: flex !important; flex-wrap: nowrap !important; gap: 3px !important; padding: 0 !important; list-style: none !important; }
.question-container.ht-nps li.answer-item { flex: 1 !important; padding: 0 !important; position: relative !important; list-style: none !important; }
.question-container.ht-nps li.answer-item > input[type="radio"] { position: absolute !important; opacity: 0 !important; width: 100% !important; height: 100% !important; cursor: pointer !important; z-index: 1 !important; margin: 0 !important; }
.question-container.ht-nps li.answer-item > label.radio-label { display: flex !important; align-items: center !important; justify-content: center !important; background: #8B6914 !important; border: 2px solid #7a5a0f !important; color: #f5e8c0 !important; font-weight: 800 !important; font-size: 16px !important; border-radius: 6px !important; padding: 12px 4px !important; min-height: 44px !important; cursor: pointer !important; transition: background 0.2s, border-color 0.2s !important; width: 100% !important; box-sizing: border-box !important; }
.question-container.ht-nps li.answer-item:has(input[type="radio"]:checked) > label.radio-label { background: rgba(139,105,20,0.28) !important; border-color: #c49a30 !important; box-shadow: inset 0 0 0 1px rgba(196,154,48,0.45) !important; }

/* Cacher le bouton i quand l aide est desactivee sur la question */
.question-container:has(> .question-help-container.hidden) .ht-help-trigger-row {
  display: none !important;
}

/* ===== MOBILE UX v3 - HappyTrack ===== */
@media (max-width: 768px) {

  /* Fix overflow */
  html, body { overflow-x: hidden !important; }
  .outerframe.container { max-width: 100% !important; width: 100% !important; padding-left: 8px !important; padding-right: 8px !important; }
  .col-centered, .space-col, .survey-form-container { max-width: 100% !important; width: 100% !important; padding: 0 !important; }
  img, table { max-width: 100% !important; }

  /* Navbar noire */
  .navbar.navbar-fixed-top { width: 100vw !important; left: 0 !important; right: 0 !important; }
  .navbar-collapse, .navbar-collapse.in, .navbar-collapse.collapsing { background: #0d0d0d !important; border-top: 1px solid #B59A46 !important; }
  .navbar-nav > li > a { border-bottom: 1px solid rgba(181,154,70,0.15) !important; }
  .navbar-toggle { border-color: #B59A46 !important; }
  .navbar-toggle .icon-bar { background: #B59A46 !important; }
  .navbar-brand img { height: 36px !important; }
  body { padding-top: 52px !important; }

  /* Typographie */
  .question-text, .question-text p { font-size: 15px !important; line-height: 1.6 !important; }

  /* Progress */
  .progress { height: 6px !important; margin: 8px 0 14px !important; }

  /* Boutons nav */
  #ls-button-submit, .ls-move-next-btn, .ls-move-prev-btn, button[name="move"] {
    width: 100% !important; display: block !important;
    padding: 14px !important; font-size: 16px !important;
    min-height: 52px !important; border-radius: 8px !important;
    margin-bottom: 8px !important; box-sizing: border-box !important;
  }

  /* Choix radio/checkbox : cacher le bouton rond, label = carte entière */
  .list-radio ul, .list-checkbox ul { padding: 0 !important; margin: 0 !important; list-style: none !important; }
  .list-radio li, .list-checkbox li {
    position: relative !important;
    margin-bottom: 6px !important;
    border-radius: 8px !important;
    border: 1px solid rgba(181,154,70,0.2) !important;
    background: rgba(255,255,255,0.04) !important;
    overflow: visible !important;
  }
  /* Cacher le bouton rond natif */
  .list-radio input[type="radio"], .list-checkbox input[type="checkbox"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 0 !important; height: 0 !important;
    pointer-events: none !important;
  }
  /* Label = zone de tap complète */
  .list-radio label, .list-checkbox label {
    display: block !important;
    width: 100% !important; min-height: 52px !important;
    padding: 14px 16px 14px 46px !important;
    margin: 0 !important; font-size: 15px !important;
    line-height: 1.4 !important; cursor: pointer !important;
    box-sizing: border-box !important; color: #f0f0f0 !important;
    border-radius: 8px !important; position: relative !important;
  }
  /* Indicateur custom avant le texte */
  .list-radio label::before, .list-checkbox label::before {
    content: '' !important;
    position: absolute !important;
    left: 14px !important; top: 50% !important;
    transform: translateY(-50%) !important;
    width: 20px !important; height: 20px !important;
    border-radius: 50% !important;
    border: 2px solid rgba(181,154,70,0.5) !important;
    background: transparent !important;
    transition: all 0.15s !important;
  }
  .list-checkbox label::before { border-radius: 4px !important; }
  /* État sélectionné */
  .list-radio li.checked label::before,
  .answer-item.ls-checked label::before,
  .list-radio input[type="radio"]:checked ~ label::before {
    background: #B59A46 !important;
    border-color: #B59A46 !important;
  }
  .list-radio li.checked, .answer-item.ls-checked {
    background: rgba(181,154,70,0.15) !important;
    border-color: #B59A46 !important;
  }
  .list-radio li.checked label, .answer-item.ls-checked label { color: #f5e8c0 !important; }

  /* Scale buttons */
  .bootstrap-buttons-div { width: 50% !important; padding: 2px !important; }
  .button-item.btn { font-size: 14px !important; padding: 10px 4px !important; min-height: 52px !important; border-radius: 8px !important; white-space: normal !important; }

  /* Inputs texte */
  input[type="text"], input[type="email"], input[type="number"], textarea {
    font-size: 16px !important; padding: 12px !important;
    border-radius: 6px !important; min-height: 48px !important;
    width: 100% !important; box-sizing: border-box !important;
    background: #1a1a1a !important; color: #f0f0f0 !important;
    border: 1px solid rgba(181,154,70,0.3) !important;
  }

  /* Bien, groupe */
  .well { padding: 12px 8px !important; margin-bottom: 12px !important; }
  .question-title-container { padding: 8px !important; }
}
.ls-js-hidden.warningjs {
  display: none !important;
}