.m-nos-offres {

  /* -- En-tête -- */
  & .m-nos-offres__header {
    text-align: center;
    margin-bottom: 2.5em;
  }

  & .m-nos-offres__titre--accent {
    color: var(--wp--preset--color--primary);
  }

  /* -- Chapeau : actions (boutons en position haute + lien groupe) -- */
  & .m-nos-offres__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: var(--wp--custom--gap--base);
    margin-bottom: 3.5em;

    @media (max-width: 781px) {
      flex-direction: column;
    }
  }

  /* Le bouton hérite des styles globaux (is-style-* + icone-*). */
  & .m-nos-offres__spontanee {
    cursor: pointer;
    font-family: inherit;
    -webkit-appearance: none;
    appearance: none;
  }

  /* Les boutons héritent du style global (wp-block-button__link + is-style-* + icone-*). */
  & .m-nos-offres__boutons {
    display: flex;
    flex-wrap: wrap;
    gap: var(--wp--custom--gap--base);
  }

  /* Le lien hérite des styles globaux (is-style-* + icone-*), au même titre
     que le bouton : aucune surcharge de couleur ou de décoration ici. */

  /* -- Filtres -- */
  & .m-nos-offres__filtres {
    margin-bottom: 3.5em;


    .m-nos-offres__filtres__label {
      font-weight: var(--wp--custom--font-weight--regular);
      font-size: 1.5em;
      margin-bottom: 1em;
      color: var(--wp--preset--color--main);
    }

    .m-nos-offres__filtres__row {
      display: flex;
      flex-wrap: wrap;
      gap: var(--wp--custom--gap--base);
    }
  }

  & .m-nos-offres__filtre {
    display: flex;
    flex-direction: column;
    gap: 0.35em;

    label {
      color: #1E1E1E;
    }

    select {
      min-width: 200px;
      padding: 0.75em 1em;
      border: 1px solid #D9D9D9;
      border-radius: 6px;
      color: #1E1E1E;
      background: var(--wp--preset--color--base);
      cursor: pointer;
    }
  }

  /* -- Grille -- */
  & .m-nos-offres__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--wp--custom--gap--base);
    transition: opacity 0.2s ease;

    &.is-loading {
      opacity: 0.4;
      pointer-events: none;
    }
  }

  & .m-nos-offres__vide {
    grid-column: 1 / -1;
    text-align: center;
  }

  & .m-nos-offres__vide-form{
    grid-column: 1 / -1;
    padding: 2em;
  }

  /* -- Carte offre -- */
  & .m-nos-offres__card {
    background-color: var(--wp--preset--color--base);
    border: 1px solid var(--wp--preset--color--border-light);
    border-radius: 16px;
    padding: 2em;
    display: flex;
    flex-direction: column;
  }

  & .m-nos-offres__card__pole {
    align-self: flex-start;
    color: var(--wp--preset--color--primary);
    font-weight: var(--wp--custom--font-weight--regular);
    font-size: 1.10em;
    margin-bottom: 0.5em;
  }

  & .m-nos-offres__card__intitule {
    font-size: 1.75em;
    font-weight: var(--wp--custom--font-weight--semi-bold);
    margin: 0 0 0.75em;
    color: var(--wp--preset--color--tertiary);
  }

  & .m-nos-offres__card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--wp--custom--gap--xs);
    margin-bottom: 1em;
  }

  & .m-nos-offres__card__tag {
    display: inline-flex;
    align-items: center;
    gap: var(--wp--custom--gap--xs);
    background-color: var(--wp--preset--color--primary-accent);
    border-radius: var(--wp--custom--radius--sm);
    padding: 0.5em;
    color: var(--wp--preset--color--tertiary);

    &::before {
      content: "";
      display: inline-block;
      width: 24px;
      height: 24px;
      min-width: 24px;
      border-radius: 2px;
      background-color: var(--wp--preset--color--base);
      background-repeat: no-repeat;
      background-position: center;
      background-size: 16px;
    }
  }

  & .m-nos-offres__card__tag--loc::before {
    background-image: url('../../../assets/icons/icon-location.svg');
  }

  & .m-nos-offres__card__tag--contrat::before {
    background-image: url('../../../assets/icons/icon-contract.svg');
  }

  & .m-nos-offres__card__desc {
    color: var(--wp--preset--color--primary-darken);
    line-height: 1.5em;
    margin: 0 0 1.25em;
  }

  & .m-nos-offres__card__infos {
    list-style: none;
    margin: 0 0 2.5em;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75em 1.5em;
  }

  & .m-nos-offres__info {
    display: inline-flex;
    align-items: center;
    gap: 0.4em;
    color: var(--wp--preset--color--primary-darken);

    &::before {
      content: "";
      display: inline-block;
      width: 20px;
      height: 20px;
      min-width: 20px;
      background-color: var(--wp--preset--color--secondary);
      -webkit-mask-image: url('../../../assets/icons/check-circle.svg');
      mask-image: url('../../../assets/icons/check-circle.svg');
      -webkit-mask-size: contain;
      mask-size: contain;
      -webkit-mask-repeat: no-repeat;
      mask-repeat: no-repeat;
    }

  }

  /* Bouton "Postuler" */
  & .m-nos-offres__card__actions {
    margin-top: auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--wp--custom--gap--sm);
  }

  & .m-nos-offres__card__postuler {
    align-self: flex-start;
    background: transparent;
    border: solid 1px var(--wp--preset--color--primary-darken);
    color: var(--wp--preset--color--primary-darken);
    border-radius: var(--wp--custom--radius--sm);
    padding: 0.5em 1em;
    font-weight: var(--wp--custom--font-weight--semi-bold);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: var(--wp--custom--gap--xs);
    transition: border-color 0.2s ease, color 0.2s ease;

    &::before {
      content: "";
      display: inline-block;
      width: 18px;
      height: 18px;
      min-width: 18px;
      background-color: currentColor;
      -webkit-mask-image: url('../../../assets/icons/icon-plus.svg');
      mask-image: url('../../../assets/icons/icon-plus.svg');
      -webkit-mask-size: contain;
      mask-size: contain;
      -webkit-mask-repeat: no-repeat;
      mask-repeat: no-repeat;
      -webkit-mask-position: center;
      mask-position: center;
    }

    &:hover {
      border-color: var(--wp--preset--color--tertiary);
      color: var(--wp--preset--color--tertiary);
    }
  }

  & .m-nos-offres__card__pdf {
    display: inline-flex;
    align-items: center;
    gap: var(--wp--custom--gap--xs);
    color: var(--wp--preset--color--primary-darken);
    font-weight: var(--wp--custom--font-weight--semi-bold);
    text-decoration: underline;
    transition: color 0.2s ease;

    &:hover,
    &:focus-visible {
      color: var(--wp--preset--color--primary);
    }
  }

  /* -- Bouton "Voir toutes nos offres" -- */
  & .m-nos-offres__bouton-wrap {
    text-align: center;
    margin-top: 2.5em;
  }
}

