/* Calcul M3 - Styles de base et typographie */
:root {
    --primary-color: #007bff; /* Bleu pour les éléments principaux */
    --secondary-color: #28a745; /* Vert pour les résultats */
    --background-color: #f8f9fa; /* Gris clair pour l'arrière-plan */
    --text-color: #333; /* Gris foncé pour le texte */
    --border-radius: 5px; /* Rayon de bordure pour les champs et boutons */
}
      @import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap");
      *,
      *::before,
      *::after {
          box-sizing: border-box;
          line-height: 1.5em;
      }

      html {
          font-size: 16px;
          scroll-behavior: smooth;
          -webkit-text-size-adjust: 100%;
      }

      body {
          margin: 0;
          font-family: "Open Sans", sans-serif;
          background-color: #f7f7f7;
      }

      header {
          background-color: #ffffff;
          box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
              0 4px 6px -4px rgba(0, 0, 0, 0.1);
          padding: 10px 20px;
      }
      header .wrapper {
          max-width: 1000px;
          margin: 0 auto;
          display: flex;
          flex-wrap: wrap;
          align-items: center;
          justify-content: space-between;
      }
      header .logo img {
          height: 50px;
          display: block;
      }
            footer {
          background-color: #ffffff;
          box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
              0 4px 6px -4px rgba(0, 0, 0, 0.1);
          padding: 10px 20px;
              text-align: center;
      }
      footer .wrapper {
          max-width: 1000px;
          margin: 0 auto;
          display: flex;
          flex-wrap: wrap;
          align-items: center;
          justify-content: space-between;
      }

      .navbar {
          position: fixed;
          top: 0;
          left: 100%;
          margin: 0;
          width: 100%;
          height: 100%;
          background-color: white;
          padding: 20px;
          transition: left 0.3s;
      }

      .navbar.show {
          left: 0 !important;
      }

      .hide-scroll {
          overflow: hidden;
      }

      .navbar ul {
          all: unset;
          list-style-type: none;
          display: flex;
          flex-direction: column;
          align-items: center;
          gap: 25px;
      }
      .navbar ul a {
          all: unset;
          color: #444444;
          text-transform: uppercase;
          cursor: pointer;
          font-weight: bold;
          font-size: 28px;
      }
      .navbar ul a:hover {
          color: #111111;
          text-decoration: underline overline;
          text-decoration-thickness: 3px;
      }

      .close-nav {
          text-align: right;
          margin-bottom: 20px;
      }
      .close-nav button {
          all: unset;
          background: #f7f7f7;
          font-size: 42px;
          cursor: pointer;
          border: 1px solid rgba(0, 0, 0, 0.2);
          padding: 15px;
          border-radius: 3px;
          color: #444444;
      }
      .close-nav button:hover {
          color: #222222;
          background: white;
      }

      .menu-bar button {
          border: 1px solid rgba(0, 0, 0, 0.1);
          background: #f7f7f7;
          height: 50px;
          width: 50px;
          padding: 5px 10px;
          cursor: pointer;
          border-radius: 3px;
      }
      .menu-bar i {
          display: block;
          border-top: 3px solid #444444;
          border-bottom: 3px solid #444444;
      }
      .menu-bar i::after {
          display: block;
          content: "";
          border-top: 3px solid #444444;
          margin: 6px 0;
      }
      .menu-bar button:hover {
          background: white;
      }
      .menu-bar button:hover i {
          border-color: #222222;
      }

      .container {
          max-width: 900px;
          margin: 0 auto;
          padding: 30px;
      }

      @media (min-width: 550px) {
          .navbar {
              all: unset;
              display: block;
          }
          .navbar ul {
              flex-direction: row;
              gap: 20px;
          }
          .navbar ul a {
              font-size: inherit;
          }
          .close-nav,
          .menu-bar {
              display: none;
          }
      }

h1 {
    color: #595792;
    text-align: center;
    margin-bottom: 30px;
}
h2 {
    display: block;
    font-size: 1.5em;
    margin-block-start: 0.83em;
    margin-block-end: 0.83em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    font-weight: bold;
    color: #595792;
}

label {
    display: block;
    margin: 10px 0 5px;
}

input[type="number"], select {
    width: 100%;
    padding: 10px;
    margin-bottom: 20px;
    border: 1px solid #ccc;
    border-radius: var(--border-radius);
    box-sizing: border-box; /* Inclut padding et border dans la largeur totale */
    font-size: 20px;
}

input[type="number"]:focus, select:focus {
    border-color: var(--primary-color);
    outline: none;
}

.resultat {
    font-size: 20px;
    color: #28a745;
    text-align: center;
    padding: 10px;
    border: 1px solid #28a745;
    border-radius: var(--border-radius);
    margin-top: 20px;
}

.result {
    font-size: 20px;
    color: var(--secondary-color);
    text-align: center;
    padding: 10px;
    border: 1px solid var(--secondary-color);
    border-radius: var(--border-radius);
    margin-top: 20px;
}

  table {
            width: 50%;
            border-collapse: collapse;
        }
        table, th, td {
            border: 1px solid black;
        }
        th, td {
            padding: 10px;
            text-align: center;
        }
        th {
            background-color: #f2f2f2;
        }

        .video-responsive { 
overflow:hidden; 
padding-bottom:56.25%; 
position:relative; 
height:0;
}

.video-responsive iframe {
left:0; 
top:0; 
height:100%;
width:100%;
position:absolute;
}