
:root{
    --cor-branco: #ecebec;

    --cor-preto: #1A1A1A;
    --cor-preto-fraco: #414141;
    --cor-preto-fraco-2: #262626;
    --cor-preto-contraste: #131313;

    --cor-dourado: #D1AE74;
    --cor-dourado-fraco: #d9bb8c;
    --cor-dourado-contraste: #c69a53;

    --cor-vermelho: #4D120E;
    --cor-vermelho-contraste: #2b0a08;
    --cor-vermelho-fraco: #6c1a14;

    --cor-body: var(--cor-branco);
    --cor-background-card: #fff;
    --cor-texto: var(--cor-preto);
    --cor-texto-sub: var(--cor-preto);
    --cor-principal: var(--cor-vermelho);
    --cor-texto-principal: #fff;
    --cor-botao: var(--cor-vermelho-fraco);
    --cor-botao-2: var(--cor-vermelho);

    --cor-background-input: #fff;
    --cor-background-contraste: #f5f5f5;
    --cor-hover-contraste: #ccc;
}



/* // =============== | TEMA CLARO | =============== \\ */
:root[data-theme="light"]{

    --cor-body: var(--cor-branco);
    --cor-background-card: #fff;
    --cor-texto: var(--cor-preto);
    --cor-texto-sub: var(--cor-preto);
    --cor-principal: var(--cor-vermelho);
    --cor-texto-principal: #fff;
    --cor-botao: var(--cor-vermelho-fraco);
    --cor-botao-2: var(--cor-vermelho);

    --cor-background-input: #fff;
    --cor-background-contraste: #f5f5f5;
    --cor-hover-contraste: #ccc;
    
}
/* \\ ============================================== // */


/* // =============== | TEMA ESCURO | ============== \\ */
:root[data-theme="dark"]{
    
    --cor-body: var(--cor-preto);
    --cor-background-card: var(--cor-preto-contraste);
    --cor-texto: #fff;
    --cor-texto-sub: #ccc;
    --cor-principal: var(--cor-dourado);
    --cor-texto-principal: var(--cor-preto-fraco);
    --cor-botao: var(--cor-preto-fraco-2);
    --cor-botao-2: var(--cor-dourado);

    --cor-background-input: var(--cor-preto-fraco-2);
    --cor-background-contraste: var(--cor-preto-contraste);
    --cor-hover-contraste: var(--cor-preto-fraco);
    
}
/* \\ ============================================== // */




body{
    background-color: var(--cor-body);
}

*{
  font-family: "Montserrat", sans-serif;
}

h1,
h2,
b,
strong{
    font-weight: bold;
}

.body-supreme{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    min-height: 100vh;
}

a{
    text-decoration: none;
}

p{
    line-height: 130%;
}




/* // ================ | CONTAINER GERAL | ================ \\ */
.container-geral{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}

.container-geral *{
    transition: 0.3s;
}


/* // ============= | BOTÕES | ============= \\ */
.btn-danger{
    background: var(--cor-vermelho);
    border: 3px solid var(--cor-vermelho-vermelho);
}
.btn-danger:hover{
    background: var(--cor-vermelho-contraste);

}
.btn-warning{
    background-color: var(--cor-principal);
    border: 3px solid var(--cor-principal);
    color: var(--cor-background-input);
}
.btn-warning:hover{
    background: transparent;
    color: var(--cor-principal);
    border: 3px solid var(--cor-principal);

}
.btn{
    min-width: 50px;
    padding: 0.6rem 1rem;
    
}

/* \\ ====================================== // */


/* // ============== | MAIN | ============== \\ */
.container-geral.info main{
    align-content: center;
}
.container-geral > main{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    /* background: #272727; */
    background: transparent;
    min-height: 90vh;
    padding: 1.5rem 1rem;
    border-radius: 24px 0px 0px 0px;
    align-content: start;
}

.container-geral h1{
    text-align: center;
    width: 100%;
    color: var(--cor-texto);
}
.container-geral p{
    width: 100%;
    text-wrap: balance;
    color:  var(--cor-texto-sub);
    text-align: center;
}

/* // ======= | HEADER | ===== \\ */
.container-geral > main > header{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 1.5rem;
}
.container-geral > main > header h1{
    text-align: left;
}
.container-geral > main > header p{
    text-align: left;
}
/* \\ ======================== // */

