@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400&display=swap');

body { background: #000 !important; font-family: 'Montserrat', sans-serif !important; }
.navbar, .navbar-default, .navbar-header, .navbar-inner, .navbar-fixed-top,
.navbar-default .navbar-collapse, .navbar-default .navbar-form {
  background: #000 !important; background-color: #000 !important;
  background-image: none !important;
  border: none !important; box-shadow: none !important;
  filter: none !important;
}
.navbar-default .navbar-nav > li > a, .navbar-right a { color: #f0f0f0 !important; font-family: 'Montserrat', sans-serif !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: 700 !important; font-size: 16px !important; border-radius: 6px !important; padding: 10px 12px !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: 44px !important; float: none !important; font-family: 'Montserrat', sans-serif !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: #1a1200 !important; font-weight: 700 !important; border-radius: 6px !important; padding: 8px 24px !important; font-size: 13px !important; letter-spacing: 0.5px !important; text-transform: uppercase !important; font-family: 'Montserrat', sans-serif !important; width: auto !important; display: inline-block !important; min-height: unset !important; }

/* Supprimer ÃƒÂ©criture bleue (liens Bootstrap par dÃƒÂ©faut) */
a, a:visited, a:link { color: #f0f0f0 !important; text-decoration: none !important; }
a:hover, a:focus { color: #c49a30 !important; text-decoration: none !important; }
.navbar-default .navbar-nav > li > a:hover { color: #c49a30 !important; }
.text-primary, .ls-primary { color: #c49a30 !important; }
.btn-default { background: transparent !important; border-color: rgba(181,154,70,0.4) !important; color: #f0f0f0 !important; }
.btn-primary { background: #B59A46 !important; border-color: #7a5a0f !important; color: #1a1200 !important; }

/* Bouton DÃƒÂ©faut Ã¢â‚¬â€ cachÃƒÂ© */
#defaultbtn, button[name="move"][value="default"] { display: none !important; }

/* === Radio/checkbox : style carte global (desktop + tablette + mobile) === */
.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: 10px !important; border: 1px solid rgba(181,154,70,0.18) !important;
  background: rgba(255,255,255,0.04) !important; overflow: visible !important;
}
/* Cacher le bouton natif bleu/gris */
.list-radio input[type="radio"], .list-checkbox input[type="checkbox"] {
  position: absolute !important; opacity: 0 !important;
  width: 1px !important; height: 1px !important; pointer-events: none !important;
}
/* Label = zone cliquable entiÃƒÂ¨re */
.list-radio label, .list-checkbox label {
  display: flex !important; align-items: center !important;
  width: 100% !important; min-height: 48px !important;
  padding: 12px 16px 12px 44px !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: 10px !important;
  position: relative !important; transition: background 0.15s !important;
}
.list-radio label:hover, .list-checkbox label:hover { background: rgba(181,154,70,0.08) !important; }
/* Indicateur custom (cercle dorÃƒÂ©) */
.list-radio label::before, .list-checkbox label::before {
  content: '' !important; position: absolute !important;
  left: 14px !important; top: 50% !important; transform: translateY(-50%) !important;
  width: 18px !important; height: 18px !important; border-radius: 50% !important;
  border: 2px solid rgba(181,154,70,0.45) !important; background: transparent !important;
  transition: all 0.15s !important; flex-shrink: 0 !important;
}
.list-checkbox label::before { border-radius: 4px !important; }
/* Ãƒâ€°tat sÃƒÂ©lectionnÃƒÂ© */
.list-radio li.checked label::before, .answer-item.ls-checked label::before {
  background: #B59A46 !important; border-color: #B59A46 !important;
}
.list-radio li.checked, .answer-item.ls-checked {
  background: rgba(181,154,70,0.14) !important; border-color: #B59A46 !important;
}
.list-radio li.checked label, .answer-item.ls-checked label { color: #f5e8c0 !important; }

/* Inputs arrondis globalement */
input[type="text"], input[type="email"], input[type="number"], input[type="tel"], textarea { border-radius: 12px !important; font-family: 'Montserrat', sans-serif !important; }
select { border-radius: 12px !important; font-family: 'Montserrat', sans-serif !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: 12px !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 === */
.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: 'Montserrat', sans-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; }
/* === Language switcher com bandeiras === */
.form-change-lang > a.dropdown-toggle { font-size: 0 !important; padding: 8px 12px !important; display: inline-flex !important; align-items: center !important; gap: 4px !important; }
.form-change-lang > a.dropdown-toggle::before { content: '\1F310'; font-size: 20px; display: inline-block; vertical-align: middle; transition: opacity 0.2s; }
.form-change-lang > a.dropdown-toggle:hover::before { opacity: 0.75; }
.form-change-lang > a.dropdown-toggle .caret { border-top-color: rgba(200,200,200,0.5) !important; vertical-align: middle !important; margin-left: 3px !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: 10px !important; box-shadow: 0 8px 24px rgba(0,0,0,0.8) !important;
  padding: 6px !important; min-width: 170px !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 14px !important;
  color: rgba(220,220,220,0.85) !important; background: transparent !important;
  border: none !important; border-radius: 7px !important; transition: all 0.15s !important;
  text-decoration: none !important;
}
.language_change_container .ls-language-link:hover,
.language_change_container .ls-language-link:focus {
  background: rgba(139,105,20,0.2) !important; color: #f5e8c0 !important;
}
.language_change_container .ls-language-link::before {
  font-size: 14px !important; font-family: 'Montserrat', sans-serif !important;
}
/* Unicode escapes pour les drapeaux Ã¢â‚¬â€ ÃƒÂ©vite les problÃƒÂ¨mes d'encodage */
.language_change_container .ls-language-link[data-limesurvey-lang="fr"]::before   { content: '\1F1EB\1F1F7  Fran\0000E7ais'; }
.language_change_container .ls-language-link[data-limesurvey-lang="pt-BR"]::before { content: '\1F1E7\1F1F7  Portugu\0000EAs'; }
.language_change_container .ls-language-link[data-limesurvey-lang="en"]::before   { content: '\1F1EC\1F1E7  English'; }
.language_change_container .ls-language-link[data-limesurvey-lang="es"]::before   { content: '\1F1EA\1F1F8  Espa\0000F1ol'; }
.language_change_container .ls-language-link[data-limesurvey-lang="de"]::before   { content: '\1F1E9\1F1EA  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 === */
.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; font-family: 'Montserrat', sans-serif !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;
}

/* Ajustes para celular e tablet com tela de toque, nas duas orientacoes. */
.ls-js-hidden.warningjs { display: none !important; }

@media (max-width: 767px), (min-width: 768px) and (max-width: 1366px) and (hover: none) and (pointer: coarse) {
  .outerframe.container {
    width: 100% !important;
    max-width: 960px !important;
    padding-left: clamp(16px, 3vw, 28px) !important;
    padding-right: clamp(16px, 3vw, 28px) !important;
    box-sizing: border-box !important;
  }
  .col-centered, .space-col, .survey-form-container {
    width: 100% !important; max-width: 100% !important;
    min-width: 0 !important; margin-left: 0 !important;
    margin-right: 0 !important; padding-left: 0 !important;
    padding-right: 0 !important; box-sizing: border-box !important;
  }
  .question-container { min-width: 0 !important; margin-bottom: 24px !important; }
  .question-title-container, .answer-container {
    min-width: 0 !important; overflow-wrap: anywhere !important;
  }
  .question-container img { max-width: 100% !important; height: auto !important; }
  .well, .group-description {
    padding: 16px !important; margin-bottom: 16px !important;
    overflow-wrap: anywhere !important;
  }
  .progress { margin: 8px 0 16px !important; }
  .row.ls-answers {
    margin-left: 0 !important; margin-right: 0 !important;
    overflow: visible !important; display: flow-root !important;
  }
  .bootstrap-buttons-div {
    width: 50% !important; padding: 4px !important;
    box-sizing: border-box !important;
  }
  .button-item.btn {
    min-height: 52px !important; padding: 12px 10px !important;
    font-size: 16px !important; line-height: 1.4 !important;
    overflow-wrap: anywhere !important;
  }
  .list-radio label, .list-checkbox label {
    min-height: 52px !important; padding: 14px 16px 14px 44px !important;
    font-size: 16px !important; line-height: 1.45 !important;
    overflow-wrap: anywhere !important;
  }
  .list-radio li, .list-checkbox li { margin-bottom: 8px !important; }

  /* NPS: preserva a ordem de 0 a 10, com quebra quando necessario. */
  .question-container.ht-nps .list-unstyled {
    display: flex !important; flex-wrap: wrap !important; gap: 6px !important;
    margin: 0 !important;
  }
  .question-container.ht-nps li.answer-item {
    flex: 1 0 44px !important; min-width: 44px !important;
    margin: 0 !important; box-sizing: border-box !important;
  }
  .question-container.ht-nps li.answer-item > label.radio-label {
    min-height: 52px !important; padding: 12px 4px !important;
    font-size: 16px !important;
  }
  .question-container.ht-nps label.radio-label::before,
  .question-container.ht-nps label.radio-label::after { display: none !important; }
  .question-container.ht-nps .bootstrap-buttons-div {
    width: calc(100% / 11) !important; padding: 3px !important;
  }

  /* Mantem a estrutura e os cabecalhos das matrizes. */
  .table-array-radio, .table-array-dropdown {
    display: block !important; width: 100% !important;
    max-width: 100% !important; overflow-x: auto !important;
    table-layout: auto !important; -webkit-overflow-scrolling: touch;
  }
  .table-array-radio td, .table-array-radio th,
  .table-array-dropdown td, .table-array-dropdown th {
    padding: 12px 10px !important; box-sizing: border-box !important;
    overflow-wrap: normal !important; word-break: normal !important;
  }
  .table-array-radio td, .table-array-radio th { min-width: 64px !important; }
  .table-array-radio td:first-child, .table-array-radio th:first-child,
  .table-array-dropdown td:first-child {
    width: auto !important; min-width: 160px !important;
    text-align: left !important;
  }
  .table-array-radio .answer-text { font-size: 14px !important; line-height: 1.45 !important; }
  .table-array-radio input[type="radio"] {
    width: 22px !important; height: 22px !important; margin: 11px !important;
  }
  .table-array-dropdown select { min-width: 180px !important; }
  .answer-container input[type="text"], .answer-container input[type="email"],
  .answer-container input[type="number"], .answer-container input[type="tel"],
  .answer-container textarea, .answer-container select {
    font-size: 16px !important; min-height: 48px !important;
    max-width: 100% !important; box-sizing: border-box !important;
  }
  .answer-container input[type="text"], .answer-container input[type="email"],
  .answer-container input[type="number"], .answer-container input[type="tel"],
  .answer-container textarea {
    width: 100% !important; padding: 12px !important;
  }
  .answer-container textarea { min-height: 120px !important; resize: vertical !important; }
  #ls-button-submit, .ls-move-next-btn, .ls-move-prev-btn, .ls-move-btn {
    min-height: 48px !important; max-width: 100% !important;
    padding: 12px 24px !important; font-size: 16px !important;
    white-space: normal !important; box-sizing: border-box !important;
  }
  .ht-help-toggle { width: 44px !important; height: 44px !important; }

  /* Respostas legiveis sem depender de passar o mouse. */
  .question-container.ht-answered,
  .question-container.ht-answered:hover,
  .question-container.ht-answered .button-item.btn:not(.active),
  .question-container.ht-answered:hover .button-item.btn:not(.active) { opacity: 1 !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,
  tr.ht-row-answered > td::after, tr.ht-row-answered > th::after { display: none !important; }
  .list-radio input:focus-visible + label,
  .list-checkbox input:focus-visible + label,
  .button-item.btn:focus-visible, .ht-help-toggle:focus-visible {
    outline: 2px solid #f5e8c0 !important; outline-offset: 2px !important;
  }
}

@media (max-width: 767px) {
  body { padding-top: 60px !important; }
  .navbar.navbar-fixed-top { width: 100% !important; left: 0 !important; right: 0 !important; }
  .navbar-brand { height: 50px !important; }
  .navbar-brand img { height: 36px !important; }
  .navbar-toggle { border-color: #B59A46 !important; background: transparent !important; }
  .navbar-toggle .icon-bar { background: #B59A46 !important; }
  #navigator-container .col-xs-6, .navigator .col-xs-6 {
    width: 100% !important; float: none !important;
  }
  #ls-button-submit, .ls-move-next-btn, .ls-move-prev-btn, .ls-move-btn {
    width: 100% !important; display: block !important; margin-bottom: 10px !important;
  }
  .question-container.ht-nps .bootstrap-buttons-div { width: calc(100% / 6) !important; }
}

@media (min-width: 768px) and (max-width: 1366px) and (hover: none) and (pointer: coarse) {
  body { padding-top: 76px !important; }
  .navbar-brand { height: 68px !important; }
}

/* Refinamento: bordas discretas e mais espaco nas telas menores. */
@media (max-width: 767px), (min-width: 768px) and (max-width: 1366px) and (hover: none) and (pointer: coarse) {
  .question-container { margin-bottom: 36px !important; }
  .question-title-container { padding-bottom: 16px !important; }
  .well, .group-description {
    padding: 20px !important; margin-bottom: 24px !important;
  }
  .bootstrap-buttons-div { padding: 6px !important; }
  .button-item.btn {
    border: 1px solid rgba(181,154,70,0.30) !important;
    min-height: 56px !important; padding: 15px 16px !important;
    line-height: 1.5 !important;
  }
  .button-item.btn.active {
    border-color: rgba(196,154,48,0.65) !important;
    box-shadow: none !important;
  }
  .list-radio li, .list-checkbox li {
    margin-bottom: 12px !important;
    border: 1px solid rgba(181,154,70,0.12) !important;
  }
  .list-radio label, .list-checkbox label {
    min-height: 58px !important; padding: 17px 18px 17px 48px !important;
    line-height: 1.55 !important;
  }
  .list-radio label::before, .list-checkbox label::before {
    border-width: 1px !important; left: 16px !important;
  }
  .list-radio li.checked, .answer-item.ls-checked {
    border-color: rgba(181,154,70,0.55) !important;
  }
  .question-container.ht-nps .list-unstyled { gap: 10px !important; }
  .question-container.ht-nps li.answer-item { margin: 0 !important; border: none !important; }
  .question-container.ht-nps li.answer-item > label.radio-label {
    border: 1px solid rgba(181,154,70,0.30) !important;
    min-height: 54px !important; padding: 14px 4px !important;
  }
  .question-container.ht-nps li.answer-item:has(input[type="radio"]:checked) > label.radio-label {
    border-color: rgba(196,154,48,0.65) !important; box-shadow: none !important;
  }
  .question-container.ht-nps .bootstrap-buttons-div { padding: 5px !important; }
  .question-container.ht-nps .button-item.btn {
    min-height: 54px !important; padding: 14px 4px !important;
  }
  .table-array-radio td, .table-array-radio th,
  .table-array-dropdown td, .table-array-dropdown th {
    padding: 16px 12px !important;
    border-color: rgba(255,255,255,0.045) !important;
  }
  .table-array-dropdown select { border-color: rgba(181,154,70,0.25) !important; }
  #ls-button-submit, .ls-move-next-btn, .ls-move-prev-btn, .ls-move-btn {
    border-width: 1px !important; border-color: rgba(181,154,70,0.30) !important;
    padding: 15px 24px !important; margin-bottom: 14px !important;
  }
}

/* Matrizes no celular/tablet: afirmacao acima, opcoes abaixo.
   Inclui tabelas radio do tema mesmo sem a classe table-array-radio. */
@media (max-width: 767px), (min-width: 768px) and (max-width: 1366px) and (hover: none) and (pointer: coarse) {
  .question-container .answer-container table:has(input[type="radio"]),
  .question-container .table-array-radio {
    display: block !important; width: 100% !important; max-width: 100% !important;
    min-width: 0 !important; border: 0 !important; outline: 0 !important;
    box-shadow: none !important; background: transparent !important;
    overflow: visible !important; table-layout: auto !important;
  }
  .question-container .answer-container table:has(input[type="radio"]) colgroup,
  .question-container .table-array-radio colgroup { display: none !important; }
  /* Mantem os titulos de coluna acessiveis a leitores de tela. */
  .question-container .answer-container table:has(input[type="radio"]) thead,
  .question-container .table-array-radio thead {
    position: absolute !important; width: 1px !important; height: 1px !important;
    padding: 0 !important; margin: -1px !important; overflow: hidden !important;
    clip: rect(0,0,0,0) !important; clip-path: inset(50%) !important;
    white-space: nowrap !important; border: 0 !important;
  }
  .question-container .answer-container table:has(input[type="radio"]) tbody,
  .question-container .table-array-radio tbody {
    display: block !important; width: 100% !important; border: 0 !important;
    background: transparent !important; box-shadow: none !important;
  }
  .question-container .answer-container table tr:has(input[type="radio"]),
  .question-container .table-array-radio tr:has(input[type="radio"]) {
    display: flex !important; flex-wrap: wrap !important; gap: 8px !important;
    width: 100% !important; margin: 0 0 28px !important; padding: 0 !important;
    border: 0 !important; outline: 0 !important; box-shadow: none !important;
    background: transparent !important; box-sizing: border-box !important;
  }
  .question-container .answer-container table tr:has(input[type="radio"]) > th,
  .question-container .answer-container table tr:has(input[type="radio"]) > td:not(:has(input[type="radio"])) {
    display: block !important; flex: 0 0 100% !important;
    width: 100% !important; min-width: 0 !important; max-width: 100% !important;
    padding: 0 0 6px !important; margin: 0 !important;
    border: 0 !important; background: transparent !important; box-shadow: none !important;
    text-align: left !important; font-size: 16px !important; line-height: 1.5 !important;
    overflow: visible !important; overflow-wrap: anywhere !important;
  }
  .question-container .answer-container table tr:has(input[type="radio"]) .answer-text {
    font-size: 16px !important; line-height: 1.5 !important; color: #f0f0f0 !important;
  }
  .question-container .answer-container table tr > td:has(input[type="radio"]) {
    display: flex !important; flex: 1 0 48px !important;
    align-items: center !important; justify-content: center !important;
    flex-direction: column !important; gap: 5px !important;
    width: auto !important; min-width: 48px !important; max-width: 100% !important;
    min-height: 68px !important; padding: 10px 6px !important; margin: 0 !important;
    border: 0 !important; border-radius: 8px !important;
    background: #1c1a13 !important; color: #f5e8c0 !important;
    box-shadow: none !important; text-align: center !important;
    position: relative !important; overflow: visible !important;
    box-sizing: border-box !important;
  }
  .question-container .answer-container table td:has(input[type="radio"]) .radio,
  .question-container .answer-container table td:has(input[type="radio"]) .radio-item {
    position: static !important; display: flex !important; flex-direction: column !important;
    align-items: center !important; gap: 5px !important;
    margin: 0 !important; padding: 0 !important; min-height: 0 !important;
  }
  .question-container .answer-container table td input[type="radio"] {
    position: static !important; float: none !important; transform: none !important;
    display: inline-block !important; opacity: 1 !important; visibility: visible !important;
    width: 22px !important; height: 22px !important; min-width: 22px !important;
    margin: 0 !important; padding: 0 !important; clip: auto !important;
    clip-path: none !important; pointer-events: auto !important;
    appearance: auto !important; -webkit-appearance: radio !important;
    accent-color: #B59A46 !important; cursor: pointer !important;
  }
  .question-container .answer-container table td:has(input[type="radio"]) label {
    position: static !important; display: block !important; width: auto !important;
    height: auto !important; min-height: 0 !important; max-width: 100% !important;
    margin: 0 !important; padding: 0 !important; border: 0 !important;
    clip: auto !important; clip-path: none !important; overflow: visible !important;
    white-space: normal !important; font-size: 16px !important;
    font-weight: 600 !important; line-height: 1.3 !important;
    color: inherit !important; background: transparent !important;
    text-align: center !important; cursor: pointer !important;
  }
  /* Retire les faux radios du theme: le vrai controle reste visible. */
  .question-container .answer-container table td:has(input[type="radio"]) label::before,
  .question-container .answer-container table td:has(input[type="radio"]) label::after {
    display: none !important;
  }
  .question-container .answer-container table tr > td:has(input[type="radio"]:checked) {
    background: #B59A46 !important; color: #1a1200 !important;
  }
  .question-container .answer-container table tr > td:has(input[type="radio"]:focus-visible) {
    outline: 2px solid #f5e8c0 !important; outline-offset: 2px !important;
  }
  .question-container .answer-container table tr:has(input[type="radio"]) > td::after,
  .question-container .answer-container table tr:has(input[type="radio"]) > th::after {
    display: none !important;
  }
  .question-container .answer-container .table-responsive:has(input[type="radio"]) {
    border: 0 !important; box-shadow: none !important; overflow: visible !important;
  }
  .question-title-container, .question-text {
    min-height: 0 !important; height: auto !important;
    padding-bottom: 8px !important; margin-bottom: 12px !important;
  }
  .question-title-container .question-text,
  .question-title-container .question-text p {
    font-size: 20px !important; line-height: 1.45 !important;
  }
  .ht-help-trigger-row { margin: 8px 0 16px !important; }
  .question-container .button-item.btn,
  .question-container.ht-nps li.answer-item > label.radio-label {
    border: 0 !important; box-shadow: none !important;
  }
  #navigator-container, .navigator { margin-top: 24px !important; }
  #ls-button-submit, .ls-move-next-btn, .ls-move-prev-btn, .ls-move-btn {
    border: 0 !important; background: #B59A46 !important; color: #1a1200 !important;
    opacity: 1 !important; min-height: 52px !important;
  }
}

/* Tablet: a opcao inteira e um botao, sem bolinha visivel. */
@media (min-width: 768px) and (max-width: 1366px) and (hover: none) and (pointer: coarse) {
  .question-container .answer-container table tr > td:has(input[type="radio"]) {
    position: relative !important; min-height: 54px !important;
    padding: 14px 10px !important; gap: 0 !important;
    justify-content: center !important; align-items: center !important;
    background: #242117 !important; border: 0 !important;
    border-radius: 8px !important;
  }
  .question-container .answer-container table td input[type="radio"] {
    position: absolute !important; inset: 0 !important;
    width: 100% !important; height: 100% !important;
    min-width: 0 !important; margin: 0 !important; padding: 0 !important;
    opacity: 0 !important; z-index: 3 !important;
    pointer-events: auto !important; cursor: pointer !important;
  }
  .question-container .answer-container table td:has(input[type="radio"]) label {
    font-size: 18px !important; font-weight: 700 !important;
    text-align: center !important; margin: 0 !important;
  }
  .question-container .answer-container table tr > td:has(input[type="radio"]:checked) {
    background: #B59A46 !important; color: #1a1200 !important;
  }
  .question-container .list-radio label::before,
  .question-container .list-radio label::after { display: none !important; }
  .question-container .list-radio label {
    padding-left: 18px !important; padding-right: 18px !important;
  }
  .question-container.ht-nps li.answer-item > input[type="radio"] {
    position: absolute !important; inset: 0 !important;
    width: 100% !important; height: 100% !important;
    margin: 0 !important; opacity: 0 !important;
    pointer-events: auto !important; z-index: 3 !important;
  }
  .question-container.ht-nps li.answer-item > label.radio-label {
    padding: 14px 4px !important;
  }
  .question-container .list-radio li:has(input[type="radio"]:checked) {
    background: rgba(181,154,70,0.22) !important;
  }
}