/* Extracted from ressources.twig — ne pas éditer main.css pour cette page */
.ressources-page-custom .ressources-search-bar,
    .ressources-page-custom .ressources-live-results,
    .ressources-page-custom .ressources-live-result-item,
    .ressources-page-custom .ressources-live-result-item button,
    .ressources-page-custom .ressources-live-results-more {
      background: var(--ressources-search-bg, #000000) !important;
    }
    .ressources-page-custom .ressources-search-input,
    .ressources-page-custom .ressources-search-input[type="search"],
    .ressources-page-custom .ressources-search-input::placeholder,
    .ressources-page-custom .ressources-search-submit,
    .ressources-page-custom .ressources-live-result-item button,
    .ressources-page-custom .ressources-live-result-title,
    .ressources-page-custom .ressources-live-result-snippet,
    .ressources-page-custom .ressources-live-result-meta,
    .ressources-page-custom .ressources-live-results-more {
      color: var(--ressources-search-text, #ffffff) !important;
    }
    .ressources-page-custom .ressources-search-input,
    .ressources-page-custom .ressources-search-input[type="search"] {
      background: var(--ressources-search-bg, #000000) !important;
    }
    .ressources-page-custom .ressources-category-card {
      background: var(--ressources-category-bg, #000000) !important;
      color: var(--ressources-category-text, #ffffff) !important;
      border-color: var(--ressources-category-bg, #000000) !important;
    }
    .ressources-page-custom .ressources-category-card:hover {
      background: var(--ressources-category-bg, #000000) !important;
      color: var(--ressources-category-text, #ffffff) !important;
      border-color: var(--ressources-category-bg, #000000) !important;
    }
    .ressources-page-custom .ressources-category-card::before {
      background: var(--ressources-category-bg, #000000) !important;
    }
    .ressources-page-custom .ressources-category-title,
    .ressources-page-custom .ressources-category-count {
      color: var(--ressources-category-text, #ffffff) !important;
    }
    .ressources-page-custom .ressources-theme-title,
    .ressources-page-custom .ressources-theme-close {
      color: var(--ressources-theme-title-text, #000000) !important;
    }
    .ressources-page-custom .ressources-dropdown-label,
    .ressources-page-custom .ressources-dropdown-list li a,
    .ressources-page-custom .ressources-dropdown-list li button {
      font-family: "David", serif !important;
      text-transform: lowercase !important;
    }
    /* Filtres vue thème : aligné annonces — texte = couleur page bg, liste atténuée, 100 % au survol */
    .ressources-page-custom [data-theme-filters] .ressources-dropdown-label,
    .ressources-page-custom [data-theme-filters] .ressources-dropdown-arrow,
    .ressources-page-custom [data-theme-filters] .ressources-dropdown-list {
      background: var(--ressources-theme-filters-bg, #000000) !important;
      background-color: var(--ressources-theme-filters-bg, #000000) !important;
      opacity: 1 !important;
      border-color: var(--ressources-theme-lines, #000000) !important;
    }
    /* Valeur sélectionnée dans le bandeau : pleine opacité */
    .ressources-page-custom [data-theme-filters] .ressources-dropdown-label {
      color: var(--page-bg, #ffffff) !important;
      -webkit-text-fill-color: var(--page-bg, #ffffff) !important;
    }
    .ressources-page-custom [data-theme-filters] .ressources-dropdown-arrow {
      color: var(--page-bg, #ffffff) !important;
    }
    .ressources-page-custom [data-theme-filters] .ressources-dropdown-arrow svg,
    .ressources-page-custom [data-theme-filters] .ressources-dropdown-arrow svg path {
      fill: var(--page-bg, #ffffff) !important;
      color: inherit !important;
    }
    .ressources-page-custom [data-theme-filters] .ressources-dropdown-list li button,
    .ressources-page-custom [data-theme-filters] .ressources-dropdown-list li a {
      color: var(--page-bg, #ffffff) !important;
      -webkit-text-fill-color: var(--page-bg, #ffffff) !important;
      opacity: 0.55 !important;
      background-color: transparent !important;
      transition: opacity 160ms ease, color 160ms ease, background-color 120ms ease;
    }
    .ressources-page-custom [data-theme-filters] .ressources-dropdown[open] .ressources-dropdown-list li button,
    .ressources-page-custom [data-theme-filters] .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;
    }
    .ressources-page-custom [data-theme-filters] .ressources-dropdown-list li button:hover,
    .ressources-page-custom [data-theme-filters] .ressources-dropdown-list li a:hover,
    .ressources-page-custom [data-theme-filters] .ressources-dropdown[open] .ressources-dropdown-list li button:hover,
    .ressources-page-custom [data-theme-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 au survol : même couleur que le texte (mask + currentColor) */
    .ressources-page-custom [data-theme-filters] .ressources-dropdown-list li a::after,
    .ressources-page-custom [data-theme-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;
    }
    .ressources-page-custom [data-theme-filters] .ressources-dropdown-list li a:hover::after,
    .ressources-page-custom [data-theme-filters] .ressources-dropdown-list li button:hover::after {
      opacity: 1 !important;
      background-color: currentColor !important;
    }
    /* Aligne le panneau déroulé avec le bandeau (hors vue thème : flèche fixe 48px). */
    .ressources-page-custom .ressources-dropdown-list {
      left: 0 !important;
      right: auto !important;
      top: calc(100% - 1px) !important;
      box-sizing: border-box !important;
    }
    .ressources-page-custom:not(:has([data-theme-filters])) .ressources-dropdown-list {
      width: calc(100% - 48px) !important;
    }
    /* UX dynamique: la liste déployée pousse le contenu suivant vers le bas */
    .ressources-page-custom [data-theme-filters] .ressources-dropdown[open] .ressources-dropdown-list {
      position: static !important;
      width: 100% !important;
      margin-top: 0 !important;
      border-top-width: 0 !important;
    }
    .ressources-page-custom .ressources-item,
    .ressources-page-custom .ressource-accordion-title,
    .ressources-page-custom .ressource-accordion-meta,
    .ressources-page-custom .ressource-accordion-content,
    .ressources-page-custom .ressource-accordion-content *,
    .ressources-page-custom .ressource-accordion-links h4,
    .ressources-page-custom .ressource-accordion-files h4,
    .ressources-page-custom .ressource-accordion-links a,
    .ressources-page-custom .ressource-accordion-files a {
      color: var(--ressources-theme-text, #000000) !important;
    }
    /* État ouvert: inversion des couleurs par rapport à l'état par défaut */
    .ressources-page-custom .ressource-accordion-item[open] {
      background: var(--ressources-theme-text, #000000) !important;
      color: var(--page-bg, #ffffff) !important;
    }
    .ressources-page-custom .ressource-accordion-item[open] .ressource-accordion-title,
    .ressources-page-custom .ressource-accordion-item[open] .ressource-accordion-meta,
    .ressources-page-custom .ressource-accordion-item[open] .ressource-accordion-content,
    .ressources-page-custom .ressource-accordion-item[open] .ressource-accordion-content *,
    .ressources-page-custom .ressource-accordion-item[open] .ressource-accordion-links a,
    .ressources-page-custom .ressource-accordion-item[open] .ressource-accordion-files a,
    .ressources-page-custom .ressource-accordion-item[open] .annonces-accordion-info,
    .ressources-page-custom .ressource-accordion-item[open] .annonces-accordion-info * {
      color: var(--page-bg, #ffffff) !important;
    }
    .ressources-page-custom .ressource-accordion-plus {
      background: var(--ressources-theme-button-bg, #000000) !important;
      color: var(--ressources-theme-button-text, #ffffff) !important;
      border-color: var(--ressources-theme-lines, #000000) !important;
    }
    .ressources-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;
    }
    .ressources-page-custom .ressource-accordion-links .ressource-action-button,
    .ressources-page-custom .ressource-accordion-files .ressource-action-button {
      background: var(--ressource-btn-bg, var(--ressources-theme-button-bg, #000000)) !important;
      color: var(--ressource-btn-text, var(--ressources-theme-button-text, #ffffff)) !important;
      border: 2px solid var(--ressource-btn-bg, var(--ressources-theme-button-bg, #000000)) !important;
      border-color: var(--ressource-btn-bg, var(--ressources-theme-button-bg, #000000)) !important;
      outline-color: var(--ressource-btn-bg, var(--ressources-theme-button-bg, #000000)) !important;
    }
    /* Surclasser main.css et le * / liens « inversés » en panneau ouvert. */
    .ressources-page-custom .ressource-accordion-content a.ressource-action-button,
    .ressources-page-custom .ressource-accordion-content a.ressource-action-button:link,
    .ressources-page-custom .ressource-accordion-content a.ressource-action-button:visited,
    .ressources-page-custom .ressource-accordion-content a.ressource-action-button:active,
    .ressources-page-custom .ressource-accordion-content a.ressource-action-button:focus {
      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;
    }
    .ressources-page-custom .ressource-accordion-item[open] .ressource-accordion-content a.ressource-action-button,
    .ressources-page-custom .ressource-accordion-item[open] .ressource-accordion-content a.ressource-action-button:link,
    .ressources-page-custom .ressource-accordion-item[open] .ressource-accordion-content a.ressource-action-button:visited,
    .ressources-page-custom .ressource-accordion-item[open] .ressource-accordion-content a.ressource-action-button:active,
    .ressources-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;
      text-decoration-color: var(--ressource-btn-text, var(--ressources-theme-button-text, #ffffff)) !important;
    }
    .ressources-page-custom .ressource-accordion-content a.ressource-action-button *,
    .ressources-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;
    }
    /* PDF liste : même composant que Astroïde archivé (.action-download--vars), couleurs via snippet. */
    .ressources-page-custom .ressource-accordion-files a.ressources-accordion-pdf {
      width: 100% !important;
      max-width: 100% !important;
    }
    /* Panneau ouvert : le * impose le texte inversé ; le PDF garde fond page-bg et texte/icône couleur thème. */
    .ressources-page-custom .ressource-accordion-item[open] .ressource-accordion-content a.ressources-accordion-pdf,
    .ressources-page-custom .ressource-accordion-item[open] .ressource-accordion-content a.ressources-accordion-pdf .action-download__label,
    .ressources-page-custom .ressource-accordion-item[open] .ressource-accordion-content a.ressources-accordion-pdf .action-download-icon {
      color: var(--ressources-theme-text, #000000) !important;
    }
    .ressources-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;
    }
    .ressources-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;
    }
    .ressources-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;
    }
    /* Pastille PDF (.action-download-icon) : aucune bordure — main.css et mode N&B en imposent une au hover. */
    .ressources-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"] .ressources-page-custom .ressource-accordion-item[open] .ressource-accordion-files a.ressources-accordion-pdf .action-download-icon {
      border: none !important;
      border-color: transparent !important;
    }
    .ressources-page-custom .ressource-accordion-links .ressource-action-button:link,
    .ressources-page-custom .ressource-accordion-links .ressource-action-button:visited,
    .ressources-page-custom .ressource-accordion-links .ressource-action-button:active,
    .ressources-page-custom .ressource-accordion-links .ressource-action-button:focus,
    .ressources-page-custom .ressource-accordion-files .ressource-action-button:link,
    .ressources-page-custom .ressource-accordion-files .ressource-action-button:visited,
    .ressources-page-custom .ressource-accordion-files .ressource-action-button:active,
    .ressources-page-custom .ressource-accordion-files .ressource-action-button:focus {
      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;
    }
    .ressources-page-custom .ressource-accordion-links .ressource-action-button *,
    .ressources-page-custom .ressource-accordion-files .ressource-action-button * {
      color: var(--ressource-btn-text, var(--ressources-theme-button-text, #ffffff)) !important;
    }
    /* Boutons dans une ressource ouverte:
       texte + bordure même couleur, puis inversion au hover */
    .ressources-page-custom .ressource-accordion-item[open] .ressource-accordion-links .ressource-action-button,
    .ressources-page-custom .ressource-accordion-item[open] .ressource-accordion-files .ressource-action-button {
      background: var(--ressource-btn-bg, var(--ressources-theme-button-bg, #000000)) !important;
      color: var(--ressource-btn-text, var(--ressources-theme-button-text, #ffffff)) !important;
      border: none !important;
      outline: none !important;
      box-shadow: none !important;
    }
    .ressources-page-custom .ressource-accordion-item[open] .ressource-accordion-links .ressource-action-button *,
    .ressources-page-custom .ressource-accordion-item[open] .ressource-accordion-files .ressource-action-button * {
      color: var(--ressource-btn-text, var(--ressources-theme-button-text, #ffffff)) !important;
    }
    .ressources-page-custom .ressource-accordion-links .ressource-action-button:hover,
    .ressources-page-custom .ressource-accordion-files .ressource-action-button:hover {
      background: var(--ressource-btn-hover-bg, var(--ressources-theme-button-hover-bg, var(--ressources-theme-text, #000000))) !important;
      color: var(--ressource-btn-hover-text, var(--ressources-theme-button-hover-text, var(--page-bg, #ffffff))) !important;
      border: 2px solid var(--ressource-btn-hover-bg, var(--ressources-theme-button-hover-bg, var(--ressources-theme-text, #000000))) !important;
      border-color: var(--ressource-btn-hover-bg, var(--ressources-theme-button-hover-bg, var(--ressources-theme-text, #000000))) !important;
      outline-color: var(--ressource-btn-hover-bg, var(--ressources-theme-button-hover-bg, var(--ressources-theme-text, #000000))) !important;
    }
    .ressources-page-custom .ressource-accordion-links .ressource-action-button:hover:visited,
    .ressources-page-custom .ressource-accordion-files .ressource-action-button:hover:visited {
      color: var(--ressource-btn-hover-text, var(--ressources-theme-button-hover-text, var(--page-bg, #ffffff))) !important;
      text-decoration-color: var(--ressource-btn-hover-text, var(--ressources-theme-button-hover-text, var(--page-bg, #ffffff))) !important;
    }
    .ressources-page-custom .ressource-accordion-links .ressource-action-button:hover *,
    .ressources-page-custom .ressource-accordion-files .ressource-action-button:hover * {
      color: var(--ressource-btn-hover-text, var(--ressources-theme-button-hover-text, var(--page-bg, #ffffff))) !important;
    }
    /* Un seul filet entre les entrées (évite border-b + border-top = trait double). */
    .ressources-page-custom ul.ressources-accordion-list > li {
      border-top: 2px solid var(--ressources-theme-lines, #000000) !important;
    }
    .ressources-page-custom ul.ressources-accordion-list > li:last-child {
      border-bottom: 2px solid var(--ressources-theme-lines, #000000) !important;
    }

/* Mode N&B : survol des options de filtre = fond blanc / texte noir (priorité maximale). */
body[data-contrast-mode="bw"] .ressources-page-custom [data-theme-filters] .ressources-dropdown-list li button:hover,
body[data-contrast-mode="bw"] .ressources-page-custom [data-theme-filters] .ressources-dropdown-list li a:hover,
body[data-contrast-mode="bw"] .ressources-page-custom [data-theme-filters] .ressources-dropdown[open] .ressources-dropdown-list li button:hover,
body[data-contrast-mode="bw"] .ressources-page-custom [data-theme-filters] .ressources-dropdown[open] .ressources-dropdown-list li a:hover {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
  background-color: #ffffff !important;
  opacity: 1 !important;
}

/* Filtres thème : bandeau en grille, flèche carrée (largeur = hauteur) — aligné annonces */
.ressources-page-custom [data-theme-filters] {
  --theme-filter-label-padding-block: 0.55rem;
  --theme-filter-row-padding-block: 0.15rem;
}

.ressources-page-custom [data-theme-filters] .ressources-dropdown-summary {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: stretch !important;
  width: 100% !important;
}

.ressources-page-custom [data-theme-filters] .ressources-dropdown-label {
  grid-column: 1;
  flex: unset !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  padding: var(--theme-filter-label-padding-block) 1rem var(--theme-filter-label-padding-block) 26px !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
}

.ressources-page-custom [data-theme-filters] .ressources-dropdown-arrow {
  grid-column: 2;
  align-self: stretch !important;
  width: auto !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: none !important;
  max-height: none !important;
  flex: none !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.ressources-page-custom [data-theme-filters] .ressources-dropdown-list {
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.ressources-page-custom [data-theme-filters] .ressources-dropdown-list li a,
.ressources-page-custom [data-theme-filters] .ressources-dropdown-list li button {
  padding: var(--theme-filter-row-padding-block) 2.2rem var(--theme-filter-row-padding-block) 26px !important;
  line-height: 1 !important;
}

.ressources-page-custom [data-theme-filters] .ressources-dropdown[open] .ressources-dropdown-label {
  padding-bottom: var(--theme-filter-row-padding-block) !important;
}

.ressources-page-custom [data-theme-filters] .ressources-dropdown[open] .ressources-dropdown-list {
  margin-top: 0 !important;
  padding-top: 0 !important;
  padding-bottom: calc(var(--theme-filter-label-padding-block) - var(--theme-filter-row-padding-block)) !important;
  border-top-width: 0 !important;
}
