@font-face {
  font-family: 'Mona Sans VF';
  src: url("../fonts/mona-sans/MonaSansVF[wdth,wght,opsz,ital].woff2") format("woff2");
       
  font-weight: 200 900; /* variable */
  font-stretch: 75% 125%;
  font-optical-sizing: auto;
}



html {
  font-family: 'Mona Sans VF';
  font-feature-settings: "ss01" 1, "ss03" 1, "ss05" 1;
}

:root {
  --step--1: clamp(0.8rem, 0.5vw + 0.6rem, 1rem);
  --step-0:  clamp(1rem, 0.6vw + 0.8rem, 1.125rem);
  --step-1:  clamp(1.25rem, 1vw + 1rem, 1.5rem);
  --step-2:  clamp(1.5rem, 1.5vw + 1.2rem, 2rem);
  --step-3:  clamp(2rem, 2vw + 1.5rem, 3rem);
  --step-a:  clamp(2rem, 2vw + 1.5rem, 3rem);
}

h1, h2, h3, p, small, .btn, a {
  font-family: "Mona Sans VF", -apple-system, BlinkMacSystemFont, sans-serif;
}

.btn-hugo {
  background-color: #cdafff;
  color: white;
  border: #cdafff;
}

.btn-hugo:hover {
  background-color: #cabbe2;
  color: white;
  border: #cabbe2;
}

h1 { 
  font-size: var(--step-3); 
  font-variation-settings: "wght" 700, "wdth" 125, "opsz" 72; /* Bold, Expanded, Display size */  
}

@media screen and (max-width: 992px) {
  h2 {
    font-size: var(--step-2) !important;
  }
}

h2 { font-size: var(--step-3); 
  font-variation-settings: "wght" 300, "wdth" 125, "opsz" 72;
}

h3 { font-size: var(--step-2);
  font-variation-settings: "wght" 500, "wdth" 125, "opsz" 72; /* Bold, Expanded, Display size */  
}
p  { 
  font-size: var(--step-0); line-height: 1.6; 
  font-variation-settings: "wght" 300, "wdth" 125, "opsz" 72;
}
small { 
   
  font-variation-settings: "wght" 600, "wdth" 125, "opsz" 72 !important; 
}

header a, button {
  pointer-events: auto; /* Les liens du header restent cliquables */
}

@media screen and (max-width: 992px) {
  a {
    font-size: var(--step-a) !important;
  }
}


a {
  /* color: #cdafff; */
  text-decoration: none;
  font-variation-settings: "wght" 400, "wdth" 125, "opsz" 72; /* Bold, Expanded, Display size */
  font-size: var(--step-1) !important;
}

i {
  /*font-size: var(--step-3) !important;
  line-height: 1.6;*/
}




span {
  font-size: var(--step-1) !important;
}

.bi-asterisk {
  font-size: var(--step-3) !important;
}


/* h1 {
  font-size: 3.052rem;  
}

h2 {
  font-size: 2.441rem; 
}

h3 {
  font-size: 1.953rem; 
  margin-bottom: 0;
  font-weight: bold;
  
  -webkit-text-stroke: 0.05rem black;
}

p {
  font-size: 1rem; /* base 
}*/

* {
  margin: 0;
  padding: 0;
}

@media screen and (min-width: 992px) {
  .marge {
    margin-left: 3rem !important;
    margin-right: 3rem !important;
  }
}

/* .btn {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
} */

.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
  background-color: white !important;
}

