/* Annuaire (listes, recherche) et guides */
.pd-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pd-intro-gauche { max-width: 760px; font-size: 1.05em; margin: 6px 0 18px; }
.pd-titre-section { color: var(--pd-bleu); font-size: 1.4em; font-weight: 700; margin: 36px 0 16px; }
.pd-titre-section:first-child { margin-top: 0; }

/* Recherche */
.pd-recherche { display: flex; flex-wrap: wrap; gap: 8px; max-width: 900px; margin: 14px 0 6px; }
.pd-recherche select, .pd-recherche input { font: inherit; padding: 11px 14px; border: 1px solid #b9c7d0; border-radius: 30px; background: #fff; color: #1d2b33; min-width: 0; }
.pd-recherche select { flex: 0 1 260px; }
.pd-recherche input { flex: 1 1 280px; }
.pd-recherche .pd-bouton { border: 0; margin: 0; cursor: pointer; }
.pd-recherche-nom { max-width: 560px; margin-top: 14px; }
.pd-recherche-nom label { display: block; font-size: .9em; color: #4a5c66; margin-bottom: 4px; }
.pd-suggest { position: relative; }
.pd-suggest input { font: inherit; width: 100%; padding: 10px 14px; border: 1px solid #b9c7d0; border-radius: 30px; background: #fff; }
.pd-suggest ul { position: absolute; z-index: 20; left: 0; right: 0; top: calc(100% + 4px); list-style: none; margin: 0; padding: 6px; background: #fff; border: 1px solid #d5e6ee; border-radius: 10px; box-shadow: 0 10px 30px rgba(0, 64, 106, .15); }
.pd-suggest li a { display: flex; align-items: center; gap: 10px; padding: 7px 8px; border-radius: 6px; color: #1d2b33; text-decoration: none; }
.pd-suggest li.actif a, .pd-suggest li a:hover { background: var(--pd-fond); }
.pd-suggest img, .pd-initiales { width: 32px; height: 32px; border-radius: 6px; object-fit: contain; flex: none; }
.pd-initiales { display: grid; place-items: center; background: var(--pd-bleu); color: #fff; font-size: .75em; font-weight: 700; }
.pd-suggest-texte { display: flex; flex-direction: column; line-height: 1.25; }
.pd-suggest-texte small { color: #6b7d88; }
.pd-suggest mark { background: none; color: #f40678; padding: 0; }
.pd-suggest-vide { padding: 8px; color: #6b7d88; }

/* Index */
.pd-missions-grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.pd-missions-grille a { display: flex; flex-direction: column; background: #fff; border: 1px solid #d5e6ee; border-radius: 8px; padding: 14px 16px; text-decoration: none; color: var(--pd-bleu); }
.pd-missions-grille a:hover { border-color: var(--pd-bleu-clair); box-shadow: 0 4px 14px rgba(0, 64, 106, .08); }
.pd-missions-grille span { color: #6b7d88; font-size: .9em; }
.pd-regions-liste { columns: 3 240px; column-gap: 28px; }
.pd-regions-liste > div { break-inside: avoid; margin-bottom: 16px; }
.pd-regions-liste h3 { font-size: 1em; font-weight: 700; color: #1d3b4f; margin: 0 0 4px; }
.pd-regions-liste ul { list-style: none; padding: 0; margin: 0; }
.pd-regions-liste span { color: #6b7d88; font-size: .9em; }

/* Listes de pilotes */
.pd-annuaire { padding-top: 34px; }
.pd-filtres { display: flex; flex-wrap: wrap; gap: 6px 16px; align-items: center; background: #fff; border: 1px solid #d5e6ee; border-radius: 8px; padding: 10px 14px; margin-bottom: 14px; font-size: .92em; }
.pd-filtres span { font-weight: 700; color: var(--pd-bleu); }
.pd-filtres label { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.pd-compte { color: #6b7d88; margin: 0 0 10px; }
.pd-grille-pilotes { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 18px; }
.pd-carte-pilote { background: #fff; border-radius: 8px; overflow: hidden; box-shadow: 0 4px 18px rgba(0, 64, 106, .08); display: flex; flex-direction: column; }
.pd-carte-pilote[hidden] { display: none; }
.pd-cp-image { display: block; aspect-ratio: 16 / 9; background: var(--pd-fond); overflow: hidden; }
.pd-cp-image img { width: 100%; height: 100%; object-fit: cover; }
.pd-cp-vide { display: grid; place-items: center; height: 100%; font-size: 2em; color: #b9c7d0; }
.pd-cp-corps { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.pd-cp-tete { display: flex; gap: 10px; align-items: center; }
.pd-cp-logo { width: 44px; height: 44px; object-fit: contain; border: 1px solid #e1ebf0; border-radius: 6px; padding: 3px; background: #fff; flex: none; }
.pd-cp-tete h3 { font-size: 1.1em; font-weight: 700; margin: 0; }
.pd-cp-tete h3 a { color: var(--pd-bleu); text-decoration: none; }
.pd-cp-tete p { margin: 0; color: #4a5c66; font-size: .9em; }
.pd-cp-badges { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 4px; }
.pd-cp-badges li { background: #e5f4e4; color: #1d5b2a; font-size: .75em; font-weight: 600; padding: 2px 8px; border-radius: 20px; }
.pd-cp-zones { margin: 0; font-size: .88em; color: #4a5c66; }
.pd-carte-pilote .pd-lire { margin-top: auto; font-weight: 600; color: var(--pd-bleu); }
.pd-classement { margin-top: 16px; }
.pd-vide { max-width: 640px; }
.pd-puces-liens { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.pd-puces-liens a { display: inline-block; background: #fff; border: 1px solid #d5e6ee; border-radius: 30px; padding: 6px 14px; color: var(--pd-bleu); font-weight: 600; text-decoration: none; }
.pd-puces-liens a:hover { background: var(--pd-bleu); color: #fff; }
.pd-texte-metier { max-width: 820px; margin-bottom: 28px; }
.pd-texte-metier h2 { color: var(--pd-bleu); font-size: 1.3em; font-weight: 700; margin: 20px 0 8px; }

/* Guides */
.pd-retenir { background: #fff8e1; border-left: 4px solid #e0a800; border-radius: 0 6px 6px 0; padding: 12px 16px; margin: 0 0 16px; }
.pd-guide-grille { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 40px; align-items: start; }
.pd-guide-article h2 { color: var(--pd-bleu); font-size: 1.45em; font-weight: 700; margin: 34px 0 12px; scroll-margin-top: 100px; }
.pd-guide-article h3 { color: var(--pd-bleu); font-size: 1.15em; font-weight: 700; margin: 22px 0 8px; }
.pd-essentiel { background: var(--pd-fond); border-radius: 8px; padding: 16px 20px; margin-bottom: 24px; }
.pd-essentiel h2 { margin: 0 0 6px !important; font-size: 1.1em !important; }
.pd-guide-meta { color: #6b7d88; font-size: .9em; margin: 4px 0 0; }
.pd-guide-cote { position: sticky; top: 96px; display: grid; gap: 16px; }
.pd-sommaire ol { padding-left: 18px; margin: 0; font-size: .92em; }
.pd-sources { font-size: .92em; }
.pd-rubriques { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 18px; }
.pd-rubrique { background: #fff; border-radius: 8px; padding: 18px 20px; box-shadow: 0 4px 18px rgba(0, 64, 106, .08); border-top: 3px solid var(--pd-bleu-clair); }
.pd-rubrique h2 { font-size: 1.15em; margin: 0 0 4px; color: var(--pd-bleu); font-weight: 700; }
.pd-rubrique ul { padding-left: 18px; margin: 10px 0 0; }
.pd-rubrique li { margin-bottom: 4px; }

@media (max-width: 991px) {
  .pd-guide-grille { grid-template-columns: 1fr; }
  .pd-guide-cote { position: static; }
}
@media (max-width: 575px) {
  .pd-recherche select, .pd-recherche input, .pd-recherche .pd-bouton { flex: 1 1 100%; }
}
.pd-recherche-accueil { margin-bottom: 22px; }
.pd-recherche-accueil .pd-recherche { margin-left: auto; margin-right: auto; justify-content: center; }

/* Le thème coupe ce qui dépasse des sections : la liste des suggestions doit pouvoir déborder sur la suivante. */
.pd-page-entete { overflow: visible; position: relative; z-index: 5; }
