/* css pou tout paj */
    *{
        padding: 0;
        margin: 0;
        box-sizing: border-box;
        text-decoration: none;
        font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
        font-size: 20px;
        transition: all .2s linear;
    }

    body{
        overflow-x: hidden;
    }

    :root{
        --red: #c2020b;
        --blue: #160a70;
        --yellow: #e6cd28;
        
        /*--green: #0f923f;*/
        /*--light-green: #7cc180;*/
        --green: #2ecc71;
        --dark-green: #27ae60;
        --light-green: #58d68d;

        --greenbg : #75ebb3;
        --greentxt : #0c5532;

        --yellowbg : #f8d796;
        --yellowtxt : #b1790b;

        --redbg : #f8a6a0;
        --redtxt : #550c06;

        --bluebg : #a5cffd;
        --bluetxt : #035dbe;

        --graybg : #b0b0b0;
        --graytxt : #242424;
        
        --white: #ffffff;
        --light-white: #ffffff50;
        
        --black: #000000;
        --light-black: #00000050;
        
        --gray: rgb(102, 101, 101);
        --light-gray: #00000025;
        
        --border: 1px solid var(--light-black);
        --box-shadow: 0 8px 16px rgba(0,0,0,.1);
        --degrade: linear-gradient(to right, var(--white), var(--green));
    }

    ::-webkit-scrollbar{
        width: 8px;
        height: 8px;
    }

    ::-webkit-scrollbar-track{
        background-color: transparent;
    }

    ::-webkit-scrollbar-thumb{
        background-color: var(--green);
    }
/* css pou tout paj */

/* boutton */
    .flexBtn{
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 8px;
    }

    .flexBtn .btn{
        padding: 8px 16px;
        font-size: 17px;
        color: var(--white);
        text-wrap: nowrap;
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        overflow: hidden;
        border: none;
        border-radius: 8px;
        cursor: pointer;
        transition: all 0.3s ease;
        
    }

    .flexBtn .btn:hover{
        cursor: pointer;
        scale: 1.03;
    }

    .flexBtn .btn1{
        background: linear-gradient(135deg, var(--green) 0%, var(--dark-green) 100%);
        color: var(--white);
        box-shadow: 
            0 4px 12px rgba(46, 204, 113, 0.35),
            0 2px 4px rgba(0, 0, 0, 0.1);
    }
    
    .flexBtn .btn1:hover {
        transform: translateY(-2px);
        box-shadow: 
            0 6px 15px rgba(46, 204, 113, 0.45),
            0 3px 6px rgba(0, 0, 0, 0.12);
    }
    
    .flexBtn .btn1:active {
        transform: translateY(-1px);
        box-shadow: 
            0 3px 8px rgba(46, 204, 113, 0.35),
            0 1px 2px rgba(0, 0, 0, 0.1);
    }
    
    .flexBtn .btn1::after {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
        transition: left 0.5s ease;
    }
    
    .flexBtn .btn1:hover::after {
        left: 100%;
    }

    .flexBtn .btn2{
        background-color: var(--blue);
    }

    .flexBtn .btn2{
        background-color: var(--red);
    }
/* boutton */

/* titre */
    h2.titre{
        position: relative;
        left: 50%;
        transform: translateX(-50%);        
        max-width: max-content;
        font-size: 32px;
        font-weight: bolder;
        color: var(--green);
        text-align: center;
        padding: 8px 0;
        margin-bottom: 16px;
    }

    h2.titre::before{
        content: '';
        position: absolute;
        width: 35%;
        height: 3px;
        background-color: var(--red);
        bottom: 0; left: 0;
    }
/* titre */

/* titre backend */
    h2.titreBackend{
        position: relative;
        left: 50%;
        transform: translatex(-50%);
        width: max-content;
        text-align: center;
        font-size: 22px;
        color: var(--black);
        margin-bottom: 16px;
        padding-bottom: 5px;
    }

    h2.titreBackend:before{
        content: '';
        width: 50%;
        height: 3px;
        background: var(--red);
        position: absolute;
        left: 0; bottom: 0;
    }
/* titre backend */

/* section */
    section{
        width: 100%;
        padding: 8px 32px;
        margin: 64px auto;
    }
/* section */