/* // ======== | NAV | ======= \\ */
.container-geral > main > nav{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

.container-geral > main > nav figure{
    width: 100%;
    max-width: 495px;
    aspect-ratio: 16 / 9;
    border-radius: 6px;
    overflow: hidden;
    border: 2px solid var(--cor-dourado);
    margin: 0rem;
}
.container-geral > main > nav figure img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.container-geral > main > nav > a{
    width: auto;
    padding: 0.5rem 1.5rem;
    border-radius: 8px;
    background-color: var(--cor-botao-2);
    border: 2px solid var(--cor-botao-2);
    color: #fff;
    font-weight: bold;
    margin: 0.5rem;
}

.container-geral > main > nav > a:hover{
    transform: scale(1.03);

}
/* \\ ======================== // */
/* \\ ====================================== // */



/* // ======= | CAMPOS | ===== \\ */
.container-geral .form-group{
    display: flex;
    flex-wrap: wrap;
}
.container-geral .form-group .form-control{
    background-color: var(--cor-background-input);
    min-height: 48px;
    color: var(--cor-texto);
    border: 1px solid var(--cor-background-input);
    border-radius: 6px;
}
.container-geral .form-group .form-control[readonly] {
  background-color: #f5f5f5;
  cursor: not-allowed;
  opacity: 0.8;
}
.container-geral .form-group label small{
    color: var(--cor-dourado);
    font-size: 0.75rem;
}
.container-geral .form-group label{
    width: 100%;
    color: var(--cor-texto);
    font-weight: 500;
    line-height: 100%;
    margin-bottom: 0.5rem;
}
.container-geral .form-group p{
    width: 100%;
    margin-top: 0.5rem;
    background: var(--cor-hover-contraste);
    text-align: left;
    padding: 0.7rem;
    border-radius: 0px 0px 8px 8px;
    color: var(--cor-texto);
    margin: 0;
}
.container-geral .form-group:not([class*="col"]){
    width: 100%;
}
.container-geral h3{
    width: 100%;
    color: var(--cor-principal);
    line-height: 100%;
    margin-bottom: 0rem;
}
.container-geral h3:not(:first-child){
    margin-top: 1.5rem;
}
.container-geral form{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin: 0rem !important;
}
.container-geral hr{
    width: calc(100% - 0.6rem);
    opacity: 25%;
    background-color: var(--cor-principal);
}
.container-geral * + hr{
    margin-top: 3rem;
}

.container-geral form footer{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin-top: 1.5rem;
    padding-top: 1.5rem;
}
/* \\ ======================== // */



/* \\ ===================================================== // */






/* // ===================== | MIDIA | ===================== \\ */
.container-midia{
    width: 100%;
    display: flex;
    padding: 0rem;
    flex-wrap: wrap;
}
.card-midia{
    margin-bottom: 1rem;
    display: flex;
}
.card-midia > main{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    padding: 1rem;
    border-radius: 8px;
    border: 1px solid var(--cor-background-card);
    gap: 1rem;
    background: var(--cor-background-card);
}
.card-midia article{
    width: 100%;
    aspect-ratio: 16 / 9;
    display: block;
}

.card-midia .form-control{
    background: #e5e5e5 !important;
    color: var(--cor-preto) !important;
}

.card-midia article > *{
    width: 100%;
    height: 100%;
    display: block;
}

.card-midia article .media{
    width: 100%;
    height: 100%;
    border-radius: 6px;
    object-fit: cover;
    object-position: center;
}

.card-midia article .contain{
    object-fit: contain;
    padding: 1rem;
    object-position: center;
}


.card-midia .btn{
    width: 100%;
}
/* \\ ===================================================== // */




/* // ================= | SWEET ALERT | ================== \\ */
div:where(.swal2-container){
    --swal2-background: var(--cor-background-card);
    --swal2-title-color: var(--cor-principal);
    --swal2-html-container-color: var(--cor-texto);
    --swal2-confirm-button-background-color: var(--cor-principal);
    --swal2-cancel-button-background-color: var(--cor-botao);
    --swal2-confirm-button-color: var(--cor-texto-principal);
    --swal2-cancel-button-color: #fff;
}

.swal2-popup{
    background: var(--cor-background-card) !important;
    border: 1px solid var(--cor-hover-contraste) !important;
}

.swal2-success-circular-line-right,
.swal2-success-circular-line-left,
.swal2-success-fix{
    display: none !important;
}
.swal2-title{
    color: var(--cor-principal) !important;
}
.swal2-html-container{
    color: var(--cor-texto) !important;
}
.swal2-icon.swal2-question,
.swal2-icon.swal2-info{
    color: var(--cor-principal) !important;
    border-color: var(--cor-principal) !important;
}
.swal2-actions .swal2-confirm,
.swal2-actions .swal2-cancel{
    box-shadow: none !important;
}
/* \\ ===================================================== // */






/* // ================ | CONTAINER TABELA | =============== \\ */
.adicionar-imagem{
    width: 100%;
    position: relative;
}
.adicionar-imagem input{
    display: none;
}
.adicionar-imagem img{
    width: 100%;
    aspect-ratio: 16 / 16;
    border-radius: 1200px;
    object-fit: cover;
    object-position: center;
    border: 2px solid var(--cor-principal);
}

.adicionar-imagem div{
    width: auto;
    left: 0;
    bottom: 0;
    padding: 0.45rem 0.95rem;
    border-radius: 6px;
    z-index: 1;
    font-size: 0.85rem;
    font-weight: 600;
    position: absolute;
    cursor: pointer;
    color: #fff;
    background-color: var(--cor-vermelho-fraco);
}
/* \\ ===================================================== // */




/* // ==================== | FANCYBOX | =================== \\ */
.fancybox__container{
    z-index: 1060;
}
/* \\ ===================================================== // */






/* // ================ | CONTAINER TABELA | =============== \\ */
.container-tabela{
    width: 100%;
    max-width: 100%;
    display: flex;
    flex-wrap: wrap;
    overflow-y: auto;
    min-width: 300px;
    margin-top: 2rem;
}
.container-tabela > *{
    width: 100%;
}
.container-tabela label{
    color: var(--cor-texto);
}

.container-tabela .col-sm-12.col-md-6{
    padding: 0.5rem 0rem;
}
.container-tabela #table-search_info{
    color: var(--cor-texto);
}
.container-tabela .row{
    margin: 0rem;
}
.container-tabela div{
    padding-left: 0rem !important;
    padding-right: 0rem !important;
}


