/* Annuaire LGF : couleurs du thème diocese-lgf (accent #bb0066), police héritée (Raleway). Tout est préfixé « alg- ». */

/* L'éditeur de blocs limite chaque bloc du contenu à la « largeur de contenu » (~700 px) : l'annuaire prend toute la
   largeur de la colonne du thème, comme un bloc pleine largeur. */
.entry-content > .alg-racine,
.is-layout-constrained > .alg-racine,
.alg-racine {
  width: 100%;
  max-width: none !important;
}
.alg {
  --alg-accent: #bb0066;
  --alg-accent-doux: #f8e6f0;
  --alg-texte: #1a181b;
  --alg-discret: #625a5e;
  --alg-trait: #e6dde2;
  --alg-fond: #ffffff;
  color: var(--alg-texte);
  display: grid;
  gap: 20px;
  margin-bottom: 48px;
}
.alg a { color: var(--alg-accent); text-decoration: none; }
.alg a:hover, .alg a:focus-visible { text-decoration: underline; }
.alg a:focus-visible, .alg button:focus-visible, .alg input:focus-visible, .alg select:focus-visible, .alg textarea:focus-visible,
.alg summary:focus-visible { outline: 2px solid var(--alg-accent); outline-offset: 2px; }

.alg-recherche { display: grid; gap: 10px; }
.alg-aide { color: var(--alg-discret); font-size: 14px; margin: 0; }
.alg-ligne { display: flex; gap: 8px; flex-wrap: wrap; }
.alg-ligne input { flex: 1 1 260px; min-width: 0; font-size: 18px; padding: 10px 12px; border: 1px solid var(--alg-trait); border-radius: 4px; }
.alg button { background: var(--alg-accent); color: #fff; border: 0; border-radius: 4px; padding: 10px 20px; font-weight: 600; cursor: pointer; }
.alg-filtres { display: flex; gap: 8px; flex-wrap: wrap; }
.alg-filtres select { padding: 6px 8px; border: 1px solid var(--alg-trait); border-radius: 4px; background: var(--alg-fond); max-width: 100%; }

.alg h3 { color: var(--alg-accent); font-size: 14px; letter-spacing: .08em; text-transform: uppercase; margin: 0 0 12px; }
.alg h4 { font-size: 16px; margin: 0 0 8px; }
.alg-section { margin-top: 8px; }
.alg-compte { color: var(--alg-discret); letter-spacing: 0; margin-left: 4px; }
.alg-groupes { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; align-items: start; }
.alg-groupe { min-width: 0; }

.alg-liste { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--alg-trait); }
.alg-liste li { border-bottom: 1px solid var(--alg-trait); padding: 9px 0; margin: 0; }
.alg-liste li a { font-weight: 600; }
.alg-sous { display: block; color: var(--alg-discret); font-size: 14px; }
.alg-badge { display: inline-block; font-size: 12px; font-weight: 600; color: var(--alg-accent); background: var(--alg-accent-doux); border-radius: 3px; padding: 1px 6px; margin-left: 4px; vertical-align: middle; }
.alg-vide { color: var(--alg-discret); font-style: italic; margin: 0; }

.alg-retour { margin: 0; font-size: 15px; }
.alg-entete { display: grid; gap: 4px; }
.alg-surtitre { margin: 0; color: var(--alg-discret); font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.alg-titre { margin: 0; font-size: 30px; line-height: 1.2; color: var(--alg-texte); }
.alg-fil { color: var(--alg-discret); font-size: 15px; }

/* Blocs côte à côte seulement si chacun a la place (largeur de la zone de contenu, pas de l'écran), sinon empilés.
   Les séparations sont l'espace de 1 px entre blocs, sur le fond couleur trait : jamais de bordure orpheline. */
.alg-fiche { container-type: inline-size; }
.alg-colonnes { display: grid; grid-template-columns: 1fr; gap: 1px; background: var(--alg-trait); border: 1px solid var(--alg-trait); border-radius: 4px; overflow: hidden; }
.alg-bloc { padding: 18px 20px; min-width: 0; background: var(--alg-fond); }
@container (min-width: 480px) {
  .alg-colonnes-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container (min-width: 720px) {
  .alg-colonnes-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.alg-coordonnees { margin: 0; display: grid; gap: 10px; }
.alg-coordonnees dt { font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--alg-discret); }
.alg-coordonnees dd { margin: 0; overflow-wrap: anywhere; }

.alg-merci { background: var(--alg-accent-doux); padding: 10px 14px; border-radius: 4px; margin: 0; }
.alg-signaler summary { color: var(--alg-accent); cursor: pointer; }
.alg-signaler form { display: grid; gap: 10px; margin-top: 10px; max-width: 640px; }
.alg-signaler textarea { width: 100%; padding: 8px; border: 1px solid var(--alg-trait); border-radius: 4px; font: inherit; }
.alg-signaler button { justify-self: start; }
.alg-piege { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.alg-maj { color: var(--alg-discret); font-size: 13px; margin: 0; }
