

form.modelo input[type="file"]{
    /* padding: 0px; */
}


form.modelo .container_legend:has(legend:empty){
    display: none !important;
}
form.modelo legend:empty{
    /* Estava com o display none comentado, não lembro pq */
    /* Coloquei de novo por causa da tela de login */

    display: none;
}
form + form{
    /* margin-top: 20px; */
}
form.modelo{
    /* position: relative; */
    /* width: 1200px !important; */
    /* width: fit-content; */
    overflow: auto;
    max-width: 100%;
    padding: 5px;
}
form.modelo ::before {
    line-height: normal;
}

form.modelo .form_description {
    background: #f1f1f1;
    padding: var(--padding);
    color: #666;
    font-size: 14px;
}
form.modelo .form_description:empty {
    display: none;
}

form.modelo .fieldset {
    display:flex;
    flex-direction: column;
    gap: var(--gap_md);
    width: 100%;
    padding: 0px;
    box-sizing: border-box;
    border: none;
    /* border: 1px solid #999;
    background: #eee; */
    margin: 0px;
}

form.modelo .container_legend{
    /* display:flex;
    flex-wrap: wrap;
    justify-content: space-between;*/
    gap: var(--gap_sm); 

    display: grid;
    grid-template-columns: 1fr auto;
    /* align-items: self-start; */
    /* gap: var(--gap_sm); */
}
form.modelo .admin_buttons_container{
    display: flex;
}
form.modelo .container_legend .action_button{
    cursor: pointer;
    padding: 0px 10px;
    min-width: 60px;
    gap: var(--gap_sm);
    flex-shrink: 0;
    text-align: left;
    font-size: 12px;
    padding: var(--padding);
}
/* form.modelo .container_legend .action_delete{
    background: var(--cor_red);
    color: var(--cor_dark_red);
} */
form.modelo .container_legend .container_action_buttons{
    /* display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: var(--gap_sm); */

    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: min-content;
    gap: var(--gap_sm);
    height: 100%;
}
form.modelo .container_legend .container_action_buttons:empty{
    display: none;
}
/* form.modelo .container_legend .container_action_buttons .action_list{
    background: var(--cor_light_purple);
    color: var(--cor_dark_purple);
} */
/* form.modelo .container_legend .action_registro_profissional{
    background: var(--cor_yellow);
    color: var(--cor_darker_yellow);
} */
form.modelo legend {
    /* width: 100%; */
    flex-grow: 1;
    /* font-size: 16px; */
    box-sizing: border-box;
    /* text-align: center; */
    align-content: center;
    background: var(--cor_principal);
    border: none;
    color: var(--cor_white);
    padding: var(--padding);
    box-shadow: 0px 1px 9px -4px #666;
    border-radius: var(--border_radius);
}
form.modelo .form_containers_container{
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: var(--gap_md);
}
form.modelo .form_group_container{
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    gap: var(--gap_md);
    max-width: 100%;
    /* overflow: auto; */
}
form.modelo .form_group_container{

}
form.modelo .form_group_container[open="false"] .form_container_form_group{
    display: none;
}
form.modelo .form_group_container::after {
    /* content: "";
    position: absolute;
    top: 0;
    right: -8px;
    width: 1px;
    height: 100%;
    background: #ccc; */
}
form.modelo .form_container_form_group{
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    gap: var(--gap_md);
    
    width: 100%;
    /* overflow: auto; */
    /* padding: 0 var(--padding); */
}
form.modelo .form_group_container:empty{
    display: none;
}
form.modelo .form_group_container:has(button[type=submit]){
    /* backdrop-filter: blur(1px);
    position: sticky;
    bottom: 0px;
    z-index: 1;
    opacity: 0.8; */
}
form.modelo .form_group_container:has(button[type=submit]) .form_group{
    /* box-shadow: 0px 0px 15px 10px #fff; */
}
form.modelo .form_group_container .form_container_title{
    position: relative;
    font-size: 14px;
    color: var(--cor_dark_orange);
    background: var(--cor_principal_contraste);
    padding: var(--padding);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--gap_sm);
    cursor: pointer;
    border-radius: var(--border_radius);
    transition: 0.3s;
}
form.modelo .form_group_container .form_container_title::after{
    font-family: var(--fa-style-family, "Font Awesome 6 Free");
    font-weight: var(--fa-style, 900);
    content: var(--fa);
    --fa: "\f106";
    padding-left: var(--padding);
}
form.modelo .form_group_container[is_visible="false"] .form_container_title{
    opacity: 0.6;
    background: var(--cor_light_red);
    color: var(--cor_dark_red);
}
form.modelo .form_group_container .form_container_title::before{
    font-family: var(--fa-style-family, "Font Awesome 6 Free");
    font-weight: var(--fa-style, 900);
    content: var(--fa);
    --fa: "\f5fd";
}
form.modelo .form_group_container[is_visible="false"] .form_container_title::before{
    font-family: var(--fa-style-family, "Font Awesome 6 Free");
    font-weight: var(--fa-style, 900);
    content: var(--fa);
    --fa: "\f070";
}
form.modelo .form_group_container[is_visible="false"] .form_container_title::after{
    font-family: var(--fa-style-family, "Font Awesome 6 Free");
    font-weight: var(--fa-style, 900);
    content: var(--fa);
    --fa: "\f107";
}
form.modelo .form_group_container .form_container_title:empty{
    display: none;
}
form.modelo .form_group {
    /* flex-wrap: wrap; */
    /* gap: var(--gap_lg) 10px; */
    flex-grow: 1;
    background: #fafafa;
    /* box-shadow: 0px 4px 4px -5px #666; */
    /* box-shadow: 0px 4px 4px -5px #ccc; */
    border-radius: var(--border_radius);
    /* overflow: hidden; */
    display: flex;
    flex-direction: column;
    gap: var(--gap_md);
    max-width: 100%;
}
form.modelo .form_group[data-group^=detalhes_campeonato]:first-child .action_button {
    /* display: none; */
}
form.modelo .form_group:nth-last-child {
    flex-grow: 1 !important;
}
form.modelo .form_group.borderless {
    background: none;
    box-shadow: none;
    padding: 0px;
}
form.modelo .form_group .form_group_title_actionButton_container {
    display: flex;
    gap: 0px;
    /* border-bottom: 3px solid var(--cor_principal_escura_contraste); */
    border-radius: var(--border_radius) var(--border_radius) 0px 0px;
    overflow: hidden;
    /* box-shadow: 0px 10px 6px -6px #00000026; */
}
form.modelo .form_group .form_group_title_actionButton_container:empty {
    display: none;
}
form.modelo .form_group .form_group_title_actionButton_container .action_button {
    border-radius: 0px;
}
form.modelo .form_group .form_group_title {
    position: relative;
    font-size: 14px;
    /* font-weight: bold; */
    color: var(--cor_gray);
    background: var(--cor_light_gray);
    color: var(--cor_white);
    background: var(--cor_purple);
    background: var(--cor_principal_escura);
    padding: var(--padding);
    flex-grow: 1;
    align-content: center;
    margin-left: 0;
    text-align: center;
}
form.modelo .form_item_container {
    display: flex;
    flex-wrap: wrap;
    padding: var(--gap_md);
    margin: 0px 0px;
    gap: var(--padding);
    border-radius: var(--border_radius) var(--border_radius) 0px 0px;
    /* overflow-x: auto; */
}
form.modelo .form_item_container.flex_row {
    flex-direction: row;
    align-items: stretch;
}
form.modelo .form_item_container.flex_column {
    flex-direction: column;
}
form.modelo .form_item_container.flex_grid {
    display: grid;
}
form.modelo .form_item_container.grid2 {
    grid-template-columns: repeat(2, 1fr);
}
form.modelo .form_item_container.grid3 {
    grid-template-columns: repeat(3, 1fr);
}
form.modelo .form_item_container.grid4 {
    grid-template-columns: repeat(4, 1fr);
}
form.modelo .form_item_container.grid5 {
    grid-template-columns: repeat(5, 1fr);
}

