/* 
    Created on : 25/09/2017, 13:19:20
    Author     : SHL
*/

.field_body {
    padding: 0 0.1em;
}

.field_body.make_relative {
    position: relative;
}

.field_body.field_body_full {
    padding: 0;
}

.field_body > .field_link_elem ~ .field_container {
    margin-right: 1Em;
    width: 92%;
    width: calc(100% - 2.5Em);
}

/* Checkbox e Radio - Melhorias visuais */
input[type=checkbox]:checked {
    border: 2px solid #616161 !important;
    background-color: #616161 !important;
    box-shadow: 0 2px 8px rgba(97, 97, 97, 0.3) !important;
}

.field_body > .field_multi_input .field_multi_input_item input[type=checkbox]:checked {
    border: 2px solid #616161 !important;
    background-color: #616161 !important;
    border-radius: 4px !important;
    box-shadow: 0 2px 8px rgba(97, 97, 97, 0.3) !important;
}

/* Sobrescrever pseudo-elementos do Materialize com cor cinza escura */
[type="checkbox"]:checked + label:before {
    border-right: 2px solid #616161 !important;
    border-bottom: 2px solid #616161 !important;
}

.field_body > .field_multi_input .field_multi_input_item [type="checkbox"]:checked + label:before {
    border-right: 2px solid #616161 !important;
    border-bottom: 2px solid #616161 !important;
}



/* LINK  */
.field_body.field_multi_link ul.field_multi_link_lista li.field_multi_link_item {

}

.field_body.field_multi_link ul.field_multi_link_lista li.field_multi_link_item:hover {

}

.field_body.field_multi_link ul.field_multi_link_lista li.field_multi_link_item.desabilitado:hover {

}

.field_body.field_multi_link > .field_multi_link_lista a > div.estrutura_elemento_flutuante {
    width: calc(1.2Em + 1vw);
    height: calc(1.2Em + 1vw);
    /*    width: 36px;
        height: 36px;
        font-size: 18px;*/
}

.field_body.field_multi_link > .field_multi_link_lista a > div.estrutura_elemento_flutuante > *:not(div) {
    width: 100% !important;
    height: 100% !important;
    text-align: center !important;
    /*font-size: calc(0.8Em + 1vw) !important;*/
    font-size: 1.8em !important;
    margin: 0 !important;
    padding: 0 !important;
}

.tabela_conteudo > .field_body > .input-field {
    margin-top: 0.8rem;
    margin-bottom: 0.8rem;
    /*margin-left: 0px !important;*/
    /*margin-right: 0px !important;*/
    /*padding-left: 2px;*/
}

.field_body > .input-field.input-field-sem-rotulo {
    margin-top: 0rem;
    margin-bottom: 0rem;
}

.tabela_conteudo > .field_body > .input-field > .character-counter {
    display: none;
}

.tabela_conteudo > .field_body > .input-field.input-field-sem-rotulo {
    line-height: 40px;
}

/* label color */
.field_body > .input-field label {
    color: #000;
    /*padding-bottom: 2px;*/
    font-weight: 800;
}

.field_body > .field_label span {
    font-size: 0.8rem !important;
    font-weight: 800
}

/*.field_label{
    font-size: 0.9em !important;
    padding-bottom: 5px;
}*/

.l > .input-field label, .m > .input-field.field_container input {
    font-size: 3em !important;
    font-weight: 800;
}

.field_body.l .field_container.input-field {
    margin-top: 4em !important;
    line-height: 0em;
}

.m > .input-field label, .m > .input-field.field_container input {
    font-size: 1.5em !important;
    font-weight: 700;
}

.field_body.m .field_container.input-field {
    margin-top: 2em !important;
    line-height: 0em;
}

.s > .input-field label {
    font-size: 1em !important;
}

.field_body.s .field_container.input-field {
    margin-top: 1.2em !important;
    line-height: 0em;
}

.field_label {
    padding-bottom: 3px;
}

.label_grifado .field_label {
    padding: 5px;
    border-bottom: 2px solid #ccc;
    background-color: #ccc;
    border-radius: 2px;
    color: #000;
    font-weight: 700;
    font-size: 0.8Em;
}

