/* Module Contacts — couleurs du socle, par leur nom. */
.icone-contacts { background: var(--clair); }

.ctc-recherche { display: flex; flex-wrap: wrap; gap: .6rem; margin-bottom: 1.2rem; }
.ctc-recherche input { flex: 1 1 16rem; min-width: 0; }
.ctc-recherche select { width: auto; }

.ctc-fiche { display: grid; grid-template-columns: minmax(18rem, 2fr) minmax(0, 3fr); gap: 1.2rem; align-items: start; }
@media (max-width: 900px) { .ctc-fiche { grid-template-columns: 1fr; } }
.ctc-fiche > div > .carte + .carte, .ctc-fiche > div > section + section, .ctc-sections > * + * { margin-top: 1.2rem; }
.ctc-sections:empty { display: none; }

.ctc-coord { display: grid; grid-template-columns: max-content 1fr; gap: .3rem .8rem; }
.ctc-coord dt { color: var(--ink-soft); font-weight: 600; }
.ctc-coord dd { margin: 0; overflow-wrap: anywhere; }
.ctc-danger { color: var(--alerte); }
.ctc-domaines { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.ctc-domaines li { display: inline-flex; align-items: center; gap: .3rem; padding: .2rem .5rem; border-radius: 999px; background: var(--bg-deep); font-size: .88rem; }
.ctc-domaines form { margin: 0; }
.ctc-x { border: 0; background: none; cursor: pointer; color: var(--ink-soft); font-size: 1rem; line-height: 1; padding: 0 .1rem; }
.ctc-en-ligne { display: flex; gap: .4rem; }
.ctc-en-ligne input { flex: 1; min-width: 0; }
