/*
* Fichier template
* Regroupe toutes les balises par défaut modifier pour le projet RCOLLECT
*/

/*---------------
--- CONTAINERS
----------------*/
.force-center {
    text-align: center;
    text-align: -webkit-center;
    text-align: -moz-center;
}
.width-100 {
    width: 100px;
}
.width-200 {
    width: 200px;
}
.width-300 {
    width: 300px;
}
.width-500 {
    width: 500px;
}
#padding-page {
    padding: 15px 30px;
}

/*----------------
--- NAVIGATION
----------------*/
.btn-nav-sidebar {
    font-family: var(--font-text);
    display: block;
    padding: 15px 20px;
    margin-bottom: 1px;
    font-weight: bold;
    font-size: 15px;
    transition-duration: 300ms;
    border-bottom: 1px solid transparent;
}
.btn-nav-sidebar:hover {
    border-bottom: 1px solid var(--b-opacity-10);
}
.btn-nav-sidebar_active {
    color: var(--primary);
    border-bottom: 1px solid var(--primary);
}
.btn-nav-sidebar-back {
    font-family: var(--font-text);
    display: block;
    padding: 15px 20px;
    margin-bottom: 10px;
    font-weight: bold;
    font-size: 16px;
    transition-duration: 300ms;
    transform-origin: bottom;
    border-bottom: 2px solid var(--primary);
}
.btn-nav-sidebar-back:hover {
    letter-spacing: 0.1em;
    background-color: var(--primary);
    color: var(--background);
}

.btn-nav-sidebar-mobile {
    display: block;
    padding: 15px 20px;
    text-align: center;
    margin-bottom: 1px;
    transition-duration: 300ms;
}
.btn-nav-sidebar_active-mobile {
    color: #FFFFFF;
    background-color: var(--primary);
}
/*----------------
--- PAGES
----------------*/
#login-page {
    background-image: url("../img/login_background.jpg");
    background-size: cover;
}
#dashboard .entry-header {
    padding: 30px;
}
#dashboard .entry-header h2{
    margin-top: -10px;
    font-size: 16px;
}

/*----------------
--- TEMPLATES
----------------*/
#template-page {
    display: flex;
    overflow-x: hidden;
}
#template-content {
    background-color: var(--background);
    width: 100%;
}
/* --- Template-nav (desktop) ---*/
#template-nav {
    background-color: var(--background-01);
    max-width: 300px;
    min-width: 300px;
    width: 300px;
    border-right: 2px solid var(--b-opacity-10);
}
#template-nav .entry-footer {
    border-top: 3px solid var(--background);
    padding: 10px 20px;
}
#template-nav .entry-footer h3 {
    font-weight: bold;
    font-size: 14px;
}
#template-nav .entry-footer p {
    font-size: 13px;
    color: var(--gray);
}
#template-nav .entry-synchronise {
    border-top: 3px solid var(--background);
    padding: 10px 20px;
}
#template-nav .entry-progress {
    border-top: 3px solid var(--background);
    padding: 10px 20px;
}
#template-nav .entry-progress .progressBar_container {
    display: block;
    padding: 3px;
    background-color: var(--b-opacity-10);
    border-radius: 5px;
}
#template-nav .entry-progress .progressBar_container .progressBar_item {
    position: relative;
    padding: 7px;
    border-radius: 2.5px;
    background-color: var(--primary);
}
#template-nav .entry-header {
    border-bottom: 3px solid var(--background);
    padding: 10px 20px;
}
/*----------------
--- TEXTES
----------------*/
* {
    font-family: var(--font-title);
}
h1 {
    font-size: 30px;
    font-weight: bold;
}
h2 {
    font-size: 22px;
    font-weight: bold;
    color: var(--primary);
}

.highlight {
  background-color: #fef9c3 !important;
  outline: 2px solid #facc15; /* jaune */
}

/*----------------
--- TEXTFIELDS
----------------*/
input[type="select"], select {
    -webkit-appearance: none;
}

/*----------------
--- carrée de chargement 
----------------*/

.loader-dot {
    width: 12px;
    height: 12px;
    background-color: #3b82f6;
    border-radius: 2px;
    animation: dotMove 0.8s infinite ease-in-out;
    display: inline-block;
}

.loader-dot:nth-child(2) { animation-delay: 0.1s; }
.loader-dot:nth-child(3) { animation-delay: 0.2s; }
.loader-dot:nth-child(4) { animation-delay: 0.3s; }