@media only screen and (max-width: 600px) {
    .field_body {
        padding: 0 0;
    }

    .field_body > .field_multi_input .field_multi_input_item {
        padding: 10px;
    }

    .field_body > .input-field.field_container input,
    .field_body.field_multi_link ul.field_multi_link_lista li.field_multi_link_item {
        /*    .field_body.field_multi_link ul.field_multi_link_lista li.field_multi_link_item > a svg{*/
        font-size: 1.5Em !important;
    }

    .field_body:not(.field_link) {
        font-size: 1.2Em;
    }

    .field_label {
        padding-bottom: 1px;
    }

    .field_body:not(.field_link) > .field_label {
        font-size: 1rem;
    }

    .field_body > .input-field label {
        font-size: 1.2em !important;
    }

    .field_body > .input-field {
        margin-top: 2rem;
    }

    .field_body .input-field label:not(.label-icon).active {
        -webkit-transform: translateY(-20px) scale(0.8);
        transform: translateY(-20px) scale(0.8);
        /*-webkit-transform-origin: 0 0;*/
        /*transform-origin: 0 0;*/
    }

    .tabela_conteudo div span.multicelularotulo {
        /*        font-size: 1Em;
                font-weight: 400;*/
    }

    .tabela_conteudo div span.multicelulaconteudo {
        font-size: 1.2Em;
    }

}

/* label focus color */
.field_body > .input-field input[type=text]:focus + label {
    color: #444;
}

/* label underline focus color */
.field_body > .input-field input[type=text]:focus {
    border-bottom: 1px solid rgba(80, 80, 80, .5);
    box-shadow: 0 1px 0 0 #666;
}

/* icon prefix focus color */
.field_body > .input-field .prefix.active {
    color: #444;
}

.field_body > .input-field.field_container input,
.field_body > .field_container input.datepicker,
.field_body > .input-field.field_container select {
    font-size: 1Em;
    padding: 0px 8px;
    box-sizing: border-box;
    margin: 0px;
    height: 2Em;
}

.field_body > .input-field.field_container .select-wrapper span.caret {
    right: 10px;
}

.field_body > .input-field.field_container input.file-path {
    padding-left: 0;

    /*background-color: red;*/
}

fieldset.sem_bordas {
    border: 0px solid #ffffff !important;
}

div.display.file-path {
    padding: 3px;
    margin: 3px;
    background-color: #ccc;
    border: 5px solid #3D3D3D;
    border-radius: 10%;
    cursor: pointer;
    transition: background-color 0.3s;
}

div.display.file-path:hover {
    background-color: #0f74a8;
}

div.file-path-wrapper {

}

.field_body > .field_link_elem {
    width: 2Em;
    font-size: 1Em;
    text-align: center;
    float: right;
    /*margin-top: 1Em;*/
}

a.field_link_elem {
    cursor: pointer;
}

.nowrap {
    white-space: nowrap;
}

.bloco {
    padding: 3px;
    display: block;
    width: 100%;
}

.field_body > .field_container.field_label {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: flex-start;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 0.8Em;
    color: #000;
    margin-bottom: 0Em;
    transition: ease-in-out all .3s;
}

.field_body:hover > .field_container.field_label {
    color: #000;
}

.field_body.desabilitado,
.field_body.desabilitado > .field_multi_input,
.field_body.desabilitado > .field_multi_input > .field_multi_input_item {
    color: #999;
    cursor: not-allowed;
}

.field_body > .field_multi_input {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    justify-content: flex-start;
    transition: ease-in-out all .3s;
    padding-top: 5px;
    /*border-radius: 2px;*/
    /*border-right: 1px solid #ccc;*/
}

