.ebfc-footer-container {
  display: grid;
  width: 98vw;
  min-height: 67.375vh;
  row-gap: 1rem;
  column-gap: 16px;
  grid-template-rows: auto auto;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin: auto;
  margin-bottom: 1vw;
  z-index: 9999;
  position: relative;

  .newsletter-bloc-container {
    display: flex;
    padding: var(--spacing-layout-s);
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    align-self: stretch;
    grid-row: 1;
    grid-column: 1 / span 4;
    justify-self: stretch;
    gap: var(--spacing-componant-xl);
    border-radius: var(--radius-l);
    background: var(--color-primary-blue-100);

    .title-container {
      display: flex;
      align-items: flex-start;
      gap: 2.25rem;
      align-self: stretch;

      h2 {
        flex: 1 0 0;
        color: var(--color-primary-blue-900);
        leading-trim: both;
        text-edge: cap;
        font-family: Catamaran;
        font-size: var(--font-size-h2);
        font-style: normal;
        font-weight: 900;
        line-height: 1.2em;
      }

      svg {
        width: 4.6875rem;
        height: 2.55969rem;
        aspect-ratio: 75/40.96;
        flex-shrink: 0;
      }
    }

    .description-newsletter {
      align-self: stretch;
      color: var(--color-neutral-900);
      leading-trim: both;
      text-edge: cap;
      font-family: Quicksand;
      font-size: var(--font-size-p);
      font-style: normal;
      font-weight: 400;
      line-height: 1.5em;
    }

    .newsletter-form {
      display: flex;
      flex-direction: column;
      gap: var(--spacing-componant-s);
      align-self: stretch;
      align-items: flex-start;
      justify-content: flex-start;

      label {
        align-self: stretch;
        color: var(--color-primary-blue-900);
        leading-trim: both;
        text-edge: cap;
        font-family: Quicksand;
        font-size: var(--font-size-p);
        font-style: normal;
        font-weight: 700;
        line-height: 1.5em;
      }

      .input-inline {
        display: flex;
        width: 100%;
        max-width: 57.23vw;
        align-items: center;
        gap: var(--spacing-componant-xl);

        input[type='email'] {
          flex: 1 0 0;
          padding: var(--spacing-componant-m);
          border: 1px solid var(--color-primary-blue-600);
          border-radius: var(--radius-s);
          font-family: Quicksand;
          font-size: var(--font-size-p);
          font-style: normal;
          font-weight: 700;
          line-height: 1.1em;
          height: inherit;
        }

        button {
          padding: var(--spacing-componant-m) var(--spacing-componant-xl);
          background-color: var(--color-primary-blue-300);
          color: var(--color-primary-blue-900);
          border: 2px solid var(--color-primary-blue-300);
          border-radius: var(--radius-s);
          cursor: pointer;
          font-family: Quicksand;
          font-size: var(--font-size-p);
          font-style: normal;
          font-weight: 700;
          line-height: 1.1em;
          transition: background-color 0.3s ease, border-color 0.3s ease;
          white-space: nowrap;
          height: inherit;

          &:hover {
            background-color: var(--color-primary-blue-100);
            border-color: var(--color-primary-blue-900);
          }
        }
      }
    }
  }

  .recrutement-container {
    grid-row: 1;
    grid-column: 5 / span 2;
    align-self: stretch;
    justify-self: stretch;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 4rem;
    justify-content: flex-start;
    border-radius: var(--radius-l);
    background: var(--color-primary-blue-100);
    position: relative;

    .title-container {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: var(--spacing-componant-s);
      margin-top: 3.6rem;

      .sur-titre {
        border-radius: var(--radius-s);
        background: var(--color-primary-blue-600);
        padding: 0.625rem;
        color: var(--color-neutral-900);
        leading-trim: both;
        text-edge: cap;
        font-family: Catamaran;
        font-size: var(--font-size-h6);
        font-style: normal;
        font-weight: 700;
        line-height: 1.1em;
      }

      .recrutement-title {
        color: var(--color-neutral-900);
        text-align: center;
        leading-trim: both;
        text-edge: cap;
        font-family: Catamaran;
        font-size: var(--font-size-h3);
        font-style: normal;
        font-weight: 700;
        line-height: 1.2em;
      }
    }

    img {
      width: 95%;
      align-self: center;
    }

    .recrutement-button {
      position: absolute;
      bottom: -5rem;
      left: 50%;
      transform: translateX(-50%);
      padding: var(--spacing-componant-m) var(--spacing-componant-xl);
      background-color: var(--color-secondary-red-900);
      color: var(--color-secondary-red-50);
      border: 2px solid var(--color-secondary-red-900);
      border-radius: var(--radius-s);
      cursor: pointer;
      font-family: Quicksand;
      font-size: var(--font-size-p);
      font-style: normal;
      font-weight: 700;
      line-height: 1.1em;
      transition: all 0.3s ease;
      text-decoration: none;
      white-space: nowrap;

      &:hover {
        background-color: var(--color-primary-blue-100);
        border-color: var(--color-secondary-red-900);
        color: var(--color-secondary-red-900);
      }
    }

    &:hover .recrutement-button {
      bottom: 2rem;
    }
  }

  .link-container {
    display: flex;
    padding: var(--spacing-layout-s);
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
    align-self: stretch;
    grid-row: 2;
    grid-column: 1 / span 4;
    justify-self: stretch;
    border-radius: var(--radius-l);
    background: var(--color-primary-blue-100);
    gap: var(--spacing-componant-xxl);

    nav {
      display: flex;
      flex: 1 0 0;
      flex-direction: column;
      align-items: flex-start;
      gap: var(--spacing-componant-xs);

      .link-title {
        color: var(--color-primary-blue-900);
        leading-trim: both;
        text-edge: cap;
        font-family: Quicksand;
        font-size: var(--font-size-p);
        font-style: normal;
        font-weight: 700;
        line-height: 1.5em;
        margin: 0;
      }

      ul {
        list-style: none;
        padding: 0;
        margin: 0;
        display: flex;
        flex-direction: column;
        gap: var(--spacing-componant-xs);
        font-weight: 400;
        color: var(--color-neutral-900);
        font-family: Quicksand;
        font-size: var(--font-size-p);
        line-height: 1.2em;

        li {
          .link-item {
            text-decoration: none;
            color: inherit;
            position: relative;

            &::after {
              content: '';
              position: absolute;
              bottom: 0;
              left: 0;
              width: 0;
              height: 1px;
              background-color: var(--color-primary-blue-900);
              transition: width 0.3s ease;
            }

            &:hover {
              color: var(--color-primary-blue-900);

              &::after {
                width: 100%;
              }
            }
          }
        }
      }
    }
  }

  .lk-container {
    display: flex;
    padding: 4.4375rem 4.875rem;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.625rem;
    align-self: stretch;
    grid-row: 2;
    grid-column: 5;
    justify-self: stretch;
    border-radius: var(--radius-l);
    background: var(--color-primary-blue-100);
    cursor: pointer;
    transition: all 0.3s ease;

    .lk-link {
      display: flex;
      align-items: center;
      justify-content: center;
    }

    &:hover {
      svg path {
        fill: var(--color-secondary-red-900);
      }

      svg {
        transform: scale(1.1);
        transition: transform 0.3s ease;
      }
    }
  }

  .contact-container {
    display: flex;
    padding: 4.4375rem 4.875rem;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.625rem;
    align-self: stretch;
    grid-row: 2;
    grid-column: 6;
    justify-self: stretch;
    border-radius: var(--radius-l);
    background: var(--color-primary-blue-100);
    cursor: pointer;
    transition: all 0.3s ease;

    .contact-link {
      display: flex;
      align-items: center;
      justify-content: center;
    }

    &:hover {
      svg path {
        fill: var(--color-secondary-red-900);
      }

      svg {
        transform: scale(1.1);
        transition: transform 0.3s ease;
      }
    }
  }
}

