.bloc.account {
    margin-top: var(--height-header);
    background-color: var(--color-bg-grey);
}
.bloc.account.control{
    border: 10px red solid;
}

.bloc.account .button.disabled{
    background-color: lightgray !important;
    color: gray !important;
}

.bloc.account .button.disabled span{
    margin-left: 10px;
}
.bloc.account span.svg.turn svg{    
    animation: rotation 1500ms infinite ease-in-out;   
}

@keyframes rotation {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

:root {    
    --color-grey: #8d9aa9;
    --bezier: cubic-bezier(0.65, 0.25, 0.56, 0.96);
}
/*************************/
/* TEST PWD              */
/*************************/

.bloc.account .validpwd{
    background-color: #F5F5F5;
    padding: var(--gap);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.bloc.account .validpwd div{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    color: grey;
}
.bloc.account .validpwd div.success{
    color: green;
}
.bloc.account .validpwd div.error{
    color: red;
}

.bloc.account .validpwd div span{
    line-height: 0;
    margin-right: var(--gap-xxs);
}

/*************************/
/* FORMULAIRES           */
/*************************/

.bloc.account .form {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: var(--gap);
    width: 100%;
    margin-top: var(--gap);
    margin-bottom: var(--gap);
}

.bloc.account .form .input {
    display: flex;
    flex-direction: column;
    gap: var(--gap);
    width: 100%;
}

.bloc.account .form .input .group,
.bloc.account .form .input .subgroup {
    display: flex;
    flex-direction: column;
    gap: var(--gap-xs);
    width: 100%;
}
.bloc.account .form .input .group.sub {
    flex-direction: row;
    gap: var(--gap);
}

.bloc.account.login .box .form .input .group.descritption {
    display: none;
    visibility: hidden;
}

.bloc.account .form .input .group input:disabled,
.bloc.account .form .input .group select:disabled,
.bloc.account .filter input:disabled{
    background-color: #CCC;
}
.bloc.account .form .input .group input,
.bloc.account .form .input .group select,
.bloc.account .form .input .group textarea,
.bloc.account .filter input{
    background-color: #F5F5F5;
    padding: 8px;
    width: 100%;
    border: 2px solid transparent;  
    border-radius: 10px;  
}

.bloc.account .form .input .group input::placeholder,
.bloc.account .filter input::placeholder{
    font-style: italic;
    color: var(--color-dark-grey);
}

.bloc.account .form .input .group input:focus,
.bloc.account .filter input:focus{
    outline: none;
    border: 2px solid var(--color-input-focus);
    background-color: var(--color-white);
    border-radius: 17px;
}

.bloc.account .form .form-buttons{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: var(--gap);
}

.bloc.account .filter{
    display: flex;
    flex-direction: column;
    width: 100%;
}

.bloc.account .message{    
    font-size: var(--size-p);
    line-height: var(--size-p-height);    
    width: 100%;
}

.bloc.account .message.danger{
    margin-top: var(--gap);
    padding: 10px 20px;
    border: 1px solid var(--color-message-red-border);
    color: var(--color-message-red-color);
    background-color: var(--color-message-red-back);
}
.bloc.account .message.success{
    margin-top: var(--gap);
    padding: 10px 20px;
    border: 1px solid var(--color-message-green-border);
    color: var(--color-message-green-color);
    background-color: var(--color-message-green-back);
}

.bloc.account .text-align-left{
    text-align: left;
}
.bloc.account .text-align-right{
    text-align: right;
}


.bloc.account .flex-center-center{
  display: flex;
  align-items: center;
  justify-content: center;  
}

/*************************/
/* TABLE *****************/
/*************************/

.bloc.account table {
    width: 100%;    
    border-collapse: separate;
    border-spacing: 0 var(--gap);
 }

.bloc.account table thead {
    border: none;
    border-spacing: var(--gap-xs) 0;
}

.bloc.account table thead th {    
    font-weight: normal;
    text-align: left;
    font-size: 1.2rem;
    position: relative;
    color: var(--color-grey);
    height: 40px;
    text-align: center;
}
.bloc.account table thead th .th-container {
    border-radius: 50px;
    border: 1px solid var(--color-grey);
    padding: 0 var(--gap);
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.bloc.account table thead th .group {
    border-radius: 50px;
    border: 1px solid var(--color-grey);
    overflow: hidden;
}

.bloc.account table thead th:not(:last-child) .th-container {
    margin-right: var(--gap-xs);
}

.bloc.account table thead th.sortable,
.bloc.account table.sortable thead th{
    cursor: pointer;
}

.bloc.account table thead th span {
    position: absolute;
    right: 10px;
    top: 50%;   
    transform: translate(0, -50%);
 }

.bloc.account table thead th span.asc {
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 320 512"><path fill="grey" d="M182.6 137.4c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8H288c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-128-128z"/></svg>');
}
.bloc.account table thead th span.desc {
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 320 512"><path fill="grey" d="M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z"/></svg>');
}

.bloc.account table thead th .group input {
    text-align: center;
}

.bloc.account table.click-on-line tbody tr,
.bloc.account table tbody tr {
    position: relative;
    cursor: pointer;
    transition: all 300ms ease-in-out;
}

.bloc.account table tbody tr {
    padding: var(--gap);
    border-radius: 15px;
    background-color: var(--color-white);
    box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}

.bloc.account table td {
    border: none;
    padding: var(--gap-xs);
    font-size: var(--size-p);
    color: var(--color-blue);
    height: 100%;
}
.bloc.account table td:first-child {
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    border-left: 2px solid transparent;
}
.bloc.account table td:last-child {
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    border-right: 2px solid transparent;
}

.bloc.account table td .tdcontainer {
    display: flex;
    flex-direction: row;
    gap: var(--gap);
    justify-content: flex-start;
    align-items: center;
}

.bloc.account table td img {
    width: 25px;
}

.bloc.account table td .button.account.blue {
    width: 100px;
    min-width: 100px;
    max-width: 100px;
    padding: var(--gap-xs) var(--gap);
}

/* Bordures au survol */
.bloc.account table tbody tr:hover {
    background-color: var(--color-blue-trans-plus);
}

.bloc.account table tbody tr td {
    border-top: 2px solid transparent;
    border-bottom: 2px solid transparent;
    text-align: center;
}

.bloc.account table tbody tr:hover td {
    border-top: 2px solid var(--color-blue-trans-plus);
    border-bottom: 2px solid var(--color-blue-trans-plus);
}

.bloc.account table tbody tr:hover td:first-child {
    border-left: 2px solid var(--color-blue-trans-plus);
}

.bloc.account table tbody tr:hover td:last-child {
    border-right: 2px solid var(--color-blue-trans-plus);
}

/* bottom admin */
.bloc.account.admin table td:first-child {
    display: flex;
    flex-direction: row;
    gap: var(--gap-3);
    align-items: center;
    justify-content: flex-start;
    min-height: 54px;
}

.bloc.account .bottom {
    display: flex;
    flex-direction: column;
    gap: var(--gap);
    align-items: flex-start;
    max-width: 1200px;
}

.bloc.account.admin .bottom {
    align-items: flex-end;
}

.bloc.account.admin .bottom > .button.account.blue {
    padding: var(--gap-xs) var(--gap);
    width: 150px;
    justify-content: space-evenly;
    min-width: 0;
}

/* TODO C'EST QUOI CE CODE ICI ????? */
/* Mis en commentaire le 10/05/2025 */ 
/* .bloc.account.login .box form .input .group input::placeholder {
    color: #CCC;
}
.bloc.account.login .box form .input .group input:focus-visible {
    outline: none;
    border: 2px solid var(--color-blue);
} */
/* TODO C'EST QUOI CE CODE ICI ????? */ 



/*************************************/
/* COMMUN A TOUS *********************/
/*************************************/
.bloc.account .wrapper {
    height: 100%;
    display: flex;
    flex-direction: row;
}

/*************************************/
/* MENU DE GAUCHE COMMUN A TOUS ******/
/*************************************/
.bloc.account .wrapper .left {
    width: 20%;
    min-width: 280px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--gap-2);
    padding: var(--gap-5) 0;
    background-color: var(--color-white);
}

.bloc.account .wrapper .left .top {
    display: flex;
    flex-direction: column;
    gap: var(--gap);
    justify-content: center;
    align-items: center;
}

.bloc.account .wrapper .left .top .patient-picture-id,
.bloc.account .wrapper .left .top .doctor-picture-id {
    border: 1px solid var(--color-blue);
    border-radius: 50%;
    height: 80px;
    width: 80px;
    position: relative;
    overflow: hidden;
    background-color: var(--color-blue);
    color: var(--color-white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.2rem;
    font-weight: var(--font-text-bold);
    text-transform: uppercase;
}
.bloc.account .wrapper .left .top .patient-picture-id img,
.bloc.account .wrapper .left .top .doctor-picture-id img {
    z-index: 0;
}

.bloc.account .wrapper .left .top .patient-name,
.bloc.account .wrapper .left .top .doctor-name {
    font-size: 2.2rem;
    font-weight: var(--font-text-bold);
    text-align: center;
    text-transform: capitalize;
}

.bloc.account .wrapper .left .top .patient-label,
.bloc.account .wrapper .left .top .doctor-label
 {
    font-size: 2.6rem;
    font-weight: var(--font-text-regular);
}

.bloc.account .wrapper .left .top a,
.bloc.account .wrapper .left .top .submenu.personal {
    width: 150px !important;
    min-width: 150px !important;
    padding: var(--gap-xs) !important;
    cursor: pointer;
}

.bloc.account .wrapper .left .dashboard-menu {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--gap);
}

.bloc.account .wrapper .left .submenu {
    padding: var(--gap) var(--gap-2);
    color: var(--color-black);
    background-color: var(--color-white);
    border: 1px solid var(--color-black);
    border-radius: 50px;
    transition: all 300ms ease-in-out;
    width: 100%;
    min-width: 270px;
    text-align: center;
    font-size: 1.4rem;
    font-weight: var(--font-text-bold);
    position: relative;
}
.bloc.account .wrapper .left .submenu.personal {
    font-size: 1.2rem;
    font-weight: var(--font-text-semi-bold);
    margin-bottom: var(--gap-3);
    width: 150px !important;
    min-width: 150px !important;
    padding: var(--gap-xs) !important;
}
.bloc.account .wrapper .left .dashboard-menu .submenu.selected,
.bloc.account .wrapper .left .dashboard-menu .submenu.blue.selected,
.bloc.account .wrapper .left .dashboard-menu .submenu:hover,
.bloc.account .wrapper .left .submenu:hover {
    color: var(--color-white);
    background-color: var(--color-black);
    border-color: var(--color-black);
}
.bloc.account .wrapper .left .dashboard-menu .submenu.blue{
    color: var(--color-white);
    background-color: var(--color-blue);
    border: 1px solid var(--color-blue);
    border-left: none;     
}
.bloc.account .wrapper .left .dashboard-menu .submenu.blue:hover{
    color: var(--color-blue);
    background-color: var(--color-white);
}

.bloc.account .wrapper .left .submenu img {
    height: 30px;
    /* aspect-ratio: 1/1; */
    position: absolute;
    transform: translate(0, -50%);
    top: 50%;        
    left: var(--gap);
}

/*************************************/
/* PARTIE DROITE COMMUN A TOUS *******/
/*************************************/
.bloc.account .wrapper .right {
    width: 80%;
    display: flex;
    flex-direction: column;
    gap: var(--gap-2);
    padding: var(--gap-5) var(--gap-5) var(--gap-5) var(--gap-3);
}

.bloc.account .wrapper .right .top {
    display: flex;
    flex-direction: column;
    gap: var(--gap);
    text-align: start;
    max-width: 1200px;
}

.bloc.account .wrapper .right .top h1 {
    font-weight: var(--font-text-bold);
    font-size: 2.4rem;
    text-transform: none;
}

.bloc.account .right .bottom h2 {
    font-weight: var(--font-text-bold);
    font-size: 2.3rem;
    text-transform: none;
}


.bloc.account .right .bottom h3 {
    font-weight: var(--font-text-bold);
    font-size: 2rem;
    text-transform: none;
}

.bloc.account .right .bottom h4 {
    font-weight: var(--font-text-bold);
    font-size: 1.6rem;
    line-height: 2rem;
    text-transform: none;
    color: var(--color-blue);
}

.bloc.account .wrapper .right .top p {
    font-weight: var(--font-text-regular);
    font-size: 1.6rem;
}

.button.account {
    padding: var(--gap);
    color: var(--color-black);
    text-transform: none;
    background-color: var(--color-white);
    border: 1px solid var(--color-black);
    border-radius: 50px;
    transition: all 300ms ease-in-out;
    min-width: 250px;
    text-align: center;
    font-size: 1.3rem;
    font-weight: var(--font-text-bold);
    cursor: pointer;
}
.button.account:hover {
    color: var(--color-white);
    background-color: var(--color-blue);
    border: 1px solid var(--color-blue);
}

.button.account.black:hover {
    color: var(--color-white);
    background-color: var(--color-black);
    border: 1px solid var(--color-black);
}

.button.blue.account {
    background-color: var(--color-blue);
    border: 1px solid var(--color-blue);
    color: var(--color-white) !important;
}
.button.blue.account:hover {
    color: var(--color-blue) !important;
    background-color: var(--color-white);
}

.button.red.account {
    background-color: var(--color-red);
    border: 1px solid var(--color-red);
    color: var(--color-white) !important;
}
.button.red.account:hover {
    color: var(--color-red) !important;
    background-color: var(--color-white);
}

.button.white.account {
    background-color: var(--color-white);
    border: 1px solid var(--color-blue);
    color: var(--color-blue) !important;
}
.button.white.account:hover {
    color: var(--color-white) !important;
    background-color: var(--color-blue);
}

.button.account.relative img {
    position: absolute;
    top: 50%;
    left: var(--gap-xs);
    width: 25px;
    transform: translate(0, -50%);
}

.button.account.relative .svg {
    position: absolute;
    top: 50%;
    left: var(--gap-xs);
    transform: translate(0, -50%);
}

.bloc.account .right .bottom .icon {
    width: 75px;
}

.bloc.account .right .bottom .blue,
.bloc.account span.blue {
    font-weight: var(--font-text-bold);
    color: var(--color-blue);
}
.bloc.account .right .bottom .green {
    font-weight: var(--font-text-bold);
    color: var(--color-green);
}
.bloc.account .right .bottom .red {
    font-weight: var(--font-text-bold);
    color: var(--color-red);
}


/*************************/
/* CLASS GLOBAL **********/
/*************************/

.bloc.account .maxw-1000{
    max-width: 1000px;
}

.bloc.account .maxw-800{
    max-width: 800px;
}
.bloc.account .maxw-500{
    max-width: 500px;
}

.bloc.account .minw-500{
    min-width: 500px;
}
.bloc.account .minw-800{
    min-width: 800px;
}

.bloc.account .w-100{
    width: 100%;
}
.bloc.account .w-74{
    width: 74%;
}
.bloc.account .w-50{
    width: 50%;
}
.bloc.account .w-35{
    width: 35%;
}
.bloc.account .w-33{
    width: 33%;
}
.bloc.account .w-25{
    width: 25%;
}
.bloc.account .w-18{
    width: 18%;
}


.bloc.account .padding-gap{
    padding: var(--gap);
}

.bloc.account .padding-top-gap{
    padding-top: var(--gap);
}

.bloc.account .margin-top-gap{
    margin-top: var(--gap);
}
.bloc.account .margin-top-gap-2{
    margin-top: var(--gap-2);
}
.bloc.account .margin-top-gap-4{
    margin-top: var(--gap-4);
}
.bloc.account .margin-bottom-gap{
    margin-bottom: var(--gap);
}
.bloc.account .margin-bottom-gap-2{
    margin-bottom: var(--gap-2);
}
.bloc.account .margin-bottom-gap-3{
    margin-bottom: var(--gap-3);
}
.bloc.account .margin-bottom-gap-4{
    margin-bottom: var(--gap-4);
}
.bloc.account .margin-bottom-gap-5{
    margin-bottom: var(--gap-5);
}
.bloc.account .margin-bottom-gap-6{
    margin-bottom: var(--gap-6);
}
.bloc.account .margin-right-gap{
    margin-right: var(--gap);
}
.bloc.account .margin-right-gap-2{
    margin-right: var(--gap-2);
}
.bloc.account .margin-right-gap-4{
    margin-right: var(--gap-4);
}

.bloc.account .text-center{
    text-align: center !important;
}
.bloc.account .text-left{
    text-align: left !important;
}
.bloc.account .text-justify{
    text-align: justify;
}
.bloc.account .align-left{
    display: flex;
    justify-content: start;
    gap: var(--gap);
}
.bloc.account .align-right{
    display: flex;
    justify-content: end;
    gap: var(--gap);
}
.bloc.account .align-end{
    align-self: end;
    gap: var(--gap);
}
.bloc.account .nogap{
    gap:0 !important;
}

.bloc.account .p-relative{
    position: relative;
}

.bloc.account .flex-column{
    display: flex;
    flex-direction: column;
}
.bloc.account .flex-row{
    display: flex;
    flex-direction: row;
}
.bloc.account .gap-1{
    gap: var(--gap);
}
.bloc.account .flex-row.space-between{
    justify-content: space-between;
}
.bloc.account .justify-content-center{
    justify-content: center !important;
}
.bloc.account .align-items-center{
    align-items: center;
}
.bloc.account .max-content{
    width: max-content;
}
.bloc.account .height-auto{
    height: auto !important;
}

.bloc.account .cursor-pointer{
    cursor: pointer;
}
.bloc.account .cursor-default{
    cursor: default !important;
}

.bloc.account .color-white{
    color: var(--color-white);
}

/***** FORM COMMUN *****/
.bloc.account.patient .wrapper .right .bottom .form .input .group label {
    font-size: 1.6rem;
    font-weight: var(--font-text-bold);
    padding-left: var(--gap-xs);
}

.bloc.account .form .action{
    margin-top: var(--gap-2);
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;    
    gap: var(--gap);
    flex-wrap: wrap;
}
.bloc.account .action .button{
    padding: 10px 30px;
    line-height: 20px;
    text-align: center;
}
.bloc.account .form .action .button.trash{
    background-color: var(--color-action-trash);
    border-color: var(--color-action-trash);
}
.bloc.account .form .action .button.trash:hover{
    background-color: white;
    border-color: var(--color-action-trash);
    color: var(--color-action-trash);
}
.bloc.account .form .action .button.add{
    background-color: var(--color-action-add);
    border-color: var(--color-action-add);
}
.bloc.account .form .action .button.add:hover{
    background-color: white;
    border-color: var(--color-action-add);
    color: var(--color-action-add);
}

/*************************************/
/* POPUP-ACTION  *********************/
/*************************************/
.bloc.account .popup-action{
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: var(--color-black-trans-mid);
    visibility: hidden;
    opacity: 0;
    transition: all 250ms ease-in-out;
    display: flex;
    align-items: center;
    justify-content: center;
}
.bloc.account .popup-action.show{
    visibility: visible;
    opacity: 1;
}

.bloc.account .popup-wrapper{
    background-color: var(--color-white);
    padding: var(--gap-2);
    border-radius: 12px;
}
.bloc.account .popup-wrapper .title{
    font-size: var(--size-h3);
    text-align: center;
    margin-bottom: var(--gap);
    font-weight: bold;
}
.bloc.account .popup-wrapper .text{
    font-size: var(--size-p);
    text-align: center;
    margin-bottom: var(--gap);
}
.bloc.account .popup-wrapper .text.strong{
    font-size: var(--size-h3);
    font-weight: bold;
}
.bloc.account .popup-wrapper .element{
    font-size: var(--size-h4);
    text-align: center;
}


/**************************************/
/* CHECKBOX + RADIO + TEXT + TEXTAREA */
/**************************************/
.bloc.account .popup-wrapper .form .textarea-wrapper{
    margin-top: var(--gap-2);
}
  
.bloc.account .popup-wrapper .form .textarea-wrapper textarea{
    width: 100%;
    background-color: #F6F7F9;
    border: 2px solid #F6F7F9;
    border-radius: 10pt;
    padding: var(--gap);
    font-size: 1.6rem;
    color: var(--color-blue);
    font-weight: 500;
    outline:none;
}
.bloc.account .popup-wrapper .form .textarea-wrapper textarea::placeholder{
    font-weight: 300;
}
  
.bloc.account .popup-wrapper .form .checkbox-wrapper:first-child{
    margin-bottom: var(--gap);
}
.bloc.account .popup-wrapper .form .text-wrapper input{
    background-color: #F6F7F9;
    color: var(--color-blue);  
    border-radius: 10px;
    border: 2px solid #F6F7F9;
    font-size: 1.6rem;
    font-weight: bold;
    padding: 10px var(--gap);
    outline:none;
}
.bloc.account .popup-wrapper .form .text-wrapper input::placeholder{
    font-weight: 300;
}
  
  .bloc.account .popup-wrapper .form .radio-wrapper,
  .bloc.account .popup-wrapper .form .checkbox-wrapper{
    background-color: #F6F7F9;
    padding: 3px 6px;
    border-radius: 10px;
    border: 2px solid #F6F7F9;
  }
  .bloc.account .popup-wrapper .form .radio-wrapper.radio-array{
    flex: 1;  
  }
  .bloc.account .popup-wrapper .form .radio-wrapper.radio-array.title{
    text-align: center;
    font-size: 1.6rem;
    font-weight: 500;
    border-radius: 10pt;
  }
  .bloc.account .popup-wrapper .form .radio-wrapper.radio-array label{
  flex-direction: column;
  }
  .bloc.account .popup-wrapper .form .radio-wrapper:hover,
  .bloc.account .popup-wrapper .form .text-wrapper input:hover,
  .bloc.account .popup-wrapper .form .textarea-wrapper textarea:hover{
    border-color: var(--color-blue);
  }
  
  .bloc.account .popup-wrapper .form .checkbox-wrapper input,
  .bloc.account .popup-wrapper .form .radio-wrapper input {
    display: none;
    visibility: hidden;
  }
  .bloc.account .popup-wrapper .form .checkbox-wrapper label,
  .bloc.account .popup-wrapper .form .radio-wrapper label {
    margin: auto;
    -webkit-user-select: none;
    user-select: none;
    cursor: pointer;
    display: flex;
    flex-direction: row;
    align-items: center;
  }
  
  .bloc.account .popup-wrapper .form .checkbox-wrapper label span,
  .bloc.account .popup-wrapper .form .radio-wrapper label span {
    display: inline-block;
    vertical-align: middle;
    transform: translate3d(0, 0, 0);
  }
  .bloc.account .popup-wrapper .form .checkbox-wrapper label span:first-child,
  .bloc.account .popup-wrapper .form .radio-wrapper label span:first-child {
    position: relative;
    width: 30px;
    height: 30px;  
    transform: scale(1);
    vertical-align: middle;
    border: 2px solid var(--color-blue);
    background-color: #F6F7F9;
    transition: all 0.2s ease;
  }
  .bloc.account .popup-wrapper .form .checkbox-wrapper label span:first-child{
    border-radius: 4px;
  }
  .bloc.account .popup-wrapper .form .radio-wrapper label span:first-child {
    border-radius: 50px;
  }  
  .bloc.account .popup-wrapper .form .checkbox-wrapper label span:first-child svg {
    position: absolute;
    top: 5px;
    left: 3px;
    fill: none;
    stroke: var(--color-blue);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 16px;
    stroke-dashoffset: 16px;
    transition: all 0.3s ease;
    transition-delay: 0.1s;
    transform: translate3d(0, 0, 0);
  }
  
  .bloc.account .popup-wrapper .form .checkbox-wrapper label span:first-child:before,
  .bloc.account .popup-wrapper .form .radio-wrapper label span:first-child:before {
    content: "";
    width: 100%;
    height: 100%;
    background: var(--color-blue);;
    display: block;
    transform: scale(0);
    opacity: 1;
    border-radius: 50%;
  }
  /* ? */
  
  .bloc.account .popup-wrapper .form .checkbox-wrapper label span:last-child,
  .bloc.account .popup-wrapper .form .radio-wrapper label span:last-child {
    padding-left: var(--gap-2);
    font-size: 1.5rem;
    font-weight: 300;
    width: calc(100% - 32px);
    text-align: justify;
  }
  .bloc.account .popup-wrapper .form .radio-wrapper.text-center label span:last-child {
    padding-left: 0;
    text-align: center;
  }
  
  .bloc.account .popup-wrapper .form .checkbox-wrapper label:hover span:first-child,
  .bloc.account .popup-wrapper .form .radio-wrapper label:hover span:first-child {
    border-color: var(--color-blue);
  }
  .bloc.account .popup-wrapper .form .checkbox-wrapper input:checked + label span:first-child,
  .bloc.account .popup-wrapper .form .radio-wrapper input:checked + label span:first-child {  
    border-color: var(--color-blue);
    animation: cbs-wave 0.3s ease;
  }
  
  .bloc.account .popup-wrapper .form .checkbox-wrapper input:checked + label span:first-child{
    background: #F6F7F9;
  }
  .bloc.account .popup-wrapper .form .radio-wrapper input:checked + label span:first-child {  
    padding: 5px;
    background : radial-gradient(circle at center, var(--color-blue) 50%, white 55%)
  }
  
  
  .bloc.account .popup-wrapper .form .checkbox-wrapper input:checked + label span:first-child svg {
    stroke-dashoffset: 0;
  }
  
  .bloc.account .popup-wrapper .form .checkbox-wrapper input:checked + label span:first-child:before,
  .bloc.account .popup-wrapper .form .radio-wrapper input:checked + label span:first-child:before {  
    opacity: 0;
    transition: all 0.6s ease;
  }
  .bloc.account .popup-wrapper .form .checkbox-wrapper input:checked + label span:first-child:before{
    transform: scale(2.5);
  }
  .bloc.account .popup-wrapper .form .radio-wrapper input:checked + label span:first-child:before{
    transform: scale(4.5);
  }
  
  .bloc.account .popup-wrapper .form .radio-wrapper.error label span:first-child,
  .bloc.account .popup-wrapper .form .checkbox-wrapper.error label span:first-child,
  .bloc.account .popup-wrapper .form input[type=number].error,
  .bloc.account .popup-wrapper .form .slide .flex-row-align-center .radio-array.error label span:first-child{
    border-color: #FF024A;  
  }
  
  @keyframes cbs-wave {
    50% {
      transform: scale(0.9);
    }
  }
  /****************/
  /* FIN CHECKBOX */
  /****************/


/*************************/
/****** GOOGLE MAP *******/
/*************************/
.bloc.account.patient [data-popup-action=map] .xmark[data-action=close]{
    position: absolute;
    top: -20px;
    right: -20px;
    cursor: pointer;
    border: 1px solid black;
    background-color: black;
    color: white;    
    padding: 10px;
    border-radius: 50px;
    transition: all 250ms ease-in-out;
}
.bloc.account.patient [data-popup-action=map] .xmark[data-action=close]:hover{    
    background-color: white;
    color: black;
}

.bloc.account.patient [data-popup-action=map] .title{
    height: 175px;
    width: 100%;
    background-color: #F6F7F9;
    display: flex;
    align-items: center;
    justify-content: center;    
    font-weight: var(--font-text-bold);
    font-size: 2.4rem;      
} 
.bloc.account.patient [data-popup-action=map] .map{
    position: relative;
}

.bloc.account.patient [data-popup-action=map] .top{
    position: absolute;
    top: -50px;
    left: var(--gap-2);    
    width: calc(100% - var(--gap-2) - var(--gap-2));    
    background-color: #FFF;
    z-index: 1;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.bloc.account.patient [data-popup-action=map] .top label{
    font-size: 1.6rem;
    font-weight: var(--font-text-bold);
    padding-left: var(--gap-xs);
}

.bloc.account.patient [data-popup-action=map] .top input{
    color: var(--color-blue);
    font-weight: var(--font-text-bold);
}
.bloc.account.patient [data-popup-action=map] .top .input{
    padding-left: var(--gap);
    padding-right: var(--gap);
}

.bloc.account.patient [data-popup-action=map] .left{
    position: absolute;
    top: var(--gap-4);
    left: var(--gap-2);    
    width: 350px;
    height: calc(100% - var(--gap-4) - var(--gap-2));
    background-color: #F6F7F9;
    z-index: 1;
    border-radius: 12px;
    padding: var(--gap);
    overflow: hidden;
    overflow-y: scroll;
    gap: var(--gap);    
}

.bloc.account.patient [data-popup-action=map] .left .item{
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    position: relative;
    width: 100%;
    background-color: #FFF;
    border-radius: 12px;
    padding: 5px;
    transition: color 300ms ease-in-out;
    cursor: pointer;
}
.bloc.account.patient [data-popup-action=map] .left .item.select{
    background-color: #b3e9ff;
}
.bloc.account.patient [data-popup-action=map] .left .item .text{
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 0 5px;      
    text-align: left;
}
.bloc.account.patient [data-popup-action=map] .left .item .text .name{
    font-weight: bold;
    margin-bottom: 10px;
}

.bloc.account.patient [data-popup-action=map] .left .item button{    
    padding: 5px 10px;
    min-width: auto;
    font-size: 1.1rem;
    align-self: flex-end;
}


/* ALERT */
aside.alert{
    position: fixed;
    bottom: var(--gap);
    right: var(--gap);
    padding: var(--gap);
    background-color: #FFF;
    border: 1px solid #000;
    min-width: 200px;
    visibility: hidden;
    opacity: 0;
    transition: all 200ms ease-in-out;
    color: var(--color-black);
    font-size: 1.4rem;
}
aside.alert.show{
    opacity: 100;
    visibility: visible;
}
aside.alert.success{
    background-color: var(--color-message-green-back);
    color: var(--color-message-green-color);
    border-color: var(--color-message-green-border);
}
aside.alert.error{
    background-color: var(--color-message-red-back);
    color: var(--color-message-red-color);
    border-color: var(--color-message-red-border);
}

/***** RESPONSIVE COMMUN *****/
@media (max-width: 1440px) {
    .bloc.account .wrapper .right{
        padding: var(--gap-5) var(--gap-2)
    }
}
@media (max-width: 820px) {
    .bloc.account .wrapper {
        flex-direction: column;
    }
    .bloc.account .wrapper .left {
        width: 100%;
        padding: var(--gap-2);
        gap: var(--gap);
    }
    .bloc.account .wrapper .left .submenu.personal{
        margin-bottom: var(--gap);
    }
    .bloc.account .wrapper .right {
        width: 100%;
        padding: var(--gap-5);
    }

    .bloc.account table{
        overflow-x:auto !important;
    }
    .bloc.account .responsive-table{
        overflow-x: auto !important;
    }

    .bloc.account .form .action {
        justify-content: center;
    }
    
    .bloc.account .right .bottom h2{
        font-size: 2rem;
        line-height: 2.2rem;
    }

    .bloc.account .right .bottom h2{
        font-size: 1.8rem;
        line-height: 2rem;
    }    

    .bloc.account .right .bottom h4{
        font-size: 1.6rem;
        line-height: 1.8rem;
    }    
}

@media (max-width: 480px) {
    .button.account {
        min-width: auto;
    }    
    .bloc.account .wrapper .left {
        gap: 0;
        padding: var(--gap-2);
        width: 100%;
    }
    .bloc.account .wrapper .right {
        padding: var(--gap-2);
    }
}