form.modelo .form_item_container .divisor {
    border-bottom: 1px solid #eee;
}
form.modelo .form_item_container .form_item {
    display: flex;
    position: relative;
    flex-direction: column;
    justify-content: space-between;
    gap: var(--gap_sm);
    flex-grow: 1;
    max-width: 100%;
}
/* form.modelo .form_item_container .form_item .label_element_container:has(input.hidden) {
    display: none;
} */
form.modelo .form_item_container .form_item.item_type_input:has(input.hidden) {
    display: none;
}
form.modelo .form_item_container.flex_row .form_item {
    flex-direction: column;
    justify-content: normal;
}
form.modelo .form_item_container .form_item.item_type_input:has(input[hidden]) {
    display: none;
}
form.modelo .form_item_container .form_item.flex_row {
    flex-direction: row;
    align-items: center;
}
form.modelo .form_item_container .form_item .container_prefex_sufix {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    /* gap: var(--gap_md); */
    /* border: 1px solid #666; */
    outline: none;
}
form.modelo .form_item_container .form_item .label_element_container {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: var(--gap_sm);
    flex: 1 0 auto;
    /* min-height: 40px; */
}
form.modelo .form_item_container .form_item .label_element_container:has(.label_content:empty) textarea {
    border-top: 0px;
    padding-top: 7px;
    box-sizing: border-box;
}
form.modelo .form_item_container .form_item .label_element_container:has([disabled],[readonly]:not([role=combobox]))::before {
    font-family: var(--fa-style-family, "Font Awesome 6 Free");
    font-weight: var(--fa-style, 900);
    content: var(--fa);
    --fa: "\f023";
    color: var(--cor_red);
    position: absolute;
    top: 50%;
    left: 0px;
    translate: -50% -50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50px;
    z-index: 2;
    font-size: 10px;
    width: 20px;
    height: 20px;
    background: #fff;
    box-shadow: 0px 4px 5px -4px #ccc;
}
form.modelo .form_item_container .form_item .label_element_container:has(select)::before {
    font-family: var(--fa-style-family, "Font Awesome 6 Free");
    font-weight: var(--fa-style, 900);
    content: var(--fa);
    --fa: "\f0ca";
    color: var(--cor_principal);
    position: absolute;
    top: 50%;
    right: 10px;
    top: 30%;
    right: 0px;
    translate: -50% -50%;
    display: flex;
    align-items: center;
    justify-content: center;
    /* border-radius: 50px; */
    z-index: 2;
    font-size: 18px;
    /* width: 20px; */
    /* height: 20px; */
    /* background: #fff; */
    /* box-shadow: 0px 4px 5px -4px #ccc; */
}