body {
  margin: 0;
  background: linear-gradient(135deg, #f8f8ff, #c5c5e9);
  cursor: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%222%22%20height%3D%222%22%20viewBox%3D%220%200%202%202%22%3E%3Ccircle%20cx%3D%221%22%20cy%3D%221%22%20r%3D%221%22%20fill%3D%22%23cdafff%22%2F%3E%3C%2Fsvg%3E'), auto;
  
  
}



html {
  scroll-behavior: auto !important; 
  font-family: 'Mona Sans VF';
  font-feature-settings: "ss01" on, "ss03" on, "ss05" on;
}


    /*_______curseur souris_____*/
    .cursor-inner,
    .cursor-outer {
      position: fixed;
      top: 0;
      left: 0;
      pointer-events: none;
      z-index: 9999;
      transform: translate(-50%, -50%);
    }

    .cursor-inner {
      width: 6px;
      height: 6px;
      background-color: #cdafff;
      border-radius: 50%;
    }

    .cursor-outer {
      width: 30px;
      height: 30px;
      border: 2px solid #cdafff;
      border-radius: 50%;
    }

    /*_______cruseur drag hand custom_____*/

    /* Change menu on mobile screen */

    @media screen and (min-width: 992px) {
      .menu-responsive {
        background-color: transparent !important;
        position: static !important;
        width: auto !important;
        height: auto !important;

      }
    }

    .menu-responsive {
      background-color: black;
      position: fixed;
      width: 100%;
      top: 0;
      left: 0;
      
    }

    /*_______popup image_____*/

    .popup-overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      background-color: rgba(0, 0, 0, 0.7);
      z-index: 9998;
      display: flex;
      justify-content: center;
      align-items: center;
      cursor: zoom-out;
    }
    .popup-img {
      box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
      border-radius: 8px;
    }

    .fade-out {
      opacity: 0;
      transition: opacity 0.5s ease;
    }

    .fade-in {
      opacity: 0;
      animation: fadeIn 0.5s forwards;
    }

    @keyframes fadeIn {
      to {
        opacity: 1;
      }
    }

    #gallery {
      transition: height 0.5s ease;
    }
    .element-item {
      margin-bottom: 30px;
    }

    .project-content img {
      margin-bottom: 2rem;
      border-radius: 0.5rem;
    }

    .custom-left,
    .custom-middle,
    .custom-right {
      position: static;
      
    }

    .mb-vh-5 {
      margin-bottom: 5vh;
    }

    @media (min-width: 992px) {
      .custom-left,
      .custom-middle,
      .custom-right {
        position: absolute;
        transform: translate(-50%, -50%);
        width: 25vw
      }

      .custom-left {      
        left: 0;       
      }
      .custom-middle {
        
        top: 50%;
        left: 100%;
      }
      .custom-right {
        top: 0;
      }

      .mb-vh-5 {
        margin-bottom: 20vh;
      }
      
    }



    .marquee-wrapper {
      overflow: hidden;
      position: relative;
      width: 100%;
      
     
      cursor: grab;
    }

    .marquee-inner {
      display: flex;
      will-change: transform;
    }

    .marquee-track {
      display: flex;
      gap: 2rem;
      will-change: transform;
      user-select: none;
      padding-right: 2rem;

    }

    .marquee-item {
      /* background-color: white; 
      box-shadow: 0 2px 6px rgba(0,0,0,0.1); */
      border-radius: 9999px;
      padding: 0rem 3rem;
      font-weight: bold;
      white-space: nowrap;
      
      transition: background 0.3s;
      cursor: pointer;
    }
    .marquee-item:hover {
      
    }
  
    ::placeholder {
      color: #f2dcff7c !important; /* Ou white, ou un autre ton clair */
      
    }

    .parallax-section {
      position: relative;
      width: 100%;
      height: 150vh;
      
    }

    .parallax-img {
      position: absolute;
      border-radius: 12px;
      box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);
    }

    .img-1 { top: 10%; left: -10%; width: 45vh; }
    .img-2 { top: 45%; right: -40%; width: 65vh; }
    .img-3 { top: 45%; left: 5%; width: 30vh; }
    .img-4 { top: 70%; right: -20%; width: 40vh; }
    .img-5 { top: 95%; right: 10%; width: 75vh; }
    .img-6 { top: 110%; right: 5%; width: 45vh; }

    @media (min-width: 992px) {
      .img-1 { top: 20%; left: 15%; width: 45vh; }
      .img-2 { top: 45%; right: 8%; width: 75vh; }
      .img-3 { top: 55%; left: 20%; width: 35vh; }
      .img-4 { top: 80%; right: 15%; width: 60vh; }
      .img-5 { top: 110%; right: 30%; width: 85vh; }
      .img-6 { top: 120%; right: 15%; width: 45vh; }
      
    }

    #main-content {
      transition: opacity 0.3s ease;
    }

    .cover-wrapper {
      position: relative;
      height: 100vh;
      overflow: hidden;
      width: -webkit-fill-available;
    }

    /* START player 1 cover */
    .cover-item {
      position: absolute;
      inset: 0;
      object-fit: cover;
      width: 100%;
      height: 100%;
      opacity: 0;
      transition: opacity 1s ease;
    }
    .cover-item img,
    .cover-item video {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    /* END player 1 cover */

    /* START player 2 cover */
    @media (max-width: 992px) {
      .vh-60 {
        height: 60vh !important;
      }
    }

    


    .hero-cover {
      position: absolute;
      width: 100%;
      height: 100vh; /* ou ta hauteur personnalisée */
      overflow: hidden;
      
    }

    .splide__slide {
      transform: translateX(0) !important;
    }

    .hero-cover .splide__slide video {
      width: 100%;
      height: 100%;
      object-fit: cover;
      will-change: opacity, transform;
      transform: translateZ(0);
      backface-visibility: hidden;
      background: #000;
    }

    /* END player 2 cover */

    /* Splide doit prendre toute la hauteur de la colonne */
    /* Empêche Splide d'imposer une hauteur */
    
    

    .custom-text {
      font-size: 1.2rem;
      line-height: 1.8;
    }


    


    .badge-custom {
      background: #c3b2e7;
      color: #000;
      font-weight: 600;
      border-radius: 20px;
      padding: 0.4rem 1rem;
      margin: 0.2rem;
      display: inline-block;
      font-size: 0.9rem;
    }

     /* ___________________________________ */

    .mwg_effect000 {
      min-height: 100vh;
      overflow: hidden;
      position: relative;
      display: grid;
      place-items: center;
      padding-top: 100px;
    }
    /* Header */
    .mwg_effect000 .header {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      border-bottom: 1px solid #323232;
      padding: 20px 25px;
      color: #BAB8B9;
    }
    .mwg_effect000 .button {
      font-size: 14px;
      text-transform: uppercase;
      border-radius: 24px;
      height: 48px;
      gap: 5px;
      padding: 0 20px;
      display: inline-flex;
      align-items: center;
      width: max-content; 
    }
    .mwg_effect000 .button1 {
      background-color: #232323;
      color: white;
    }
    .mwg_effect000 .button2 {
      border: 1px solid #323232;
      color: #232323;
    }
    .mwg_effect000 .button img {
      width: 22px;
      height: auto;
    }
    /* Images */
    .mwg_effect000 .media {
      
    }
    .mwg_effect000 .media img {
      width: 100%;
      
      /*aspect-ratio: 1/1;*/
      
      
      display: block;
      margin: 0 auto;
      pointer-events: none;
      will-change: transform;
    }

      /* ___________________________________ */


  .badge {
    border-radius: 20px;
    
    background: #eae4f8; /* violet très clair */
    
    color: #333;
    font-size: 13px;
    padding: 6px 12px;
    font-weight: 500;
  }

  /* _________________effet comfy__________________ */


  
  .images, .images-2 {
    display: flex;
    padding: 0.5rem;
    gap: 1rem;
    overflow: hidden;
  }

  .images__image, .images__image2 {
    width: 20rem;
    height: 20rem;
    aspect-ratio: 1;
    object-fit: cover;
    flex: 0 0 auto;
    will-change: transform;
  }

  .images__image--big {
    width: 40rem;
  }


  /* _________________effet comfy__________________ */



  /* _________________card body center__________________ */





  .separator-break {
    width: 100%;
    display: block;      /* NE PAS utiliser flex-item */
    flex: none !important;  /* Désactive tout comportement flex */
  }


  /* _________________card body center__________________ */



/* _________________boutton styles__________________ */


.whatsapp, .linkedin, .instagram {
    cursor: pointer;
  transition: 0.5s;
    
}

.whatsapp-icon, .linkedin-icon, .instagram-icon {
    opacity: 0;
    transition: 0.5s;
}

.whatsapp-label, .linkedin-label, .instagram-label {
    transition: 0.5s;
}

.whatsapp:hover {
    background-color: #25D366;
    
}

.whatsappcol {
    color: #25D366;
}

.linkedin:hover {
  background-color: #0A66C2; /* bleu LinkedIn */
 
}

.lincol {
    color: #0A66C2;
}

.instagram:hover {
  background-color: #E1306C;
  
}

.instacol {
    color: #E1306C;
    border-color: #E1306C !important;
}

.whatsapp:hover .whatsapp-label, .linkedin:hover .linkedin-label, .instagram:hover .instagram-label {
    color: #fff !important;
    transform: translateX(-0.5em);
    
}

.whatsapp:hover .whatsapp-icon, .linkedin:hover .linkedin-icon, .instagram:hover .instagram-icon {
    opacity: 1;
    color: #fff;
}

.whatsapp:hover, .linkedin:hover, .instagram:hover {
    border: 1px solid #ffffff00 !important;
}


/* _____PORTFOLIO_____ */
.neu-button {
  background-color: #e0e0e0;
  border-radius: 50px;
  box-shadow: inset 4px 4px 10px #bcbcbc, inset -4px -4px 10px #ffffff;
  color: #4d4d4d;
  cursor: pointer;
  font-size: 18px;
  padding: 15px 40px;
  transition: all 0.2s ease-in-out;
  border: 2px solid rgb(206, 206, 206);
  text-decoration: none; /* important pour un <a> */
  display: inline-block; /* pour garder le rendu bouton */
}

.neu-button:hover {
  box-shadow: inset 2px 2px 5px #bcbcbc, inset -2px -2px 5px #ffffff,
              2px 2px 5px #bcbcbc, -2px -2px 5px #ffffff;
}

.neu-button:focus {
  outline: none;
  box-shadow: inset 2px 2px 5px #bcbcbc, inset -2px -2px 5px #ffffff,
              2px 2px 5px #bcbcbc, -2px -2px 5px #ffffff;
}


/* _____en savoir plus (video)_____ */


.animated-btn {
  width: 200px;
  height: 50px;
  overflow: hidden;
  cursor: pointer;
}

/* Ligne animée en bas */
.animated-btn::before {
  content: "";
  position: absolute;
  height: 2px;
  bottom: 0;
  left: 0;
  width: 100%;
  transform: scaleX(0);
  transform-origin: bottom right;
  background: currentColor;
  transition: transform 0.25s ease-out;
}

.animated-btn:hover::before {
  transform: scaleX(1);
  transform-origin: bottom left;
}

/* Animation du texte */
.animated-btn .text span,
.animated-btn .clone span {
  font-size: 1rem;
  margin-left: 4px;
  transition: 0.25s;
}

.animated-btn .clone span {
  transform: translateY(60px);
}

.animated-btn:hover .clone span {
  transform: translateY(0px);
}

.animated-btn:hover .text span {
  transform: translateY(-60px);
}

.animated-btn:hover .clone span:nth-child(1) {
  transition-delay: 0.1s !important;
}

.animated-btn:hover .clone span:nth-child(2) {
  transition-delay: 0.15s !important;
}

.animated-btn:hover .clone span:nth-child(3) {
  transition-delay: 0.2s !important;
}

.animated-btn:hover .clone span:nth-child(4) {
  transition-delay: 0.25s !important;
}



/* Animation de la flèche */
.animated-arrow {
  transition: transform 0.25s ease-out;
  transform: translateY(-50%) rotate(-50deg) !important;
}

.animated-btn:hover .animated-arrow {
  transform: translateY(-50%) rotate(-90deg) !important;
}




/* _________________ END boutton styles__________________ */





@media (min-width: 992px) {
      .w-md-50 {
        width: 50% !important;
      }
}

