/*
 Theme Name:   ATTPS
 Theme URI:    https://example.com
 Description:  Thème enfant ATTPS pour Divi 5 – Personnalisations préservées lors des mises à jour.
 Author:       Votre Nom
 Author URI:   https://example.com
 Template:     Divi
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  https://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  attps
*/

/* ==========================================================================
   Vos styles personnalisés ci-dessous
   ========================================================================== */


.roboto-condensed {
   font-family: "Roboto Condensed", sans-serif !important;
   text-transform: uppercase !important;
}

.at-btn {
   font-family: var(--gvid-bsbk61j4nb);
   display: flex;
   justify-content: space-between;
   align-items: center;
   gap: 10px;
   border-radius: 100vw;
   color: var(--color-txt, #fff) !important;
   background-color: var(--color-bg, #000) !important;
   width: fit-content;
   padding: 5px 15px;
   font-size: clamp(1rem, calc(1rem + 1vw), 1.5rem);

   &:has(.icon) {
      padding: 7px;
      padding-left: 1.2rem;
   }


   .icon {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 42px;
      height: 42px;
   }

   &:hover {
      .icon {
         -webkit-animation: pulsate-fwd 0.5s ease-in-out infinite both;
         animation: pulsate-fwd 0.5s ease-in-out infinite both;
      }
   }
}

.xadi-repeater-cards {
   display: grid;
   grid-template-columns: repeat(auto-fill, minmax(clamp(100% / var(--columns, 3) - 1rem, var(--min-width, 250px), 100%), 1fr));
   gap: 1rem;
}

.xadi-home-cards {
   display: grid;
   grid-template-columns: repeat(auto-fill, minmax(clamp(100% / 3 - 1rem, 250px, 100%), 1fr));
   gap: 1rem;
}

.xadi-icon-card {
   display: flex;
   flex-direction: column;
   padding: 1rem;
   border: 1px solid var(--color-border, #fff);
   border-radius: 20px;

   .header-wrapper {
      display: flex;
      align-items: center;
      gap: 0.7rem;
      padding-bottom: 1rem;

      .icon {
         width: 50px;
         height: 50px;
         display: flex;
         align-items: center;
         justify-content: center;
      }

      .title {

         font-weight: bold;
         font-size: 1.5rem;
         color: #fff;
         padding: 0 !important;
      }
   }


   &>.text {
      color: #f5f5f5;
      line-height: 1.5rem;
      font-size: 20px;
      font-weight: 400;
   }
}

.xadi-buttons-list {
   display: flex;
   flex-wrap: wrap;
   gap: 1rem;
   list-style: none !important;
   padding: 0 !important;
   margin: 0 !important;

   @media screen and (max-width: 767px) {
      justify-content: center;

   }
}


body:has(.slide-in-menu[style*="display: flex"]) {
   overflow: hidden;
   height: 100dvh;
}

.slide-in-menu {
   max-height: 100dvh !important;
}


.lp-box-form-wrapper {
   color: #fff;

   .gform_fields {
      --gf-form-gap-y: 1rem;

      textarea,
      input:where([type=text], [type=tel], [type=email]) {
         border-radius: 100vw !important;
         background: color-mix(in oklab, #fff 10%, transparent) !important;
         border: 1px solid #95BC3E !important;

         color: #fff !important;

         &::placeholder {
            color: #bdbdbd !important;
         }
      }

      .gfield_description {
         --gf-local-color: color-mix(in oklab, #fff 50%, transparent);
      }

      .ginput_container_consent {
         input[type=checkbox] {
            opacity: 0 !important;
         }

         label {
            color: #fff;
            position: relative;
            cursor: pointer;

            &::before {
               position: absolute;
               content: "";
               height: 1rem;
               width: 1rem;
               border: 1px solid #95BC3E;
               left: -2rem;
               top: 50%;
               transform: translateY(-50%);
               cursor: pointer;
            }


            &::after {
               @starting-style {
                  top: 0%;
                  opacity: 0;
               }

               position: absolute;
               content: "✔";
               height: 1rem;
               width: 1rem;
               left: -1.9rem;
               transform: translateY(-50%);
               cursor: pointer;
               font-size: 1rem;
               color: #95BC3E;
               line-height: 1;
               transition: 250ms ease-in-out;
               display: none;
            }

         }

         &:has(input[type=checkbox]:checked) {
            label {
               &::after {

                  top: 50%;
                  display: block;
                  opacity: 1;
               }
            }
         }
      }
   }

   .gform-footer {
      input[type=submit] {
         --color-txt: #ffffffff;
         --color-bg: #95BC3E;
         font-family: var(--gvid-bsbk61j4nb) !important;
         display: flex;
         justify-content: space-between;
         align-items: center;
         gap: 10px;
         border-radius: 100vw !important;
         color: var(--color-txt, #fff) !important;
         background-color: var(--color-bg, #000) !important;
         width: fit-content;
         padding: 0.75rem 1rem !important;
         padding-right: 60px;
         font-size: 1.5rem !important;
         position: relative;
         margin: auto !important;

         &::after {
            background: url(/wp-content/uploads/2026/04/button-arrow-dark.svg);
            background-size: contain;
            background-repeat: no-repeat;
            background-position: center;
            position: absolute;
            right: 1rem;
            height: 42px;
            width: 42px;
         }

      }
   }
}

/* ----------------------------------------------
 * Generated by Animista on 2026-4-30 16:41:0
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation bounce-left
 * ----------------------------------------
 */
@-webkit-keyframes bounce-left {
   0% {
      -webkit-transform: translateX(-48px);
      transform: translateX(-48px);
      -webkit-animation-timing-function: ease-in;
      animation-timing-function: ease-in;
      opacity: 1;
   }

   24% {
      opacity: 1;
   }

   40% {
      -webkit-transform: translateX(-26px);
      transform: translateX(-26px);
      -webkit-animation-timing-function: ease-in;
      animation-timing-function: ease-in;
   }

   65% {
      -webkit-transform: translateX(-13px);
      transform: translateX(-13px);
      -webkit-animation-timing-function: ease-in;
      animation-timing-function: ease-in;
   }

   82% {
      -webkit-transform: translateX(-6.5px);
      transform: translateX(-6.5px);
      -webkit-animation-timing-function: ease-in;
      animation-timing-function: ease-in;
   }

   93% {
      -webkit-transform: translateX(-4px);
      transform: translateX(-4px);
      -webkit-animation-timing-function: ease-in;
      animation-timing-function: ease-in;
   }

   25%,
   55%,
   75%,
   87%,
   98% {
      -webkit-transform: translateX(0px);
      transform: translateX(0px);
      -webkit-animation-timing-function: ease-out;
      animation-timing-function: ease-out;
   }

   100% {
      -webkit-transform: translateX(0px);
      transform: translateX(0px);
      -webkit-animation-timing-function: ease-out;
      animation-timing-function: ease-out;
      opacity: 1;
   }
}

@keyframes bounce-left {
   0% {
      -webkit-transform: translateX(-48px);
      transform: translateX(-48px);
      -webkit-animation-timing-function: ease-in;
      animation-timing-function: ease-in;
      opacity: 1;
   }

   24% {
      opacity: 1;
   }

   40% {
      -webkit-transform: translateX(-26px);
      transform: translateX(-26px);
      -webkit-animation-timing-function: ease-in;
      animation-timing-function: ease-in;
   }

   65% {
      -webkit-transform: translateX(-13px);
      transform: translateX(-13px);
      -webkit-animation-timing-function: ease-in;
      animation-timing-function: ease-in;
   }

   82% {
      -webkit-transform: translateX(-6.5px);
      transform: translateX(-6.5px);
      -webkit-animation-timing-function: ease-in;
      animation-timing-function: ease-in;
   }

   93% {
      -webkit-transform: translateX(-4px);
      transform: translateX(-4px);
      -webkit-animation-timing-function: ease-in;
      animation-timing-function: ease-in;
   }

   25%,
   55%,
   75%,
   87%,
   98% {
      -webkit-transform: translateX(0px);
      transform: translateX(0px);
      -webkit-animation-timing-function: ease-out;
      animation-timing-function: ease-out;
   }

   100% {
      -webkit-transform: translateX(0px);
      transform: translateX(0px);
      -webkit-animation-timing-function: ease-out;
      animation-timing-function: ease-out;
      opacity: 1;
   }
}

/* ----------------------------------------------
 * Generated by Animista on 2026-4-30 16:43:15
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation pulsate-fwd
 * ----------------------------------------
 */
@-webkit-keyframes pulsate-fwd {
   0% {
      -webkit-transform: scale(1);
      transform: scale(1);
   }

   50% {
      -webkit-transform: scale(1.1);
      transform: scale(1.1);
   }

   100% {
      -webkit-transform: scale(1);
      transform: scale(1);
   }
}

@keyframes pulsate-fwd {
   0% {
      -webkit-transform: scale(1);
      transform: scale(1);
   }

   50% {
      -webkit-transform: scale(1.1);
      transform: scale(1.1);
   }

   100% {
      -webkit-transform: scale(1);
      transform: scale(1);
   }
}