/* Source: annonces.twig */
.annonces-page-custom .ressources-theme-title { color: var(--ressources-theme-title-text, #000000) !important; }

.annonces-page-custom .ressources-theme-header {
  margin-bottom: 2.5rem !important;
}

@media (max-width: 767px) {
  .annonces-page-custom .ressources-theme-header {
    margin-bottom: 2rem !important;
  }

  .annonces-page-custom .ressources-theme-header .tablo-block-heading {
    margin-bottom: 0 !important;
  }
  /* Titre de page : même échelle que bloc Titre « grand » (h4 / Caliste 5XL) */
  .annonces-page-custom .ressources-theme-title {
    font-size: 3rem !important;
    line-height: 1.1 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .annonces-page-custom .ressources-theme-header .tablo-block-heading > .ressources-theme-title {
    margin-top: 0;
  }
}
    .annonces-page-custom .ressources-dropdown-label,
    .annonces-page-custom .ressources-dropdown-list li a,
    .annonces-page-custom .ressources-dropdown-list li button {
      font-family: "David", serif !important;
    }
    /* Filtres : fond blanc opaque ; noms atténués, 100 % au survol ; flèche = couleur du texte. */
    .annonces-page-custom .ressources-dropdown-label,
    .annonces-page-custom .ressources-dropdown-arrow,
    .annonces-page-custom .ressources-dropdown-list {
      background: #ffffff !important;
      background-color: #ffffff !important;
      opacity: 1 !important;
      border-color: var(--ressources-theme-lines, #000000) !important;
    }
    /* Valeur sélectionnée affichée dans le bandeau : toujours pleine opacité. */
    .annonces-page-custom .ressources-dropdown-label {
      color: var(--page-bg, #ffffff) !important;
      -webkit-text-fill-color: var(--page-bg, #ffffff) !important;
    }
    .annonces-page-custom .ressources-dropdown-arrow {
      color: var(--page-bg, #ffffff) !important;
    }
    .annonces-page-custom .ressources-dropdown-arrow svg,
    .annonces-page-custom .ressources-dropdown-arrow svg path {
      fill: var(--page-bg, #ffffff) !important;
      color: inherit !important;
    }
    .annonces-page-custom .ressources-dropdown-list li button,
    .annonces-page-custom .ressources-dropdown-list li a {
      color: var(--ressources-theme-filters-text, #000000) !important;
      -webkit-text-fill-color: var(--ressources-theme-filters-text, #000000) !important;
      opacity: 0.55 !important;
      background-color: transparent !important;
      transition: opacity 160ms ease, color 160ms ease, background-color 120ms ease;
    }
    .annonces-page-custom .ressources-dropdown[open] .ressources-dropdown-list li button,
    .annonces-page-custom .ressources-dropdown[open] .ressources-dropdown-list li a {
      color: var(--page-bg, #ffffff) !important;
      background-color: transparent !important;
      -webkit-text-fill-color: var(--page-bg, #ffffff) !important;
    }
    .annonces-page-custom [data-annonces-filters] .ressources-dropdown-list li button:hover,
    .annonces-page-custom [data-annonces-filters] .ressources-dropdown-list li a:hover,
    .annonces-page-custom [data-annonces-filters] .ressources-dropdown[open] .ressources-dropdown-list li button:hover,
    .annonces-page-custom [data-annonces-filters] .ressources-dropdown[open] .ressources-dropdown-list li a:hover {
      opacity: 1 !important;
      color: var(--page-bg, #000000) !important;
      background-color: #ffffff !important;
      -webkit-text-fill-color: var(--page-bg, #000000) !important;
    }
    /* Flèche des options : mask + currentColor (couleur du texte). */
    .annonces-page-custom [data-annonces-filters] .ressources-dropdown-list li a::after,
    .annonces-page-custom [data-annonces-filters] .ressources-dropdown-list li button::after {
      background-image: none !important;
      background-color: currentColor !important;
      -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2229%22%20height%3D%2221%22%20viewBox%3D%220%200%2029%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20d%3D%22M28%2013V14H29V13H28ZM0.292893%2012.2929C-0.0976311%2012.6834%20-0.0976311%2013.3166%200.292893%2013.7071L6.65685%2020.0711C7.04738%2020.4616%207.68054%2020.4616%208.07107%2020.0711C8.46159%2019.6805%208.46159%2019.0474%208.07107%2018.6569L2.41421%2013L8.07107%207.34315C8.46159%206.95262%208.46159%206.31946%208.07107%205.92893C7.68054%205.53841%207.04738%205.53841%206.65685%205.92893L0.292893%2012.2929ZM28%200H27V13H28H29V0H28ZM28%2013V12H1V13V14H28V13Z%22%20fill%3D%22black%22/%3E%3C/svg%3E") !important;
      mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2229%22%20height%3D%2221%22%20viewBox%3D%220%200%2029%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20d%3D%22M28%2013V14H29V13H28ZM0.292893%2012.2929C-0.0976311%2012.6834%20-0.0976311%2013.3166%200.292893%2013.7071L6.65685%2020.0711C7.04738%2020.4616%207.68054%2020.4616%208.07107%2020.0711C8.46159%2019.6805%208.46159%2019.0474%208.07107%2018.6569L2.41421%2013L8.07107%207.34315C8.46159%206.95262%208.46159%206.31946%208.07107%205.92893C7.68054%205.53841%207.04738%205.53841%206.65685%205.92893L0.292893%2012.2929ZM28%200H27V13H28H29V0H28ZM28%2013V12H1V13V14H28V13Z%22%20fill%3D%22black%22/%3E%3C/svg%3E") !important;
      -webkit-mask-repeat: no-repeat !important;
      mask-repeat: no-repeat !important;
      -webkit-mask-position: center !important;
      mask-position: center !important;
      -webkit-mask-size: contain !important;
      mask-size: contain !important;
    }
    .annonces-page-custom [data-annonces-filters] .ressources-dropdown-list li a:hover::after,
    .annonces-page-custom [data-annonces-filters] .ressources-dropdown-list li button:hover::after,
    .annonces-page-custom [data-annonces-filters] .ressources-dropdown[open] .ressources-dropdown-list li a:hover::after,
    .annonces-page-custom [data-annonces-filters] .ressources-dropdown[open] .ressources-dropdown-list li button:hover::after {
      opacity: 1 !important;
      background-color: currentColor !important;
    }
    .annonces-page-custom [data-annonces-filters] .ressources-dropdown[open] .ressources-dropdown-list {
      position: static !important;
      width: 100% !important;
      margin-top: 0 !important;
      border-top-width: 0 !important;
    }
    .annonces-page-custom .annonces-item,
    .annonces-page-custom .ressource-accordion-title,
    .annonces-page-custom .ressource-accordion-meta,
    .annonces-page-custom .ressource-accordion-content,
    .annonces-page-custom .ressource-accordion-content *,
    .annonces-page-custom .ressource-accordion-links h4,
    .annonces-page-custom .ressource-accordion-files h4,
    /* Liens texte : exclure les boutons et les PDF (stylés ailleurs). */
    .annonces-page-custom .ressource-accordion-links a:not(.ressource-action-button):not(.ressources-accordion-pdf),
    .annonces-page-custom .ressource-accordion-files a:not(.ressource-action-button):not(.ressources-accordion-pdf) {
      color: var(--ressources-theme-text, #000000) !important;
    }
    .annonces-page-custom .annonces-item {
      border-color: var(--ressources-theme-lines, #000000) !important;
    }
    .annonces-page-custom .ressource-accordion-plus {
      background: var(--page-bg, #ffffff) !important;
      color: var(--ressources-theme-button-text, #ffffff) !important;
      border-color: var(--ressources-theme-lines, #000000) !important;
    }
    .annonces-page-custom .ressource-accordion-item[open] {
      background: var(--ressources-theme-text, #000000) !important;
      color: var(--page-bg, #ffffff) !important;
    }
    .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-title,
    .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-meta,
    .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-content,
    .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-content *:not(.ressource-action-button):not(.ressources-accordion-pdf):not(.action-download__label):not(.action-download-icon),
    .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-links a:not(.ressource-action-button),
    .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-files a:not(.ressource-action-button):not(.ressources-accordion-pdf),
    .annonces-page-custom .ressource-accordion-item[open] .annonces-accordion-info,
    .annonces-page-custom .ressource-accordion-item[open] .annonces-accordion-info * {
      color: var(--page-bg, #ffffff) !important;
    }
    .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-plus {
      background: var(--page-bg, #ffffff) !important;
      color: var(--ressources-theme-text, #000000) !important;
      border-color: var(--page-bg, #ffffff) !important;
    }
    .annonces-page-custom .ressource-accordion-links .ressource-action-button,
    .annonces-page-custom .ressource-accordion-files .ressource-action-button {
      background: var(--page-bg, #ffffff) !important;
      color: var(--ressource-btn-text, var(--ressources-theme-button-text, #ffffff)) !important;
      -webkit-text-fill-color: var(--ressource-btn-text, var(--ressources-theme-button-text, #ffffff)) !important;
      border: 2px solid var(--page-bg, #ffffff) !important;
      border-color: var(--page-bg, #ffffff) !important;
      outline-color: var(--page-bg, #ffffff) !important;
      /* Coins rond → carré au hover : instantané (couleurs peuvent rester animées). */
      transition:
        border-radius 0s linear,
        background-color 140ms ease,
        color 140ms ease,
        border-color 140ms ease,
        box-shadow 140ms ease !important;
    }
    .annonces-page-custom .ressource-accordion-content a.ressource-action-button,
    .annonces-page-custom .ressource-accordion-content a.ressource-action-button:link,
    .annonces-page-custom .ressource-accordion-content a.ressource-action-button:visited,
    .annonces-page-custom .ressource-accordion-content a.ressource-action-button:active,
    .annonces-page-custom .ressource-accordion-content a.ressource-action-button:focus {
      color: var(--ressource-btn-text, var(--ressources-theme-button-text, #ffffff)) !important;
      -webkit-text-fill-color: var(--ressource-btn-text, var(--ressources-theme-button-text, #ffffff)) !important;
      text-decoration-color: var(--ressource-btn-text, var(--ressources-theme-button-text, #ffffff)) !important;
    }
    .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-content a.ressource-action-button,
    .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-content a.ressource-action-button:link,
    .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-content a.ressource-action-button:visited,
    .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-content a.ressource-action-button:active,
    .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-content a.ressource-action-button:focus {
      color: var(--ressource-btn-text, var(--ressources-theme-button-text, #ffffff)) !important;
      -webkit-text-fill-color: var(--ressource-btn-text, var(--ressources-theme-button-text, #ffffff)) !important;
      text-decoration-color: var(--ressource-btn-text, var(--ressources-theme-button-text, #ffffff)) !important;
    }
    .annonces-page-custom .ressource-accordion-content a.ressource-action-button *,
    .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-content a.ressource-action-button * {
      color: var(--ressource-btn-text, var(--ressources-theme-button-text, #ffffff)) !important;
      -webkit-text-fill-color: var(--ressource-btn-text, var(--ressources-theme-button-text, #ffffff)) !important;
    }
    .annonces-page-custom .ressource-accordion-files a.ressources-accordion-pdf {
      width: 100% !important;
      max-width: 100% !important;
    }
    /* Panneau ouvert : PDF — aligné ressources (texte noir sur fond blanc en N&B via --ressource-btn-* / main.css) */
    .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-content a.ressources-accordion-pdf,
    .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-content a.ressources-accordion-pdf .action-download__label,
    .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-content a.ressources-accordion-pdf .action-download-icon {
      color: var(--ressources-theme-text, #000000) !important;
    }
    .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-content a.ressources-accordion-pdf .action-download__label {
      background: var(--page-bg, #ffffff) !important;
      border-color: var(--page-bg, #ffffff) !important;
      outline-color: var(--page-bg, #ffffff) !important;
    }
    .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-content a.ressources-accordion-pdf .action-download-icon {
      background-color: var(--page-bg, #ffffff) !important;
      border: none !important;
      border-color: transparent !important;
    }
    .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-content a.ressources-accordion-pdf svg :is(path, line) {
      fill: var(--ressources-theme-text, #000000) !important;
      stroke: var(--ressources-theme-text, #000000) !important;
    }
    .annonces-page-custom .ressource-accordion-files a.ressources-accordion-pdf .action-download-icon {
      border: none !important;
      border-color: transparent !important;
      outline: none !important;
      box-shadow: none !important;
    }
    body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-files a.ressources-accordion-pdf .action-download-icon {
      border: none !important;
      border-color: transparent !important;
    }
    .annonces-page-custom .ressource-accordion-links .ressource-action-button:link,
    .annonces-page-custom .ressource-accordion-links .ressource-action-button:visited,
    .annonces-page-custom .ressource-accordion-links .ressource-action-button:active,
    .annonces-page-custom .ressource-accordion-links .ressource-action-button:focus,
    .annonces-page-custom .ressource-accordion-files .ressource-action-button:link,
    .annonces-page-custom .ressource-accordion-files .ressource-action-button:visited,
    .annonces-page-custom .ressource-accordion-files .ressource-action-button:active,
    .annonces-page-custom .ressource-accordion-files .ressource-action-button:focus {
      color: var(--ressource-btn-text, var(--ressources-theme-button-text, #ffffff)) !important;
      -webkit-text-fill-color: var(--ressource-btn-text, var(--ressources-theme-button-text, #ffffff)) !important;
      text-decoration-color: var(--ressource-btn-text, var(--ressources-theme-button-text, #ffffff)) !important;
    }
    .annonces-page-custom .ressource-accordion-links .ressource-action-button *,
    .annonces-page-custom .ressource-accordion-files .ressource-action-button * {
      color: var(--ressource-btn-text, var(--ressources-theme-button-text, #ffffff)) !important;
      -webkit-text-fill-color: var(--ressource-btn-text, var(--ressources-theme-button-text, #ffffff)) !important;
    }
    .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-links .ressource-action-button,
    .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-files .ressource-action-button {
      background: var(--page-bg, #ffffff) !important;
      color: var(--ressource-btn-text, var(--ressources-theme-button-text, #ffffff)) !important;
      -webkit-text-fill-color: var(--ressource-btn-text, var(--ressources-theme-button-text, #ffffff)) !important;
      /* 2px transparent : réserve la place pour le hover (trait inset) sans saut de layout. */
      border: 2px solid transparent !important;
      outline: none !important;
      box-shadow: none !important;
    }
    .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-links .ressource-action-button *,
    .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-files .ressource-action-button * {
      color: var(--ressource-btn-text, var(--ressources-theme-button-text, #ffffff)) !important;
      -webkit-text-fill-color: var(--ressource-btn-text, var(--ressources-theme-button-text, #ffffff)) !important;
    }
    .annonces-page-custom .ressource-accordion-links .ressource-action-button:hover,
    .annonces-page-custom .ressource-accordion-files .ressource-action-button:hover,
    .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-links .ressource-action-button:hover,
    .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-files .ressource-action-button:hover {
      border-radius: 0 !important;
      background: #ffffff !important;
      color: #000000 !important;
      -webkit-text-fill-color: #000000 !important;
      /* Même épaisseur qu’au repos (2px) ; trait noir 1px à l’intérieur (pas de décalage du contenu). */
      border: 2px solid #ffffff !important;
      border-color: #ffffff !important;
      outline: none !important;
      box-shadow: inset 0 0 0 1px #000000 !important;
      background-clip: padding-box !important;
    }
    .annonces-page-custom .ressource-accordion-links .ressource-action-button:hover:visited,
    .annonces-page-custom .ressource-accordion-files .ressource-action-button:hover:visited,
    .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-links .ressource-action-button:hover:visited,
    .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-files .ressource-action-button:hover:visited {
      color: #000000 !important;
      -webkit-text-fill-color: #000000 !important;
      text-decoration-color: #000000 !important;
    }
    .annonces-page-custom .ressource-accordion-links .ressource-action-button:hover *,
    .annonces-page-custom .ressource-accordion-files .ressource-action-button:hover *,
    .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-links .ressource-action-button:hover *,
    .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-files .ressource-action-button:hover * {
      color: #000000 !important;
      -webkit-text-fill-color: #000000 !important;
    }
    .annonces-page-custom ul.ressources-accordion-list > li {
      border-top: 2px solid var(--ressources-theme-lines, #000000) !important;
    }
    .annonces-page-custom ul.ressources-accordion-list > li:last-child {
      border-bottom: 2px solid var(--ressources-theme-lines, #000000) !important;
    }

/*
 * Pastille « + » : alignée sur la 1re ligne de texte (même marge haute que le titre),
 * ancrée en flux (pas en absolute) — ne bouge pas à l’ouverture du <details>.
 */
.annonces-page-custom .ressource-accordion-summary.annonces-accordion-summary {
  --annonces-acc-inline-gutter: 26px;
  --annonces-acc-plus-size: 2.125rem;
  --annonces-acc-title-font-size: 1.2rem;
  --annonces-acc-title-leading: 1.2;
  --annonces-acc-title-line-box: calc(
    var(--annonces-acc-title-font-size) * var(--annonces-acc-title-leading)
  );
  /* Centre la pastille sur la 1re ligne du titre (indépendant du padding-bottom à l’ouverture). */
  --annonces-acc-plus-offset-top: calc(
    var(--annonces-acc-inline-gutter) + (var(--annonces-acc-title-line-box) - var(--annonces-acc-plus-size)) / 2
  );
  box-sizing: border-box;
  align-items: start !important;
}

.annonces-page-custom .ressource-accordion-summary .ressource-accordion-plus {
  grid-column: 2;
  grid-row: 1;
  position: static !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  bottom: auto !important;
  justify-self: end;
  align-self: start !important;
  order: unset !important;
  margin: 0 !important;
  width: var(--annonces-acc-plus-size) !important;
  height: var(--annonces-acc-plus-size) !important;
  min-width: var(--annonces-acc-plus-size) !important;
  min-height: var(--annonces-acc-plus-size) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0 !important;
  line-height: 0 !important;
  transform: none !important;
  transition: none;
  flex-shrink: 0;
  z-index: 1;
}

@media (min-width: 768px) {
  .annonces-page-custom .ressource-accordion-summary .ressource-accordion-plus {
    margin-top: var(--annonces-acc-plus-offset-top) !important;
    margin-right: var(--annonces-acc-inline-gutter) !important;
  }
}

.annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-summary .ressource-accordion-plus,
.annonces-page-custom .ressource-accordion-item:not([open]) .ressource-accordion-summary .ressource-accordion-plus {
  transform: none !important;
}

@media (min-width: 768px) {
  .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-summary .ressource-accordion-plus,
  .annonces-page-custom .ressource-accordion-item:not([open]) .ressource-accordion-summary .ressource-accordion-plus {
    margin-top: var(--annonces-acc-plus-offset-top) !important;
    margin-right: var(--annonces-acc-inline-gutter) !important;
  }
}

/* Gouttière intérieure desktop : enfants du bandeau (mobile = padding sur le <summary>) */
@media (min-width: 768px) {
  .annonces-page-custom .ressource-accordion-item .ressource-accordion-summary .ressource-accordion-title,
  .annonces-page-custom .ressource-accordion-item .ressource-accordion-summary .ressource-accordion-meta,
  .annonces-page-custom .ressource-accordion-item .ressource-accordion-summary .annonces-accordion-info {
    padding-left: var(--annonces-acc-inline-gutter) !important;
  }

  .annonces-page-custom .ressource-accordion-item .ressource-accordion-summary .ressource-accordion-title.annonces-accordion-title {
    padding-top: var(--annonces-acc-inline-gutter) !important;
    font-size: var(--annonces-acc-title-font-size) !important;
    line-height: var(--annonces-acc-title-leading) !important;
  }
}

.annonces-page-custom .ressource-accordion-plus::before {
  content: "+" !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 1.35rem !important;
  line-height: 1 !important;
  text-align: center !important;
  transform: rotate(0deg);
  transform-origin: 50% 50%;
  transition: transform 0.15s ease;
}

.annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-plus::before {
  transform: rotate(45deg);
}

@media (min-width: 768px) {
  .annonces-page-custom .ressource-accordion-summary.annonces-accordion-summary {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--site-gutter, 1rem);
    padding-right: 0 !important;
  }

  .annonces-page-custom .ressource-accordion-summary .annonces-accordion-title {
    grid-column: 1 / span 3 !important;
    grid-row: 1;
  }

  .annonces-page-custom .ressource-accordion-summary .annonces-accordion-organisme {
    grid-column: 4 / span 3 !important;
    grid-row: 1;
    margin-top: 0 !important;
  }

  .annonces-page-custom .ressource-accordion-summary .annonces-accordion-departement {
    grid-column: 7 / span 3 !important;
    grid-row: 1;
    margin-top: 0 !important;
  }

  .annonces-page-custom .ressource-accordion-summary .annonces-accordion-info {
    grid-column: 10 / span 2 !important;
    grid-row: 1;
  }

  .annonces-page-custom .ressource-accordion-summary .ressource-accordion-plus {
    grid-column: 12 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    align-self: start !important;
  }
}

@media (max-width: 767px) {
  /* Aligné sur main.css (paragraphes mobile = 5vw) : bandeau + corps ouvert identiques */
  .annonces-page-custom .ressource-accordion-item {
    --annonces-acc-inline-gutter: 16px;
    --annonces-acc-content-padding: 1.25rem;
    --annonces-acc-plus-size: 1.375rem;
    --annonces-acc-mobile-text: 5vw;
    --annonces-acc-mobile-leading: normal;
    --annonces-acc-title-font-size: var(--annonces-acc-mobile-text);
    --annonces-acc-title-leading: var(--annonces-acc-mobile-leading);
    --annonces-acc-plus-offset-top: var(--annonces-acc-inline-gutter);
  }

  /* Grille annonces : contenu empilé (col. 1) + pastille à droite (col. 2) */
  .annonces-page-custom .ressource-accordion-item .ressource-accordion-summary.annonces-accordion-summary {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    column-gap: 0.75rem;
    row-gap: 0.35rem;
    align-items: start !important;
    flex-direction: unset !important;
    box-sizing: border-box !important;
    padding: var(--annonces-acc-inline-gutter) !important;
  }

  .annonces-page-custom .ressource-accordion-summary .annonces-accordion-title {
    grid-column: 1 !important;
    grid-row: 1;
    min-width: 0;
  }

  .annonces-page-custom .ressource-accordion-summary .annonces-accordion-organisme {
    grid-column: 1 !important;
    grid-row: 2;
    min-width: 0;
  }

  .annonces-page-custom .ressource-accordion-summary .annonces-accordion-departement {
    grid-column: 1 !important;
    grid-row: 3;
    min-width: 0;
  }

  .annonces-page-custom .ressource-accordion-summary .annonces-accordion-info {
    grid-column: 1 !important;
    grid-row: 4;
    min-width: 0;
  }

  .annonces-page-custom .ressource-accordion-summary .ressource-accordion-title,
  .annonces-page-custom .ressource-accordion-summary .ressource-accordion-meta,
  .annonces-page-custom .ressource-accordion-summary .annonces-accordion-info {
    min-width: 0;
    padding: 0 !important;
    margin: 0 !important;
  }

  .annonces-page-custom .ressource-accordion-item .ressource-accordion-summary .ressource-accordion-plus {
    grid-column: 2 !important;
    grid-row: 1 !important;
    position: static !important;
    align-self: start !important;
    justify-self: end !important;
    margin: 0 !important;
    font-size: 0 !important;
    border-radius: 9999px !important;
    transform: none !important;
  }

  .annonces-page-custom .ressource-accordion-plus::before {
    font-size: 0.9rem !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /*
   * Référence typo = titre h3 du bandeau (aligné <p> mobile = 5vw).
   * Bandeau + contenu ouvert : même font-size / line-height (voir aussi JS sync mobile).
   */
  .annonces-page-custom .ressource-accordion-item .ressource-accordion-summary :is(
    .ressource-accordion-title,
    .ressource-accordion-title.annonces-accordion-title,
    .ressource-accordion-meta,
    .annonces-accordion-info,
    .annonces-accordion-info.copy,
    .annonces-accordion-info.text-2xl,
    .annonces-accordion-info p,
    .annonces-accordion-info :is(p, span, li, strong, em, a)
  ),
  .annonces-page-custom .ressource-accordion-item .ressource-accordion-content.annonces-accordion-content :is(
    .annonces-accordion-text,
    .annonces-accordion-text.copy,
    .annonces-accordion-text.text-2xl,
    .ressource-accordion-text.annonces-accordion-text,
    .annonces-accordion-text p,
    .annonces-accordion-text :is(p, span, li, strong, em, a),
    .copy p,
    .copy li
  ) {
    font-size: var(--annonces-acc-mobile-text) !important;
    line-height: var(--annonces-acc-mobile-leading) !important;
  }

  /* Gouttière : sur le <summary> uniquement (mobile) */
  .annonces-page-custom .ressource-accordion-item .ressource-accordion-summary .ressource-accordion-title,
  .annonces-page-custom .ressource-accordion-item .ressource-accordion-summary .ressource-accordion-title.annonces-accordion-title,
  .annonces-page-custom .ressource-accordion-item .ressource-accordion-summary .ressource-accordion-meta,
  .annonces-page-custom .ressource-accordion-item .ressource-accordion-summary .annonces-accordion-info,
  .annonces-page-custom .ressource-accordion-item .ressource-accordion-summary .annonces-accordion-info p {
    padding: 0 !important;
    margin: 0 !important;
  }

  .annonces-page-custom .ressource-accordion-item:not([open]) .ressource-accordion-summary .ressource-accordion-title,
  .annonces-page-custom .ressource-accordion-item:not([open]) .ressource-accordion-summary .ressource-accordion-meta,
  .annonces-page-custom .ressource-accordion-item:not([open]) .ressource-accordion-summary .annonces-accordion-info,
  .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-summary .ressource-accordion-title,
  .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-summary .ressource-accordion-meta,
  .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-summary .annonces-accordion-info {
    padding-bottom: 0 !important;
  }

  /* Contenu ouvert : 2 colonnes + gouttière intérieure (texte pas collé au fond) */
  .annonces-page-custom .ressource-accordion-item .ressource-accordion-content.annonces-accordion-content,
  .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-content.annonces-accordion-content {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 0.75rem;
    row-gap: 0.5rem;
    padding: var(--annonces-acc-content-padding) !important;
    box-sizing: border-box;
  }

  .annonces-page-custom .ressource-accordion-content.annonces-accordion-content .annonces-accordion-text {
    grid-column: 1;
    min-width: 0;
  }

  .annonces-page-custom .ressource-accordion-content.annonces-accordion-content .annonces-accordion-actions {
    grid-column: 2;
    align-self: start;
    min-width: 0;
    padding-top: 0;
  }

  .annonces-page-custom .ressource-accordion-content.annonces-accordion-content .annonces-accordion-text:only-child {
    grid-column: 1 / -1;
  }

  .annonces-page-custom .ressource-accordion-content.annonces-accordion-content:not(:has(.annonces-accordion-text)) .annonces-accordion-actions {
    grid-column: 1 / -1;
  }

  .annonces-page-custom .ressource-accordion-content.annonces-accordion-content .annonces-accordion-text :is(p, li) {
    margin: 0 !important;
    padding: 0 !important;
  }

  .annonces-page-custom .ressource-accordion-content.annonces-accordion-content .annonces-accordion-text p + p {
    margin-top: 0.35em !important;
  }

  .annonces-page-custom .ressource-accordion-content.annonces-accordion-content .annonces-accordion-actions:only-child {
    padding-top: 0;
  }

  /* Boutons / PDF : hors typo corps de texte */
  .annonces-page-custom .ressource-accordion-content.annonces-accordion-content a.ressource-action-button,
  .annonces-page-custom .ressource-accordion-content.annonces-accordion-content a.ressource-action-button * {
    font-size: clamp(0.8rem, 3.5vw, 0.95rem) !important;
  }

  .annonces-page-custom .ressource-accordion-content.annonces-accordion-content a.ressources-accordion-pdf .action-download__label {
    font-size: clamp(0.8rem, 3.5vw, 0.95rem) !important;
  }
}

/* Priorité finale mobile : bandeau annonces = typo <p> (5vw), au-dessus des sync JS inline */
@media (max-width: 767px) {
  .annonces-page-custom .ressource-accordion-item .ressource-accordion-summary :is(
    .ressource-accordion-title,
    .ressource-accordion-title.annonces-accordion-title,
    .ressource-accordion-meta,
    .annonces-accordion-info,
    .annonces-accordion-info p,
    .annonces-accordion-info :is(p, span, li, strong, em, a)
  ),
  .annonces-page-custom .ressource-accordion-item .ressource-accordion-content.annonces-accordion-content :is(
    .annonces-accordion-text,
    .annonces-accordion-text p,
    .annonces-accordion-text :is(p, span, li, strong, em, a)
  ) {
    font-size: 5vw !important;
    line-height: normal !important;
  }
}

/* N&B : filtres — aligné nouvelle page ressources (fond noir / texte blanc ; options atténuées) */
body[data-contrast-mode="bw"] .annonces-page-custom [data-annonces-filters] .ressources-dropdown-label,
body[data-contrast-mode="bw"] .annonces-page-custom [data-annonces-filters] .ressources-dropdown-arrow,
body[data-contrast-mode="bw"] .annonces-page-custom [data-annonces-filters] .ressources-dropdown-list {
  background-color: #000000 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: #000000 !important;
  opacity: 1 !important;
}

body[data-contrast-mode="bw"] .annonces-page-custom [data-annonces-filters] .ressources-dropdown-arrow svg,
body[data-contrast-mode="bw"] .annonces-page-custom [data-annonces-filters] .ressources-dropdown-arrow svg path {
  fill: #ffffff !important;
  color: #ffffff !important;
}

body[data-contrast-mode="bw"] .annonces-page-custom [data-annonces-filters] .ressources-dropdown-list li button,
body[data-contrast-mode="bw"] .annonces-page-custom [data-annonces-filters] .ressources-dropdown-list li a,
body[data-contrast-mode="bw"] .annonces-page-custom [data-annonces-filters] .ressources-dropdown[open] .ressources-dropdown-list li button,
body[data-contrast-mode="bw"] .annonces-page-custom [data-annonces-filters] .ressources-dropdown[open] .ressources-dropdown-list li a {
  background-color: #000000 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: #000000 !important;
  opacity: 0.55 !important;
}

body[data-contrast-mode="bw"] .annonces-page-custom [data-annonces-filters] .ressources-dropdown-list li button:hover,
body[data-contrast-mode="bw"] .annonces-page-custom [data-annonces-filters] .ressources-dropdown-list li a:hover,
body[data-contrast-mode="bw"] .annonces-page-custom [data-annonces-filters] .ressources-dropdown[open] .ressources-dropdown-list li button:hover,
body[data-contrast-mode="bw"] .annonces-page-custom [data-annonces-filters] .ressources-dropdown[open] .ressources-dropdown-list li a:hover {
  background-color: #ffffff !important;
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
  border-color: #000000 !important;
  opacity: 1 !important;
}

/* N&B : pastille « + » — signe noir */
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-plus,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-plus {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
  background: #ffffff !important;
  border-color: #000000 !important;
}

body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-plus::before {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
}

/* N&B : boutons (accordéon ouvert) — texte noir, fond blanc ; hover texte blanc, fond noir */
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-links a.ressource-action-button,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-files a.ressource-action-button,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-links .ressource-action-button,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-files .ressource-action-button,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-content a.ressource-action-button,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-links a.ressource-action-button,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-files a.ressource-action-button,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-links .ressource-action-button,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-files .ressource-action-button,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-content a.ressource-action-button,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-links a.ressource-action-button:link,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-links a.ressource-action-button:visited,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-links a.ressource-action-button:active,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-links a.ressource-action-button:focus,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-files a.ressource-action-button:link,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-files a.ressource-action-button:visited,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-files a.ressource-action-button:active,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-files a.ressource-action-button:focus,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-content a.ressource-action-button:link,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-content a.ressource-action-button:visited,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-content a.ressource-action-button:active,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-content a.ressource-action-button:focus {
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
  border: 2px solid #ffffff !important;
  border-color: #ffffff !important;
  outline: none !important;
  outline-color: #ffffff !important;
  text-decoration-color: #000000 !important;
  box-shadow: none !important;
  background-clip: padding-box !important;
}

body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-links a.ressource-action-button *,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-files a.ressource-action-button *,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-links .ressource-action-button *,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-files .ressource-action-button *,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-content a.ressource-action-button *,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-links a.ressource-action-button *,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-files a.ressource-action-button *,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-links .ressource-action-button *,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-files .ressource-action-button *,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-content a.ressource-action-button * {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
  fill: #000000 !important;
}

body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-links a.ressource-action-button:hover,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-files a.ressource-action-button:hover,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-links .ressource-action-button:hover,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-files .ressource-action-button:hover,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-content a.ressource-action-button:hover,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-links a.ressource-action-button:hover,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-files a.ressource-action-button:hover,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-links .ressource-action-button:hover,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-files .ressource-action-button:hover,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-content a.ressource-action-button:hover,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-links a.ressource-action-button:hover:visited,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-files a.ressource-action-button:hover:visited,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-links a.ressource-action-button:hover:visited,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-files a.ressource-action-button:hover:visited {
  background: #000000 !important;
  background-color: #000000 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border: 2px solid #ffffff !important;
  border-color: #ffffff !important;
  outline: none !important;
  box-shadow: none !important;
  text-decoration-color: #ffffff !important;
  background-clip: padding-box !important;
}

body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-links a.ressource-action-button:hover *,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-files a.ressource-action-button:hover *,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-links .ressource-action-button:hover *,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-files .ressource-action-button:hover *,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-content a.ressource-action-button:hover *,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-links a.ressource-action-button:hover *,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-files a.ressource-action-button:hover *,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-links .ressource-action-button:hover *,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-files .ressource-action-button:hover *,
body[data-contrast-mode="bw"] .annonces-page-custom .ressource-accordion-item[open] .ressource-accordion-content a.ressource-action-button:hover * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  fill: #ffffff !important;
}