/* ===========================================
     TABLET - 1024px and below
     =========================================== */
@media screen and (max-width: 1024px) {
  .ebfc-footer-container {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto auto;
    min-height: auto;

    .newsletter-bloc-container {
      grid-row: 1;
      grid-column: 1 / span 2;

      .title-container {
        gap: 1.5rem;

        svg {
          width: 3.5rem;
          height: auto;
        }
      }

      .newsletter-form .input-inline {
        max-width: 100%;
        gap: var(--spacing-componant-m);
      }
    }

    .recrutement-container {
      grid-row: 2;
      grid-column: 1 / span 2;
      flex-direction: column;
      align-items: center;
      gap: 2rem;
      padding: var(--spacing-layout-s);
      padding-bottom: 5rem;

      .title-container {
        margin-top: 2rem;
      }

      img {
        width: 60%;
        max-width: 300px;
      }

      .recrutement-button {
        bottom: 1.5rem;
      }

      &:hover .recrutement-button {
        bottom: 1.5rem;
      }
    }

    .link-container {
      display: none;
    }

    .lk-container {
      grid-row: 3;
      grid-column: 1;
      padding: 2rem;
    }

    .contact-container {
      grid-row: 3;
      grid-column: 2;
      padding: 2rem;
    }
  }
}

/* ===========================================
     MOBILE - Below 768px
     =========================================== */