/* =========================================================
   Modale candidature (structure / voile) — calquée sur le trombinoscope
   ========================================================= */
.modal-backdrop.m-nos-offres__backdrop {
  --bs-backdrop-zindex: 1040;
  --bs-backdrop-bg: #202531;
  --bs-backdrop-opacity: 0.9;
}

.m-nos-offres__modal.modal {
  position: fixed;
  inset: 0;
  z-index: 1055;
  display: none;
  overflow-y: auto;
}

.m-nos-offres__modal.modal.show {
  display: block;
}

.m-nos-offres__modal {

  .modal-header {
    padding: 40px 20px 0 50px;

    .btn-close {
      cursor: pointer;
      z-index: 10;
      --bs-btn-close-opacity: 1;
      --bs-btn-close-hover-opacity: 1;
    }
  }

  & .modal-content {
    background-color: var(--wp--preset--color--base) !important;

    .m-nos-offres__modal__recap {
      margin-top: -2em;
    }
  }

  & .m-nos-offres__modal__pole {
    display: inline-block;
    color: var(--wp--preset--color--primary);
    font-weight: var(--wp--custom--font-weight--regular);
    font-size: 1.10em;
    margin-bottom: 0.5em;
  }

  & .m-nos-offres__modal__intitule {
    font-size: 1.75em;
    font-weight: var(--wp--custom--font-weight--semi-bold);
    margin: 0 0 0.75em;
    color: var(--wp--preset--color--tertiary);
  }

  & .m-nos-offres__modal__meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--wp--custom--gap--xs);
    margin-bottom: 1em;
  }

  & .m-nos-offres__modal__tag {
    display: inline-flex;
    align-items: center;
    gap: var(--wp--custom--gap--xs);
    background-color: var(--wp--preset--color--primary-accent);
    border-radius: var(--wp--custom--radius--sm);
    padding: 0.5em;
    color: var(--wp--preset--color--tertiary);

    &::before {
      content: "";
      display: inline-block;
      width: 24px;
      height: 24px;
      min-width: 24px;
      border-radius: 2px;
      background-color: var(--wp--preset--color--base);
      background-repeat: no-repeat;
      background-position: center;
      background-size: 16px;
    }
  }

  & .m-nos-offres__modal__tag--loc::before {
    background-image: url('../../../assets/icons/icon-location.svg');
  }

  & .m-nos-offres__modal__tag--contrat::before {
    background-image: url('../../../assets/icons/icon-contract.svg');
  }

  & .m-nos-offres__modal__desc {
    color: var(--wp--preset--color--primary-darken);
    line-height: 1.5em;
    margin-bottom: 1.25em;
  }

  & .m-nos-offres__modal__infos {
    list-style: none;
    margin: 0 0 2.5em;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75em 1.5em;
  }

  & .m-nos-offres__modal__form {
    border-top: 1px solid var(--wp--preset--color--border-light);
    padding-top: 1.5em;
  }

  & .m-nos-offres__modal__form-titre {
    font-size: 1.25em;
    font-weight: var(--wp--custom--font-weight--semi-bold);
    margin: 0 0 1em;
    color: var(--wp--preset--color--tertiary);
  }
}

/* Boutons Gravity Forms  */
.m-nos-offres__modal__form {
  & .gform_button,
  & .gform_button_select_files {
    background: transparent !important;
    border: solid 1px var(--wp--preset--color--primary-darken) !important;
    color: var(--wp--preset--color--primary-darken) !important;

    &:hover {
      border-color: var(--wp--preset--color--tertiary) !important;
      color: var(--wp--preset--color--tertiary) !important;
    }
  }
}

/* -- Responsive -- */
@media (max-width: 768px) {
  .m-nos-offres__filtres{
    padding: 0 1em;
  }

  .m-nos-offres .m-nos-offres__grid {
    grid-template-columns: 1fr;
  }
}