.field_body > .field_multi_input.horizontal {
    -webkit-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    /*justify-content: space-between;*/
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.field_body > .field_multi_input.horizontal > * {
    margin: 2px;
}

/* Radio buttons - Melhorias com cor cinza claro */
[type="radio"]:checked + label:after,
[type="radio"].with-gap:checked + label:before,
[type="radio"].with-gap:checked + label:after {
    border: 3px solid #9e9e9e !important;
    box-shadow: 0 2px 8px rgba(158, 158, 158, 0.3) !important;
}

[type="radio"]:checked + label:after,
[type="radio"].with-gap:checked + label:after {
    background-color: #9e9e9e !important;
    transition: all 0.3s ease !important;
}

/* Pseudo-elementos dos radio buttons com mais destaque */
[type="radio"] + label:before {
    border: 2px solid #ddd !important;
    transition: all 0.3s ease !important;
}

[type="radio"]:checked + label:before {
    border: 3px solid #9e9e9e !important;
    box-shadow: 0 0 0 3px rgba(158, 158, 158, 0.2) !important;
}

/* Regras específicas para garantir que o Materialize não sobrescreva */
input[type="radio"]:checked + label:after,
input[type="radio"].with-gap:checked + label:after {
    background-color: #9e9e9e !important;
    border: 2px solid #9e9e9e !important;
}

input[type="radio"]:checked + label:before,
input[type="radio"].with-gap:checked + label:before {
    border: 2px solid #9e9e9e !important;
}

/* Regras com alta especificidade para field_multi_input */
.field_body > .field_multi_input .field_multi_input_item input[type="radio"]:checked + label:after {
    background-color: #9e9e9e !important;
    border: 2px solid #9e9e9e !important;
}

.field_body > .field_multi_input .field_multi_input_item input[type="radio"]:checked + label:before {
    border: 2px solid #9e9e9e !important;
}

/* Posicionamento base para todos os pseudo-elementos de radio buttons */
[type="radio"] + label:before,
[type="radio"] + label:after,
input[type="radio"] + label:before,
input[type="radio"] + label:after,
.field_body > .field_multi_input .field_multi_input_item input[type="radio"] + label:before,
.field_body > .field_multi_input .field_multi_input_item input[type="radio"] + label:after,
.field_body > .field_multi_input .field_multi_input_item input[type="radio"] + label::before,
.field_body > .field_multi_input .field_multi_input_item input[type="radio"] + label::after {
    position: absolute !important;
    margin: 0 !important;
}

/* Círculo externo (borda) - alinhado à esquerda */
[type="radio"] + label:before,
input[type="radio"] + label:before,
.field_body > .field_multi_input .field_multi_input_item input[type="radio"] + label:before,
.field_body > .field_multi_input .field_multi_input_item input[type="radio"] + label::before {
    top: 50% !important;
    left: 0 !important;
    transform: translateY(-50%) !important;
}

/* Círculo interno (seleção) - centralizado dentro do círculo externo */
[type="radio"] + label:after,
input[type="radio"] + label:after,
.field_body > .field_multi_input .field_multi_input_item input[type="radio"] + label:after,
.field_body > .field_multi_input .field_multi_input_item input[type="radio"] + label::after {
    top: 50% !important;
    left: 3px !important;
    transform: translateY(-50%) !important;
}

/* Tamanho e centralização dos pseudo-elementos - efeito círculo dentro de círculo */
/* Elemento externo (borda) - mantém 18px com centralização perfeita */
[type="radio"] + label:before {
    width: 18px !important;
    height: 18px !important;
}

input[type="radio"] + label:before {
    width: 18px !important;
    height: 18px !important;
}

/* Elemento interno (seleção) - menor que o externo com centralização perfeita */
[type="radio"] + label:after {
    width: 12px !important;
    height: 12px !important;
}

input[type="radio"] + label:after {
    width: 12px !important;
    height: 12px !important;
}

/* Proteção específica para field_multi_input - borda externa */
.field_body > .field_multi_input .field_multi_input_item input[type="radio"] + label:before {
    width: 18px !important;
    height: 18px !important;
}

/* Proteção específica para field_multi_input - seleção interna */
.field_body > .field_multi_input .field_multi_input_item input[type="radio"] + label:after {
    width: 12px !important;
    height: 12px !important;
}

.file-field input[type=image] {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: 20px;
    cursor: pointer;
    opacity: 0;
    filter: alpha(opacity=0);
}

.field_body:hover > .field_multi_input {
    /*background: rgba(80,80,80,.04);*/
}

.field_body > .field_multi_input .field_multi_input_item {
    border-bottom: 1px solid #ccc;
    padding: 5px;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    transition: ease-in-out all .3s;
    border-radius: 4px;
}

.field_body > .field_multi_input .field_multi_input_item:hover {
    border-bottom: 2px solid #2196F3;
    background: rgba(97, 97, 97, 0.05);
    box-shadow: 0 2px 8px rgba(97, 97, 97, 0.1);
}

/* Item selecionado com destaque - apenas borda inferior azul */
.field_body > .field_multi_input .field_multi_input_item:has(input[type="radio"]:checked),
.field_body > .field_multi_input .field_multi_input_item:has(input[type="checkbox"]:checked) {
    border-bottom: 3px solid #2196F3 !important;
    background: rgba(97, 97, 97, 0.1) !important;
    box-shadow: 0 4px 12px rgba(97, 97, 97, 0.2) !important;
    transform: translateY(-1px);
}

.field_body > .field_multi_input .field_multi_input_item i {
    margin-right: 10px;
}

.field_body > .field_multi_input .field_multi_input_item label {
    font-size: 0.9Em;
    color: #000;
    /*    display: block;*/
    /*text-transform: uppercase;*/
    transition: all 0.3s ease;
}

/* Label do item selecionado com destaque - texto em preto sem negrito */
.field_body > .field_multi_input .field_multi_input_item:has(input[type="radio"]:checked) label,
.field_body > .field_multi_input .field_multi_input_item:has(input[type="checkbox"]:checked) label {
    color: #000 !important;
    font-weight: normal !important;
}

.field_body > .field_multi_input .field_multi_input_item.large label {
    font-size: 1.1Em;
    line-height: 1Em;
    margin: 5px;
}

.field_body > .field_multi_input .field_multi_input_item input[type="radio"] + label::before {
    width: 18px !important;
    height: 18px !important;
}

.field_body > .field_multi_input .field_multi_input_item input[type="radio"] + label::after {
    width: 12px !important;
    height: 12px !important;
}

.field_body > .field_multi_input .field_multi_input_item.large i {
    font-size: 1.8Em;
}

.field_body > .field_container p {
    margin: 0px;
}

.obrigatorio {
    margin-left: 0.5em;
    font-size: 0.8em;
    color: red;
}

.field_body.field_show > .field_container.field_multi_botao {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
}

.separador_registros .col {
    border-right: 1px solid #ccc;
    padding: 0px;
}

.alinhar_rotulo .field_body .field_container label ~ * {
    display: inline-block;
    margin-left: 5px;
}

.field_body.pergunta {
    width: 100%;
}

.field_body input[type="checkbox"] + label.sem_label {
    padding-left: 18px;
}

.fieldset_container {
    border: 1px solid #ccc;
    background: #fff;
}

.fieldset_container > legend {
    padding: 0.2em 2em;
    border: 1px solid #000;
    color: #FFF;
    font-size: 0.8Em;
    text-align: left;
    background: #000;
}

.file-field.input-field.file-icon {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
}

.file-field.input-field.file-icon div i {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
}

.file-field.input-field.file-icon div.file-path-wrapper {
    padding-left: 0;
}

.col_sem_tamanho {
    width: fit-content !important;
}

.justify-content-center {
    justify-content: center;
}

/* Efeito de zoom suave para elementos clicáveis */
button,
input[type="button"],
input[type="submit"],
input[type="reset"],
.btn,
.btn-large,
.btn-small,
.btn-floating,
.field_link_elem,
.field_multi_link_item,
.atalho,
.botao-atalho,
[role="button"],
.clickable {
    transition: transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), 
                box-shadow 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    cursor: pointer;
}

button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
.btn:hover,
.btn-large:hover,
.btn-small:hover,
.btn-floating:hover,
a:not(.no-zoom):hover,
.field_link_elem:hover,
.field_multi_link_item:hover,
.atalho:hover,
.botao-atalho:hover,
[role="button"]:hover,
.clickable:hover {
    transform: scale(1.05) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

/* Efeito mais sutil para checkboxes e radio buttons */
input[type="checkbox"],
input[type="radio"] {
    transition: transform 0.15s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

input[type="checkbox"]:hover,
input[type="radio"]:hover {
    transform: scale(1.1) !important;
}

/* Efeito para elementos de tabela clicáveis */
.tabela_conteudo tr:hover,
.form_tabela tbody tr:hover {
    transform: scale(1.01) !important;
    transition: transform 0.15s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
}

/* Desabilitar zoom para elementos específicos */
.no-zoom,
.no-zoom:hover {
    transform: none !important;
}

/* Efeito mais intenso para botões principais */
.btn-large:hover,
.btn.primary:hover {
    transform: scale(1.08) !important;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2) !important;
}