form.modelo .form_item_container .form_item:has(.preview_input_file_container) {
    width: 100%;
}
form.modelo .form_item_container .form_item .label_element_container .preview_input_file_container {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    /* justify-content: center; */
    gap: var(--gap_sm);
    flex-grow: 1;
    overflow: auto;
    width: 100%;
}
form.modelo .form_item_container .form_item .label_element_container .preview_input_file_container:empty {
    display: none;
}
form.modelo .form_item_container .form_item .label_element_container .preview_input_file_container .preview_item {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: var(--gap_sm);
    /* border: 4px solid #fff; */
    background: var(--cor_white);
    padding: 7px;
    border-radius: 5px;
    box-shadow: 0px 4px 4px -5px #666;
    /* height: 50px; */
    max-width: 100px;
}
form.modelo .form_item_container .form_item .label_element_container .preview_input_file_container .preview_item a:hover {
    opacity: 0.8;
    cursor: zoom-in;
}
form.modelo .form_item_container .form_item .label_element_container .preview_input_file_container .preview_item {
    /* height: 50px; */
    /* rotate: -8deg; */ 
}
form.modelo .form_item_container .form_item .label_element_container .preview_input_file_container .preview_item a { 
    width: 100%;
    /* min-width: 120px; */
    overflow: hidden;
    /* aspect-ratio: 9 / 16; */
    aspect-ratio: 9 / 9;
    box-sizing: border-box;
    padding: 2px;
    /* background: var(--cor_white); */
    border: 1px solid var(--cor_light_gray);
    box-shadow: 0px 3px 10px -5px #939393;
}
form.modelo .form_item_container .form_item .label_element_container .preview_input_file_container .preview_item a * {
    /* height: 100%; */
    /* max-width: 100%; */
    justify-self: center;
    display: table;

    width: 100%;
    height: 100%;
    object-fit: cover;  /* faz o papel do “cover” */
}
form.modelo .form_item_container .form_item .label_element_container .preview_input_file_container .preview_item > a i {
    font-size: 40px;
}
form.modelo .form_item_container .form_item .label_element_container .preview_input_file_container .preview_item .preview_item_view_button {
    display: flex;
    justify-content: center;
    align-items: center;
    /* width: 50px; */
    padding: 10px;
    background: var(--cor_light_purple);
    color: var(--cor_dark_purple);
}
form.modelo .form_item_container .form_item .label_element_container .preview_input_file_container .preview_item .preview_item_remove_button {
    display: flex;
    justify-content: center;
    align-items: center;
    /* width: 50px; */
    padding: 10px;
    background: var(--cor_red);
    color: var(--cor_darker_red);
}
form.modelo .form_item_container .form_item .label_element_container .preview_input_file_container .preview_item div:hover {
    opacity: 0.8;
}
form.modelo .form_item_container .form_item .container_prefex_sufix input {
    /* border: none; */
}
form.modelo .form_item_container .form_item .container_prefex_sufix .prefix,
form.modelo .form_item_container .form_item .container_prefex_sufix .sufix {
    padding: 0px 10px;
    align-content: center;
    color: #666;
}
form.modelo .form_item_container .form_item .container_prefex_sufix .prefix {
    /* padding: 0px 10px; */
}
form.modelo .form_item_container .form_item .container_prefex_sufix .sufix {
    
}