.table-new tr th{ 
    background-color: var(--cor-background-contraste);
}
.table-new{ 
    background-color: var(--cor-background-card);
    border-radius: 8px;
}
.table-new tr th:first-child{
    border-radius: 8px 0px 0px 0px;
}
.table-new tr th{
    color: #fff;
    padding: 1rem 0.75rem;
    text-align: left;
    color: #D1AE74;
    line-height: 100%;
    border-bottom: 1px solid rgb(255, 255, 255, 15%) !important;
}
.table-new tr td:last-child{
    padding-right: 1rem;
}
.table-new tr td{
    color: var(--cor-texto);
    vertical-align: middle;
    border: none;
    line-height: 100%;
}
.table-new tr:hover{
    background-color: var(--cor-hover-contraste);
}
.table-new tr td small{
    display: block;
    line-height: 150%;
    font-size: 0.85rem;
    margin-top: 0.25rem;
    color: var(--cor-texto-sub);
}
.table-new tr td small i{
    margin-right: 0.5rem;
    color: var(--cor-dourado);
}

.table-new .imagem{
    width: 100%;
    aspect-ratio: 16 / 11;
    display: block;
}

.table-new .imagem.redonda{
    aspect-ratio: 16 / 16;
}

.table-new h2{
    width: 100%;
    font-size: 1.25rem;
    font-weight: bold;
    margin: 0rem;
}