/* form */
    .form_universel{
        width: 40rem;
        margin: 0 auto;
    }

    .form_universel fieldset{
        padding: .8rem;
        border: 1px solid var(--light-gray);
        border-radius: .5rem;
        margin-bottom: 1rem;
    }

    .form_universel fieldset legend{
        padding: .2rem 1rem;
        color: var(--light-gray);
        border: 1px solid var(--light-gray);
        border-radius: .5rem;
    }

    .titre_champ {
        display: flex;
        align-items: center;
        gap: 8px;
        margin-bottom: -.4rem;
    }

    .titre_champ svg{
        fill: var(--green);
    }

    .champ{
        width: 100%;
        margin: .6rem 0;
        border-radius: .3rem;
        border: none;
        outline: none;
        padding: .6rem;
        font-size: 15px;
        background-color: var(--light-gray);
    }

    .champ:focus{
        border: 2px solid var(--green);
        background: none;
    }

    .textarea{
        height: 150px;
        resize: none;
    }

    .champ::placeholder, .textarea::placeholder{
        color: black;
    }

    .customfile{
        width: 100%;
        margin: .6rem 0;
        border-radius: .3rem;
        border: 1px solid var(--green);
    }

    .customfile::-webkit-file-upload-button{
        width: 9rem;
        padding: .6rem;
        color: var(--white);
        border: none;
        border-radius: .3rem;
        cursor: pointer;
        background-color: var(--green);
        color: white;
    }    
    
    .flex_champ{
        display: flex;
        justify-content: space-between;
        column-gap: 1rem;
    }
    
    .flex_champ div{
        width: 100%;
    }
/* form */

/* empty */
    .empty{
        width: 70%;
        margin: 0 auto;
        margin-bottom: 1rem;
        border:var(--border);
        border-radius: .3rem;
        padding: .5rem;
        text-align: center;
        font-size: 19px;
        background: var(--light-gray);
        color: var(--white);
        box-shadow: var(--box-shadow);
    }
/* empty */

/* table */    
    table{
        width: 100%;
        margin: 0 auto;
        border-collapse: collapse;
    }
    
    .scroll_table{
        overflow-x: auto;
        padding-bottom: 16px;
    }

    .scroll_table::-webkit-scrollbar{
        width: .2rem;
        height: .2rem;
    }

    .scroll_table:hover::-webkit-scrollbar{
        width: .4rem;
        height: .4rem;
    }

    .scroll_table::-webkit-scrollbar-track{
        background-color: #ccc;
        border-radius: .5rem;
    }

    .scroll_table::-webkit-scrollbar-thumb{
        background-color: var(--green);
        border-radius: .5rem;
    }

    thead{
        background: var(--green);
        background-size: contain;
        color: white;
        position: sticky;
        top: -1px;
        z-index: 1;
    }

    thead th{
        padding: 8px;
        text-wrap: nowrap;
        font-weight: 500;
        text-align: center;
        text-transform: capitalize;
    }

    thead th:first-child{
        border-top-left-radius: 16px;
        border-bottom-left-radius: 16px;
    }

    thead th:last-child{
        border-top-right-radius: 16px;
        border-bottom-right-radius: 16px;
    }

    tbody td{
        padding: 16px .3rem;
    }

    tbody tr:nth-child(even){
        background: var(--light-gray);
    }

    th, td{
        border: none;
    }

    /* btn action */
        .action{
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 8px;
            flex-wrap: nowrap;
        }

        .btn_action{
            text-wrap: nowrap;
            padding: 5px 8px;
            border: none;
            cursor: pointer;
            color: var(--white);
            font-size: 14px;
            border-radius: 8px;
            text-transform: capitalize;
        }

        .btn_action:hover{
            scale: 1.05;
        }
        
        .action1{
            background: var(--bluetxt);
        }
        .action2{
            background: var(--red);
        }
        .action3{
            background: var(--green);
        }        
    /* btn action */
/* table */


/* responsive */
    /* font */
        @media screen and (max-width: 650px) {
            *{
                font-size: 18px;
            }
        }

        @media screen and (max-width: 450px) {
            *{
                font-size: 16px;
            }
        }
    /* font */

    /* bouton */
        @media screen and (max-width: 650px) {
            .flexBtn .btn{
                padding: 7px 15px;
                font-size: 17px;
            }
        }

        @media screen and (max-width: 450px) {
            .flexBtn .btn{
                padding: 6px 14px;
                font-size: 16px;
            }
        }
    /* bouton */

    /* titre */
        @media screen and (max-width: 650px) {
            h2.titre{
                font-size: 28px;
            }
        }

        @media screen and (max-width: 450px) {
            h2.titre{
                font-size: 24px;
            }
        }
    /* titre */
    
    /* form */
        @media screen and (max-width: 800px) {
            .form_universel{
                width: 100%;
            }
        }

        @media screen and (max-width: 480px) {
            .titre_champ, .champ, .customfile{
                font-size: 14px;
            }
        }
    /* form */

    /* empty */
        @media screen and (max-width: 950px){
            .empty{
                font-size: 16px;
            }
        }

        @media screen and (max-width: 610px){
            .empty{
                font-size: 15px;
            }
        }

        @media screen and (max-width: 480px){
            .empty{
                font-size: 14px;
            }
        }

        @media screen and (max-width: 380px){
            .empty{
                font-size: 13px;
            }
        }
    /* empty */
/* responsive */