form.modelo .form_item_container .form_item label.label_title {
    
}
form.modelo .form_item_container .form_item label.label_title.label_for_input_file {
    /* width: 100%; */
    font-size: 16px;
    background: #fff;
    top: 0px;
    transform: none;
    transition: none;
    padding: calc(var(--padding) * 2);
    position: relative;
    border-radius: 5px;
    border: 1px dashed #ccc;
    /* box-shadow: 0px 4px 4px -5px #666; */
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: var(--gap_md);
}
form.modelo .form_item_container .form_item label.label_title.label_for_input_file::before {
    font-family: var(--fa-style-family, "Font Awesome 6 Free");
    font-weight: var(--fa-style, 400);
    font-style: normal;
    font-variant: normal;
    content: var(--fa);
    --fa: "\f03e";
    font-size: 30px;
    opacity: 0.1;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
}
form.modelo .form_item_container .form_item label.label_title.label_for_input_file.dragover,
form.modelo .form_item_container .form_item label.label_title.label_for_input_file:hover {
    /* background: #ffffff80; */
    /* opacity: 0.6; */
}
form.modelo .form_item_container .form_item:has(input[readonly]) label.label_title,
form.modelo .form_item_container .form_item:has(input[disabled]) label.label_title {
    border-left: none;
}
form.modelo .form_item_container .form_item label.label_title span {
    font-weight: bold;
}

form.modelo .form_item_container .form_item.item_type_checkbox {
    align-items: flex-start;
}
form.modelo .form_item_container .form_item.item_type_select label.label_title {
    cursor: pointer;
}
form.modelo .form_item_container .form_item label.label_title b {
    font-size: inherit;
}
form.modelo .form_item_container.flex_row .form_item label.label_title {
    flex-grow: 0;
}
form.modelo .form_item_container .form_item:has([type="date"]) label,
form.modelo .form_item_container .form_item label.input_focus {
    top: 0px;
    left: 0px;
    transform: translateY(0%);
    padding-top: 5px;
    font-size: 12px;
    display: flex;
    align-items: start;
    gap: 3px;
}
form.modelo .form_item_container .form_item.item_type_select label.input_focus {
    padding-top: 4px;
    pointer-events: none;
}
form.modelo .form_item_container .form_item.item_type_select input {
    /* caret-color: transparent; */
    cursor: pointer;
}
form.modelo .form_item_container .form_item.item_type_select #fontes_CHO + .ts-wrapper.multi .ts-control > div {
    background: #9588f9;
    background: #b0a5ff;
    color: #20124d;
    font-weight: bold;
}
form.modelo .form_item_container .form_item.item_type_select #fontes_GOR + .ts-wrapper.multi .ts-control > div {
    background: #f6b26b;
    color: #783f04;
    font-weight: bold;
}
form.modelo .form_item_container .form_item.item_type_select #fontes_PTN + .ts-wrapper.multi .ts-control > div {
    background: #ef76a5;
    background: #f195b8;
    color: #741b47;
    font-weight: bold;
}
form.modelo .form_item_container .form_item.item_type_checkbox label.label_title,
form.modelo .form_item_container .form_item.item_type_div label.label_title,
form.modelo .form_item_container .form_item.item_type_button label.label_title,
form.modelo .form_item_container .form_item.item_type_radio label.label_title {
    position: relative;
    transform: none;
    padding: 0px;
    margin-bottom: 10px;
    top: 0px;
    left: 0px;
    border: none;
    box-shadow: none;
    font-size: 14px;
    
    padding: 5px 10px;
    width: fit-content;
    background: var(--cor_white);
    /* color: var(--cor_principal_escura_escura); */
    border-radius: var(--border_radius);
    box-shadow: 0px 4px 4px -5px #666;
}
form.modelo .form_item_container .form_item.item_type_checkbox label.label_title::before,
form.modelo .form_item_container .form_item.item_type_div label.label_title::before,
form.modelo .form_item_container .form_item.item_type_radio label.label_title::before {
    content: "";
    width: 10px;
    height: 10px;
    transform: rotate(45deg);
    position: absolute;
    border-bottom: hidden;
    bottom: -5px;
    left: 25px;
    background: var(--cor_white);
    box-shadow: 1px 1px 3px -2px #000;
}
form.modelo .form_item_container .form_item.item_type_div label.label_title{
    
}
form.modelo .form_item_container .form_item.item_type_div label.label_title:has(.label_content:empty){
    display: none;
}
form.modelo .form_item_container .form_item .checkbox_item_container {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap_md);
}
form.modelo .form_item_container .form_item.item_type_checkbox .checkbox_item label,
form.modelo .form_item_container .form_item.item_type_radio .checkbox_item label {
    position: relative;
    padding: 8px 10px;
    top: 0px;
    transform: none;
    display: flex;
    align-items: center;
    gap: var(--gap_sm);
    background: #fff;
    box-shadow: 0px 4px 4px -5px #666;
    border-radius: 5px;
}
form.modelo .form_item_container .form_item.item_type_radio .checkbox_item label:has(.no_dot.checked) {
    /* background: var(--cor_blue) !important; */
    /* color: var(--cor_white) !important; */
    
    /* outline: 3px solid var(--cor_blue); */
    border-radius: 5px;

    scale: 1;
    transform-origin: center;
}
form.modelo .form_item_container .form_item.item_type_radio .checkbox_item label:has(.no_dot.checked) * {
    color: inherit !important;
}
form.modelo .form_item_container .form_item.item_type_radio .checkbox_item label:has(.no_dot.unchecked) {
    opacity: 0.7;
    /* scale: 0.95;
    transform-origin: center; */
}