.table-new .imagem.redonda img{
    border-radius: 190px;
    border: 2px solid var(--cor-dourado-fraco)
}
.table-new .imagem img{
    width: 100%;
    border-radius: 8px;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.table-new tr td:last-child div{
    display: flex;
    justify-content: end;
}

.table-new tr th:first-child,
.table-new tr td:first-child{
    text-align: center;
}
/* \\ ===================================================== // */





/* // ==================== | FILTRO | ===================== \\ */
.container-geral .filtro{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 2rem;
}

.container-geral .filtro div{
    width: 100%;
    margin-bottom: 1rem;
}
.container-geral .filtro div button{
    width: 100%;
    border-radius: 4px;
    min-height: 45px;
    text-align: center;
    border: none;
    color: var(--cor-texto-principal);
    background: var(--cor-principal);
}
.container-geral .filtro div .form-control{
    width: 100%;
    min-height: 45px;
    border: none;
    background: var(--cor-background-input);
    color: var(--cor-texto);    
}
.container-geral .filtro div .form-control::placeholder{
    color: #818181;
}
.container-geral .filtro button:hover{
    transform: scale(1.1);
    background-color: var(--cor-dourado);
    color: #fff;
}
/* \\ ===================================================== // */







/* // ================== | SCROLL VAULT | ================= \\ */
.scroll-vault{
    scrollbar-width: thin;
    scrollbar-color: #6b6b6b #1e1e1e;
}

.scroll-vault::-webkit-scrollbar{
    width: 12px;
    height: 12px;
}

.scroll-vault::-webkit-scrollbar-track{
    background: #1e1e1e;
    border-radius: 10px;
}

.scroll-vault::-webkit-scrollbar-thumb{
    border-radius: 10px;
    border: 2px solid #1e1e1e;
    background: linear-gradient(to bottom,#6b6b6b 0%,#6b6b6b 88%,#c40000 88%,#c40000 100%);
}
/* \\ ===================================================== // */





/* // ================== | TABLE VENDAS | ================= \\ */
:root{
    --tv-bg: var(--cor-background-card);
    --tv-card: var(--cor-background-card);
    --tv-border: var(--cor-hover-contraste);
    --tv-line: var(--cor-hover-contraste);
    --tv-text: var(--cor-texto);
    --tv-muted: var(--cor-texto-sub);
}

/* scroll só quando tiver .scroll-valt */
.scroll-valt{
    scrollbar-width: thin;
    scrollbar-color: var(--cor-principal) var(--cor-background-contraste);
}
.scroll-valt::-webkit-scrollbar{ width:12px; height:12px; }
.scroll-valt::-webkit-scrollbar-track{ background:var(--cor-background-contraste); border-radius:10px; }
.scroll-valt::-webkit-scrollbar-thumb{
    border-radius:10px;
    border:2px solid var(--cor-background-contraste);
    background: var(--cor-principal);
}

/* ===== table-venda ===== */
.table-venda{
    border: 1px solid var(--tv-border);
    border-radius: 14px;
    overflow: hidden;
    max-height: 650px;
    background: var(--tv-card);
    box-shadow: 0 20px 50px rgba(0,0,0,.45);
}

/* scroll direto no table-venda (não é filho) */
.table-venda{
    overflow: auto;
    background: var(--tv-bg);
}

.table-venda table{
    width: 100%;
    border-collapse: collapse;
    min-width: 720px;
}

.table-venda thead th{
    text-align: left;
    font-size: 14px;
    color: var(--tv-muted);
    font-weight: 600;
    padding: 14px 18px;
    background: var(--cor-background-contraste);
}

.table-venda tbody td{
    padding: 14px 18px;
    font-size: 14.5px;
    border-top: 1px dashed var(--tv-line);
    vertical-align: middle;
    color: var(--tv-text);
}

.table-venda tbody tr:hover{
    background: var(--cor-background-contraste);
}

.table-venda .col-name{ width: 42%; }
.table-venda .col-date{ width: 18%; color: var(--tv-muted); }
.table-venda .col-cat { width: 22%; color: var(--tv-muted); }
.table-venda .col-amt { width: 18%; text-align: right; font-variant-numeric: tabular-nums; }

.table-venda .name-cell{
    display: flex;
    align-items: center;
    gap: 12px;
}

.table-venda .avatar{
    width: 34px;
    height: 34px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .6px;
    color: rgba(255,255,255,.92);
    /* border: 1px solid rgba(255,255,255,.10); */
    box-shadow: 0 6px 18px rgba(0,0,0,.25);
    flex: 0 0 34px;
}

.table-venda .avatar.a-purple{
    background: radial-gradient(circle at 30% 30%, #b48cff 0%, #6b35ff 60%, #3a1dbd 100%);
}
.table-venda .avatar.a-green{
    background: radial-gradient(circle at 30% 30%, #8bff9d 0%, #27a84a 55%, #13612a 100%);
}
.table-venda .avatar.a-blue{
    background: radial-gradient(circle at 30% 30%, #7dd7ff 0%, #1490ff 55%, #0b4aa0 100%);
}
.table-venda .avatar.a-slate{
    background: radial-gradient(circle at 30% 30%, #b0b7c4 0%, #5b667a 60%, #2b3240 100%);
}
.table-venda .avatar.a-red{
    background: radial-gradient(circle at 30% 30%,
        #ff9a90 0%,
        var(--cor-vermelho) 55%,
        #2b0706 100%
    );
}
.table-venda .avatar.a-gold{
    background: radial-gradient(circle at 30% 30%,
        #ffe8bf 0%,
        var(--cor-dourado) 55%,
        #7a5a2a 100%
    );
}

/* sua variável (se ainda não estiver definida em algum :root / escopo) */
:root{
  --cor-vermelho: #4D120E;
}

.table-venda .person{
    font-weight: 650;
    color: var(--tv-text);
}

/* ===== Mobile ===== */
@media (max-width: 640px){

  /* tira a largura mínima que força scroll horizontal */
  .table-venda table{
    min-width: 0;
  }

  /* compacta paddings e fonte */
  .table-venda thead th{
    padding: 12px 12px;
    font-size: 13px;
  }
  .table-venda tbody td{
    padding: 12px 12px;
    font-size: 13.5px;
  }

  /* some com 2 colunas no mobile (Data e Categoria) */
  .table-venda .col-date,
  .table-venda .col-cat{
    display: none;
  }

  /* deixa Nome ocupar mais e Amount menor */
  .table-venda .col-name{ width: auto; }
  .table-venda .col-amt{
    width: 1%;
    white-space: nowrap;
  }

  /* avatar menor */
  .table-venda .avatar{
    width: 30px;
    height: 30px;
    flex-basis: 30px;
    font-size: 11px;
  }

  /* evita quebrar feio no nome */
  .table-venda .person{
    word-break: break-word;
  }
}
/* \\ ===================================================== // */










/* // ============== | CONFIG PÓS BOOTSTRAP | ============= \\ */
div.dataTables_filter input{
    background: var(--cor-botao);
    border-color: var(--cor-botao);
    color: #fff;
}

div.dataTables_length select{
    background-color: var(--cor-dourado);
    color: #fff;
    border-color: var(--cor-dourado-contraste);
}
.page-item.active .page-link{
    background-color: var(--cor-dourado) !important;
    border-color: var(--cor-dourado-contraste) !important;
}
.page-link{
    background: var(--cor-background-card) !important;
    border-color: var(--cor-background-card) !important;
    color: var(--cor-texto) !important;
}
/* \\ ===================================================== // */












/* /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\| 992 |/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\  */
@media(min-width: 992px){

    .body-supreme{
        flex-wrap: nowrap;
        align-content: start;
        align-items: start;
    }


    /* // ================ | CONTAINER GERAL | ================ \\ */

    /* // ============== | MAIN | ============== \\ */
    .container-geral > main{
        padding: 3rem 2rem;
        padding-top: 1rem;
        padding-left: 1rem;
    }
    /* // ======= | HEADER | ===== \\ */
    .container-geral > main > header:has(+ nav){
        width: 50%;;
    }
    /* \\ ======================== // */

    /* // ======== | NAV | ======= \\ */
    .container-geral > main > header + nav{
        width: 50%;
        justify-content: end;
    }
    .container-geral > main > nav > a{
        margin: 1rem;
        margin-right: 0rem;
    }
    /* \\ ======================== // */

    /* \\ ====================================== // */

    /* \\ ===================================================== // */



    /* // ===================== | MIDIA | ===================== \\ */
    .card-midia{
        padding: 0.5rem;
    }
    .card-midia .col-lg-6{
        width: 47.5%;
    }
    /* \\ ===================================================== // */




    /* // ==================== | FILTRO | ===================== \\ */
    .container-geral .filtro{
        flex-wrap: nowrap;
    }

    .container-geral .filtro div{
        margin: 0rem;
        padding-right: 1rem;
    }
    .container-geral .filtro div:last-child{
        padding: 0rem;
    }

    .container-geral .filtro div:has(> button){
        max-width: 60px;
    }
    .container-geral .filtro div:has(> .btn-secondary){
        max-width: initial;
        width: initial;
    }
    /* \\ ===================================================== // */



}
/* /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/  */
