/* Container dos botões em lista vertical: alinha à esquerda */
.bootstrap-buttons-div,
.bootstrap-buttons-div .btn-group {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important; /* Alinha os botões à esquerda */
    width: 100% !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
}

/* Todos os botões com texto alinhado à esquerda */
.bootstrap-buttons-div .btn,
.bootstrap-buttons-div .btn-group .btn,
.bootstrap-buttons-div .btn:last-child,
.bootstrap-buttons-div .btn-group .btn:last-child,
.bootstrap-buttons-div > *:last-child {
    display: block !important;
    width: 450px !important;
    max-width: 95% !important;
    min-width: 300px !important;
    height: auto !important;
    min-height: 45px !important;
    margin: 0 0 12px 0 !important;     /* Só margem inferior */
    padding: 8px 20px !important;
    box-sizing: border-box !important;
    border-radius: 12px !important;
    background: #2a7d8c !important;
    color: #fff !important;
    border: none !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1) !important;
    text-align: left !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow: visible !important;
    line-height: 1.2 !important;
    font-size: 1em !important;
    font-weight: bold !important;
    align-self: flex-start !important;  /* Garante alinhamento à esquerda */
}

/* Verde quando selecionado */
.bootstrap-buttons-div .btn.active,
.bootstrap-buttons-div .btn:active,
.bootstrap-buttons-div .btn-group .btn.active,
.bootstrap-buttons-div .btn-group .btn:active,
input[type="radio"]:checked + .btn,
input[type="checkbox"]:checked + .btn,
ul.list-unstyled li input[type="radio"]:checked + label,
ul.list-unstyled li input[type="checkbox"]:checked + label,
ul.list-unstyled li.selected,
.array-flexible-row .answer_cell input[type="radio"]:checked + label,
.array-flexible-row .answer_cell.selected {
    background: #4caf50 !important;
    color: #fff !important;
    box-shadow: 0 4px 8px rgba(0,0,0,0.15) !important;
}

/* Texto principal alinhado à esquerda */
.bootstrap-buttons-div .btn .main-label,
.bootstrap-buttons-div .btn-group .btn .main-label {
    display: block !important;
    text-align: left !important;
    color: #fff !important;
    font-weight: bold !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 1em !important;
    line-height: 1.2 !important;
}

/* Texto entre parênteses também alinhado à esquerda */
.bootstrap-buttons-div .btn .parentheses,
.bootstrap-buttons-div .btn-group .btn .parentheses {
    display: block !important;
    text-align: left !important;
    color: #e0e0e0 !important;
    font-style: normal !important;
    font-weight: normal !important;
    font-size: 0.85em !important;
    line-height: 1.2 !important;
    margin-top: 2px !important;
}

/* Input do "Outro:" compacto */
.bootstrap-buttons-div .btn input[type="text"] {
    width: 65% !important;
    background: #fff !important;
    color: #333 !important;
    border-radius: 6px !important;
    border: 1px solid #ccc !important;
    font-size: 0.9em !important;
    padding: 2px 4px !important;
    margin-top: 4px !important;
    display: block !important;
}

/* Remove hífen de translineação */
body, #outerframeContainer, .question-container, .bootstrap-buttons-div, .btn, .btn-group, .main-label, .parentheses {
    hyphens: none !important;
    word-break: normal !important;
    white-space: normal !important;
}

/* Inputs numéricos */
.numeric-item input[type="text"],
.numeric-item input[type="number"] {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: left !important;
    font-size: 16px !important;
}

/* Botões de navegação visíveis */
.ls-move-previous,
.ls-move-next,
.ls-move-submit {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Tamanho da letra do enunciado */
.question-text {
    font-size: 20px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
}

/* Evita zoom em mobile */
input[type="text"],
input[type="number"],
input[type="email"],
input[type="tel"],
textarea {
    font-size: 16px !important;
}

/* Container dos botões em lista vertical, alinhados à esquerda */
.bootstrap-buttons-div,
.bootstrap-buttons-div .btn-group {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    width: 100% !important;
    gap: 6px !important;             /* Gap mais pequeno */
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
}

/* Botões compactos */
.bootstrap-buttons-div .btn,
.bootstrap-buttons-div .btn-group .btn,
.bootstrap-buttons-div .btn:last-child,
.bootstrap-buttons-div .btn-group .btn:last-child,
.bootstrap-buttons-div > *:last-child {
    display: block !important;
    width: 450px !important;
    max-width: 95% !important;
    min-width: 300px !important;
    height: auto !important;
    min-height: 32px !important;     /* Mais baixo */
    margin: 0 0 6px 0 !important;    /* Só margem inferior, igual ao gap */
    padding: 4px 16px !important;    /* Padding vertical reduzido */
    box-sizing: border-box !important;
    border-radius: 12px !important;
    background: #2a7d8c !important;
    color: #fff !important;
    border: none !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1) !important;
    text-align: left !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow: visible !important;
    line-height: 1.2 !important;
    font-size: 1em !important;
    font-weight: bold !important;
    align-self: flex-start !important;
}

/* Reduz a margem inferior do enunciado da pergunta */
.question-text {
    margin-bottom: 4px !important;
    padding-bottom: 0 !important;
}

/* Remove margem/padding extra do container das respostas */
.question-container {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.bootstrap-buttons-div {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.question-help,
.question-validity,
.question-information,
.info,
.alert {
    margin-bottom: 4px !important;
    margin-top: 0 !important;
    padding-bottom: 0 !important;
    padding-top: 0 !important;
}

/* Negrito APENAS nas sub-questões (primeira coluna da matriz) */
.answers tbody tr td.answertext:first-child,
.subquestions-list tbody tr td.answertext:first-child,
.ls-question tbody tr td.answertext:first-child,
.question tbody tr td.answertext:first-child {
    font-weight: 700 !important;
    color: #222 !important;
}

/* Garante que os cabeçalhos das colunas NÃO ficam a negrito */
.answers thead th,
.subquestions-list thead th,
.ls-question thead th,
.question thead th {
    font-weight: normal !important;
}
/* LimeSurvey: Make question statements bold (negrito) */

/* Default templates: questions inside .question-container or .ls-question */
.question-container .questiontext,
.ls-question .questiontext,
.question-container .survey-question,
.ls-question .survey-question,
.question-container h4,
.ls-question h4 {
    font-weight: bold;
}

/* For extra compatibility with older or customized LimeSurvey themes */
div.questiontext,
span.questiontext,
div.survey-question,
span.survey-question {
    font-weight: bold;
}
/* Negrito para todos os enunciados de perguntas no LimeSurvey */
.ls-question-question, .question-text, .ls-label-question {
    font-weight: bold !important;
}