@media screen and (max-width: 767px) {
  .ebfc-footer-container {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto auto;
    width: 94vw;
    gap: 0.75rem;

    .newsletter-bloc-container {
      grid-row: 1;
      grid-column: 1 / span 2;
      padding: var(--spacing-componant-xl);
      gap: var(--spacing-componant-l);

      .title-container {
        flex-direction: row;
        gap: 1rem;

        h2 {
          font-size: var(--font-size-h3, 1.75rem);
        }

        svg {
          width: 3rem;
          height: auto;
          order: -1;
        }
      }

      .newsletter-form {
        width: 100%;

        label {
          display: none;
        }

        .input-inline {
          flex-direction: column;
          max-width: 100%;
          gap: var(--spacing-componant-s);

          input[type='email'] {
            width: 100%;
          }

          button {
            width: 100%;
          }
        }
      }
    }

    .recrutement-container {
      grid-row: 2;
      grid-column: 1 / span 2;
      gap: 1.5rem;

      .title-container {
        margin-top: 2rem;
        gap: var(--spacing-componant-s);
      }

      img {
        width: 80%;
        max-width: 280px;
      }
    }

    .lk-container {
      grid-row: 3;
      grid-column: 1;
      padding: 2rem 1.5rem;

      svg {
        width: 50px;
        height: 50px;
      }
    }

    .contact-container {
      grid-row: 3;
      grid-column: 2;
      padding: 2rem 1.5rem;

      svg {
        width: 50px;
        height: 47px;
      }
    }
  }
}

/* ===========================================
     SMALL MOBILE - Below 480px
     =========================================== */
@media screen and (max-width: 480px) {
  .ebfc-footer-container {
    width: 96vw;
    gap: 0.5rem;

    .newsletter-bloc-container {
      padding: var(--spacing-componant-l);

      .title-container {
        h2 {
          font-size: var(--font-size-h4, 1.5rem);
        }

        svg {
          width: 2.5rem;
        }
      }

      .description-newsletter {
        font-size: 0.875rem;
      }
    }

    .recrutement-container {
      .title-container {
        .sur-titre {
          font-size: 0.75rem;
          padding: 0.5rem;
        }

        .recrutement-title {
          font-size: var(--font-size-h4, 1.5rem);
        }
      }

      img {
        width: 90%;
      }
    }

    .lk-container,
    .contact-container {
      padding: 1.5rem 1rem;

      svg {
        width: 40px;
        height: 40px;
      }
    }
  }
}