form.modelo .form_item_container .form_item .checkbox_item:first-of-type {
    /* margin-top: 10px; */
}
form.modelo .form_item_container .form_item .checkbox_item {
    display: flex;
    flex-direction: row;
    gap: var(--gap_md);
}
form.modelo .form_item_container .form_item .checkbox_item:hover {
    opacity: 0.8;
}
form.modelo .form_item_container .form_item .checkbox_item * {
    cursor: pointer;
}
form.modelo .form_item_container .form_item.item_type_radio input.no_dot{
    flex-grow: 0 !important;
    font-size: 14px;
    display: none;
}
form.modelo .form_item_container .form_item .descricao {
    font-size: 12px;
    color: #666;
    font-style: italic;
    display: inline-block;
    padding-left: 25px;
    position: relative;
}
form.modelo .form_item_container .form_item .descricao > *:not(i) {
    font-size: 12px;
}
form.modelo .form_item_container .form_item .descricao::before {
    font-family: bootstrap-icons !important;
    font-style: normal;
    font-weight: 900 !important;
    content: "\F132";

    position: absolute;
    top: 2px;
    left: 7px;
}
form.modelo .form_item_container .form_item .descricao:empty {
    display: none;
}

form.modelo .form_item_container .form_item input {
    /* flex-grow: 1; */
    position: relative;
    font-size: 14px;
}
form.modelo .form_item_container .form_item input::placeholder {
    position: absolute;
    bottom: 2px;
    right: 5px;
    font-size: 11px;
}
form.modelo .form_item_container.flex_row .form_item input {
    flex-grow: 1;
}

form.modelo .form_item_container .form_item button {
    /* border-radius: var(--border_radius); */
}


/* CSS ESPECIFICOS */

form.modelo .form_group[data-group=registro_profissional]{
    
}
form.modelo .form_group[data-group=registro_profissional] .container_title{
    border-bottom-color: var(--cor_dark_yellow);
}
form.modelo .form_group[data-group=registro_profissional] .form_group_title{
    background: var(--cor_yellow);
    color: var(--cor_dark_yellow);
}
form.modelo .form_group[data-group=registro_profissional] .label_content{
    color: var(--cor_dark_yellow);
}
form.modelo .form_group[data-group=registro_profissional] textarea{
    color: var(--cor_dark_yellow);
}
form.modelo .form_group[data-group=registro_profissional] textarea:focus{
    outline: 3px solid var(--cor_dark_yellow);
}

@media (max-width: 600px){

    form.modelo .container_legend{
        display: flex;
        flex-direction: column;
        & legend,
        & .container_action_buttons{
            display: flex;
            & .action_button{
                flex: 1 1 auto;
            }
        }
    }

}