@keyframes dotMove {
    0%   { transform: translateY(0); opacity: 0.5; background-color: #3b82f6; }
    25%  { transform: translateY(-8px); opacity: 1; background-color: #60a5fa; }
    50%  { transform: translateY(0); opacity: 0.5; background-color: #3b82f6; }
    75%  { transform: translateY(-4px); opacity: 0.8; background-color: #93c5fd; }
    100% { transform: translateY(0); opacity: 0.5; background-color: #3b82f6; }
}

/* overlay plein écran pour bloquer les clics */
#lw-global-overlay {
    position: fixed;
    inset: 0; /* top:0; right:0; bottom:0; left:0 */
    z-index: 9999;
    pointer-events: all; /* bloque tous les clics dessous */
    background: transparent; /* transparent pour ne pas cacher les carrés */
    display: none; /* contrôlé par JS */
    justify-content: center;
    align-items: flex-end; /* carrés en bas */
    padding-bottom: 1rem;
    flex-direction: row;
}

/*----------------
--- Checkbox dans la liste des documents pour rassembler les bl.
----------------*/
        .checkbox-wrapper-26 * {
          -webkit-tap-highlight-color: transparent;
          outline: none;
        }
      
        .checkbox-wrapper-26 input[type="checkbox"] {
          display: none;
        }
      
        .checkbox-wrapper-26 label {
          --size: 50px;
          --shadow: calc(var(--size) * .07) calc(var(--size) * .1);
      
          position: relative;
          display: block;
          width: var(--size);
          height: var(--size);
          margin: 0 auto;
          background-color: #f72414;
          border-radius: 50%;
          box-shadow: 0 var(--shadow) #ffbeb8;
          cursor: pointer;
          transition: 0.2s ease transform, 0.2s ease background-color,
            0.2s ease box-shadow;
          overflow: hidden;
          z-index: 1;
        }
      
        .checkbox-wrapper-26 label:before {
          content: "";
          position: absolute;
          top: 50%;
          right: 0;
          left: 0;
          width: calc(var(--size) * .7);
          height: calc(var(--size) * .7);
          margin: 0 auto;
          background-color: #fff;
          transform: translateY(-50%);
          border-radius: 50%;
          box-shadow: inset 0 var(--shadow) #ffbeb8;
          transition: 0.2s ease width, 0.2s ease height;
        }
      
        .checkbox-wrapper-26 label:hover:before {
          width: calc(var(--size) * .55);
          height: calc(var(--size) * .55);
          box-shadow: inset 0 var(--shadow) #ff9d96;
        }
      
        .checkbox-wrapper-26 label:active {
          transform: scale(0.9);
        }
      
        .checkbox-wrapper-26 .tick_mark {
          position: absolute;
          top: -1px;
          right: 0;
          left: calc(var(--size) * -.05);
          width: calc(var(--size) * .6);
          height: calc(var(--size) * .6);
          margin: 0 auto;
          margin-left: calc(var(--size) * .14);
          transform: rotateZ(-40deg);
        }
      
        .checkbox-wrapper-26 .tick_mark:before,
        .checkbox-wrapper-26 .tick_mark:after {
          content: "";
          position: absolute;
          background-color: #fff;
          border-radius: 2px;
          opacity: 0;
          transition: 0.2s ease transform, 0.2s ease opacity;
        }
      
        .checkbox-wrapper-26 .tick_mark:before {
          left: 0;
          bottom: 0;
          width: calc(var(--size) * .1);
          height: calc(var(--size) * .3);
          box-shadow: -2px 0 5px rgba(0, 0, 0, 0.23);
          transform: translateY(calc(var(--size) * -.68));
        }
      
        .checkbox-wrapper-26 .tick_mark:after {
          left: 0;
          bottom: 0;
          width: 100%;
          height: calc(var(--size) * .1);
          box-shadow: 0 3px 5px rgba(0, 0, 0, 0.23);
          transform: translateX(calc(var(--size) * .78));
        }
      
        .checkbox-wrapper-26 input[type="checkbox"]:checked + label {
          background-color: #07d410;
          box-shadow: 0 var(--shadow) #92ff97;
        }
      
        .checkbox-wrapper-26 input[type="checkbox"]:checked + label:before {
          width: 0;
          height: 0;
        }
      
        .checkbox-wrapper-26 input[type="checkbox"]:checked + label .tick_mark:before,
        .checkbox-wrapper-26 input[type="checkbox"]:checked + label .tick_mark:after {
          transform: translate(0);
          opacity: 1;
        }

       /*----------------
--- Checkbox dans le popup de signature.
----------------*/
      .checkbox-wrapper-36 *,
      .checkbox-wrapper-36 *::before,
      .checkbox-wrapper-36 *::after {
        box-sizing: border-box;
      }

      .checkbox-wrapper-36 label {
        background: white;
        border-radius: 12px;
        display: flex;
        border:1px solid #929090;
        height: 50px;
        padding: 8px;
        position: relative;
        transition: transform 300ms ease, box-shadow 300ms ease;
        width: 116px;
      }

      .checkbox-wrapper-36 input {
        display: none;
      }

      .checkbox-wrapper-36 label:after {
        animation: move-left-36 400ms;
        background: #E2E2E2 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='27' height='27' viewBox='0 0 24 24'%3E%3Cpath stroke='#E2E2E2' fill='#E2E2E2' stroke-linecap='round' d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E") no-repeat center;
        border-radius: 12px;
        content: '';
        left: 8px;
        outline: none;
        position: absolute;
        transition: background 100ms linear;
        width: 36px;
        height: 36px;
        left: 8px;
        top: 7px;
      }

      .checkbox-wrapper-36 label:active {
        box-shadow: 0px 10px 20px 0 rgba(0,0,0,0.2);
        transform: scale(1.15);
      }

      .checkbox-wrapper-36 input:checked + label:after {
        animation: move-right-36 400ms;
        background: #6EB54E url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='27' height='27' viewBox='0 0 24 24'%3E%3Cpath stroke='white' fill='white' stroke-linecap='round' d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E") no-repeat center;
        left: 72px;
      }

      @keyframes move-right-36 {
        0% {
          left: 8px;
        }
        75% {
          left: 78px;
        }
        100% {
          left: 72px;
        }
      }

      @keyframes move-left-36 {
        0% {
          left: 72px;
        }
        75% {
          left: 2px;
        }
        100% {
          left: 8px;
        }
      }



/*----------------------
---- RESPONSIVE
-----------------------*/
#template-page_mobile {
    display: flex;
    flex-direction: column;
}
#template-page_mobile #template-nav_mobile {
    background-color: var(--background-01);
    width: 100%;
    border-bottom: 2px solid var(--b-opacity-10);
    padding: 10px 25px;
}
#template-page_mobile #container_nav_mobile {
    position: absolute;
    background-color: var(--background);
    box-shadow: 0 10px 15px var(--b-opacity-30);
    margin-top: 10px;
    margin-left: -25px;
    width: 100%;
    padding: 30px;
    z-index: 1;
}

