:root {
          --primary: #FF4D7B;
          --secondary: #02EAD4;
          --accent: #A9947B;
          --background-light: #293438;
          --background: #222B2F;
          --background-dark: #1C2326;
          --shadow: #151B1E;
          --black: #101010;
          --black50: rgba(16, 16, 16, 0.5);
          --black30: rgba(16, 16, 16, 0.3);
          --white: #ffffff;
          --text: #F6FCFF;
          --text30: rgba(246, 252, 255, 0.3);
          --red: #FF0000;
          --green: #7ad946;
        }

        * {
          box-sizing: border-box;
          scroll-behavior: smooth;
        }

        body {
          margin: 0;
          font-family: 'Poppins', sans-serif;
          background-color: var(--background);
          color: var(--text);
          padding-top: 160px;
        }

        header {
          background: linear-gradient(to bottom, #101010, var(--background));
          padding: 2rem 2rem;
          text-align: center;
          width: 100%;
          justify-content: center;
          position: fixed;
          z-index: 950;
          top:0;
          box-shadow:0px 6px 20px 8px var(--background);
        }

        .content {
            margin-top: 80px;
        }

        .logo-container {
          display: flex;
          justify-content: center;
          align-items: center;
          gap: 1rem;
        }

        .logo-container img {
          height: 60px;
          transition: transform 0.3s;
          cursor:pointer;
        }

        .logo-container img:hover {
          transform: scale(1.05);
        }

        header h1 {
          font-size: 3rem;
          color: var(--primary);
          margin: 0.5rem 0;
        }

        header p {
          font-size: 1.2rem;
          color: var(--text30);
          margin: 0;
        }


        nav {
          display: flex;
          justify-content: center;
          padding: 1rem;
          gap: 2rem;
          position: sticky;
          top: 0;
          z-index: 10;
        }

        nav a {
          color: var(--secondary);
          text-decoration: none;
          font-weight: 600;
          padding: 0.5rem 1rem;
          border-radius: 20px;
          transition: all 0.3s;
        }

        nav a:hover {
          color: var(--primary);
          background-color: var(--black30);
        }

        section {
          max-width: 1100px;
          margin: 4rem auto;
          padding: 0 1.5rem;
          scroll-margin-top: 250px;
        }

        .section-title {
          font-size: 2rem;
          margin-bottom: 2rem;
          color: var(--secondary);
          text-align: center;
          position: relative;
        }

        .section-title::after {
          content: '';
          display: block;
          width: 80px;
          height: 3px;
          background: var(--primary);
          margin: 0.5rem auto;
        }

        .features {
         display: flex;
         flex-wrap: wrap;
         justify-content: center; /* centre les lignes incomplètes */
         gap: 2rem;
         margin: auto;
       }

       .feature {
        flex: 0 0 28%; /* environ 3 par ligne, avec de l’espace entre */
        min-width: 250px;
        background-color: var(--background-light);
        padding: 1.5rem;
        border-left: 4px solid var(--accent);
        border-radius: 10px;
        transition: transform 0.3s, box-shadow 0.3s;
      }

      .feature:hover {
        transform: translateY(-5px);
        box-shadow: 0 10px 20px var(--black50);
      }

      .feature h3 {
        color: var(--primary);
        margin-top: 0;
      }

      .screenshots {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 1.5rem;
      }

      .thumb {
        width: 300px;
        cursor: pointer;
        border-radius: 12px;
        box-shadow: 0 4px 12px var(--black50);
        transition: transform 0.3s;
      }

      .thumb:hover {
        transform: scale(1.05);
      }

      .download {
        text-align: center;
        margin-top: 4rem;
      }

      .download a {
        display: inline-block;
        margin-top: 1rem;
        height: 80px;
        transition: all 0.3s;
        border-radius: 10px;
        box-shadow: 0 4px 6px var(--black30);
      }

      .download a:hover {
        transform: translateY(-2px);
        box-shadow: 0 6px 10px var(--black50);
      }

      /* Formulaire de contact */
      #contact-form {
        max-width: 600px;
        margin: 0 auto;
        padding: 2rem;
        background-color: var(--background-light);
        border-radius: 10px;
        box-shadow: 0 4px 12px var(--black30);
        justify-content: center;
        text-align: center;
      }

      #contact-form label {
        display: block;
        margin-bottom: 0.5rem;
        color: var(--secondary);
      }

      #contact-form input,
      #contact-form textarea {
        width: 100%;
        padding: 0.75rem;
        margin-bottom: 1.5rem;
        border: 1px solid var(--background-dark);
        border-radius: 5px;
        background-color: var(--background);
        color: var(--text);
        font-family: 'Poppins', sans-serif;
      }

      #contact-form textarea {
        resize: vertical;
        min-height: 150px;
      }

      #contact-form button {
        background-color: var(--primary);
        color: white;
        border: none;
        padding: 0.75rem 2rem;
        border-radius: 5px;
        cursor: pointer;
        font-weight: bold;
        transition: background-color 0.3s;
        height: 60px;
        width: 100%;
      }

      #contact-form button:hover {
        background-color: #e8436f;
      }

      .success {
        background-color: var(--green);
        color: var(--black);
        opacity: 1;
      }

      .error {
        background-color: var(--red);
        color: var(--white);
        opacity: 1;
      }

      footer {
        background-color: var(--background-dark);
        color: var(--text30);
        padding: 3rem 2rem;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
      }

      .footer-column {
        flex: 1 1 200px;
        margin-bottom: 1.5rem;
        padding: 0 1rem;
      }

      .footer-column h4 {
        color: var(--secondary);
        margin-bottom: 1rem;
        position: relative;
        padding-bottom: 0.5rem;
      }

      .footer-column h4::after {
        content: '';
        position: absolute;
        left: 0;
        bottom: 0;
        width: 40px;
        height: 2px;
        background-color: var(--primary);
      }

      .footer-column a {
        display: block;
        color: var(--text30);
        text-decoration: none;
        margin-bottom: 0.5rem;
        transition: color 0.3s;
      }

      .footer-column a:hover {
        color: var(--white);
      }

      .footer-bottom {
        text-align: center;
        margin-top: 2rem;
        font-size: 0.9rem;
        width: 100%;
      }

      /* Animation */
      @keyframes fadeIn {
        from { opacity: 0; }
        to { opacity: 1; }
      }

      #loader {
        border: 6px solid var(--background-light);
        border-top: 6px solid var(--primary);
        border-radius: 50%;
        width: 60px;
        height: 0px;
        opacity: 0;
        align-items: center;
        justify-content: center;
        animation: spin 2s linear infinite;
      }
      #btn-container {
        width: 100%;
        height: 60px;
        align-items: center;
        justify-content: center;
        text-align: center;
      }

      #form-status {
        text-align: center;
        border-radius: 5px;
        font-weight: bold;
        height: 0px;
        opacity: 0;
        align-items: center;
        justify-content: center;
      }


        .container {
          max-width: 800px;
          margin: 20px auto 50px;
          background-color:  var(--background-light);
          border-radius: 8px;
          box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
        }

        .container a {
          color:  var(--secondary);
        }

        .container h1 {
          color:  var(--primary);
        }
        .container h2 {
          color:  var(--primary);
        }

        .container footer{
          text-align: center;
          margin-top: 40px;
          border-radius: 8px;
        }

        .padding {
          padding:40px
        }

      @keyframes spin {
        0% { transform: rotate(0deg); }
        100% { transform: rotate(360deg); }
      }

      body {
        animation: fadeIn 0.5s ease-in;
      }


      /* Modal styles */
      .modal {
        position: fixed;
        top: 0; left: 0; right: 0; bottom: 0;
        background: rgba(0,0,0,0.8);
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 1000;
      }

      .modal-content {
        max-width: 90%;
        max-height: 90%;
        border-radius: 12px;
      }

      .close {
        position: fixed;
        top: 20px;
        right: 30px;
        color: white;
        font-size: 40px;
        font-weight: bold;
        cursor: pointer;
      }


      @media (max-width: 840px) {
        .container {
          margin: 20px 20px 50px;
        }
        .padding {
          padding:20px
        }
      }

      @media (max-width: 768px) {
        nav {
          display: none;
        }

        section {
          margin: 4rem auto;
          padding: 0;
        }

        body {
          padding-top: 100px;
        }
        .features,
      .screenshots {
        display: flex;
        left: 10;
        flex-wrap: nowrap;
        overflow-x: auto ;
        -webkit-overflow-scrolling: touch;
        gap: 1rem;
      padding: 1rem;
      scroll-padding-left: 1rem;
      min-width: 100vw;
         justify-content: left;
      }

      .feature,
      .thumb {
        flex: 0 auto auto;
      min-width: 85vw;
      }

      .features {
        padding-left: 1rem;
        padding-right: 1rem;
      }

      .screenshots {
        padding-left: 1rem;
        padding-right: 1rem;
      }

      /* Formulaire de contact */
      #contact-form {
        margin: 0 1rem;
      }
      }