/* IsoFind, collections de l'Atlas. Mêmes jetons que l'explorateur et les
   alertes ; tout est rangé sous .ifc pour ne rien hériter du thème WordPress. */
.ifc {
  --paper: #FFFFFF; --paper-2: #F7F8FA; --line: #E2E4EA; --line-soft: #EDEFF3;
  --ink: #14151A; --text-2: #565A66; --text-3: #868C99; --navy: #0F3474; --accent: #2563EB;
  --ok: #196C3C; --err: #82321E;
  --sans: 'Inter', system-ui, -apple-system, sans-serif; --mono: 'JetBrains Mono', ui-monospace, Menlo, monospace;
  font-family: var(--sans); font-size: 16px; line-height: 1.6; color: var(--ink); background: var(--paper);
  max-width: 1100px; margin: 0 auto; padding: 56px 32px 80px; -webkit-font-smoothing: antialiased;
}
.ifc *, .ifc *::before, .ifc *::after { box-sizing: border-box; }
.ifc h1, .ifc h2, .ifc h3, .ifc p, .ifc ul, .ifc fieldset { margin: 0; }
.ifc button, .ifc input, .ifc textarea { font: inherit; color: inherit; }
.ifc a { color: var(--accent); }
.ifc :focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.ifc-eyebrow { font-family: var(--mono); font-size: .72rem; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--accent); margin-bottom: 14px !important; }
.ifc h1 { font-size: clamp(2rem, 3.6vw, 2.6rem); font-weight: 800; letter-spacing: -.035em; line-height: 1.08; color: var(--navy); }
.ifc h2 { font-size: 1.2rem; font-weight: 700; margin-bottom: 10px; }
.ifc h3 { font-size: 1rem; font-weight: 700; margin: 28px 0 10px; }
.ifc .ifc-boite h3 { margin-top: 0; }
.ifc-lede { font-size: 1.04rem; color: var(--text-2); max-width: 70ch; margin-top: 14px !important; }
.ifc-corps { margin-top: 32px; display: flex; flex-direction: column; gap: 22px; }
.ifc-aide, .ifc-gris { color: var(--text-3); font-size: .86rem; }
.ifc-gris { font-size: inherit; }
.ifc-petit { font-size: .82rem; }
.ifc-ok { color: var(--ok); }
.ifc-err { color: var(--err); }
.ifc-alerte { padding: 10px 14px; background: #FBEDEA; color: var(--err); border-radius: 3px; font-size: .9rem; }
.ifc-fil { font-size: .9rem; }
.ifc-fil a { text-decoration: none; }

.ifc-boite { padding: 20px 22px; border: 1px solid var(--line); border-radius: 4px; background: var(--paper-2); }
.ifc-ligne { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; }
.ifc-ligne label { display: inline-flex; gap: 6px; align-items: center; font-size: .9rem; }
.ifc-ligne input:not([type=checkbox]) { flex: 1 1 260px; }
.ifc-form { display: flex; flex-direction: column; gap: 12px; }
.ifc-grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 10px 16px; align-items: end; }
.ifc-champ { display: flex; flex-direction: column; gap: 4px; font-size: .82rem; font-weight: 500; color: var(--text-2); }
.ifc input:not([type=checkbox]):not([type=radio]), .ifc textarea { width: 100%; padding: 9px 11px; border: 1px solid var(--line); border-radius: 2px; background: #fff; font-size: .95rem; color: var(--ink); }
.ifc-piege { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0; }
.ifc-vis { border: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.ifc-vis legend { font-size: .82rem; font-weight: 500; color: var(--text-2); margin-bottom: 4px; padding: 0; }
.ifc-vis label { display: flex; gap: 8px; align-items: baseline; font-size: .92rem; }
.ifc-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.ifc-exports { font-size: .9rem; }
.ifc-exports > span:first-child { color: var(--text-2); }
.ifc .ifc-btn { display: inline-flex; align-items: center; padding: 10px 18px; border: 1px solid transparent; border-radius: 2px; background: var(--navy); color: #fff; font-size: .9rem; font-weight: 600; cursor: pointer; text-decoration: none; }
.ifc .ifc-btn:hover { background: #16458F; }
.ifc .ifc-btn[disabled] { opacity: .5; cursor: wait; }
.ifc .ifc-btn-g { background: #fff; color: var(--ink); border-color: var(--line); }
.ifc .ifc-btn-g:hover { background: var(--paper-2); }
.ifc .ifc-lien { border: 0; background: none; color: var(--accent); cursor: pointer; font-size: .88rem; padding: 0; }
.ifc .ifc-danger { color: var(--err); }
.ifc-retour { font-size: .88rem; }
.ifc-nowrap { white-space: nowrap; }

.ifc-liste { list-style: none; padding: 0; display: grid; gap: 8px; margin-bottom: 14px !important; }
.ifc-liste a { display: flex; flex-direction: column; padding: 12px 16px; border: 1px solid var(--line); border-radius: 4px; text-decoration: none; color: var(--ink); }
.ifc-liste a:hover { border-color: var(--accent); }
.ifc-liste a:hover b { color: var(--accent); }

.ifc-tete-col { display: flex; flex-direction: column; gap: 8px; }
.ifc .ifc-titre-col { font-size: 1.6rem; letter-spacing: -.02em; color: var(--navy); margin: 0; }
.ifc-etat { display: flex; gap: 6px; flex-wrap: wrap; }
.ifc-pastille { display: inline-block; padding: 1px 8px; border-radius: 2px; font-size: .78rem; font-weight: 600; background: var(--line-soft); color: var(--text-2); }
.ifc-pastille.ifc-figee { background: #E3F1E8; color: var(--ok); }
.ifc-pastille.ifc-travail { background: #FFF4D6; color: #7A5A00; }
.ifc-desc { color: var(--text-2); max-width: 75ch; }
.ifc-puces { display: flex; flex-wrap: wrap; gap: 6px; }
.ifc-puces span { font-size: .82rem; padding: 2px 8px; border: 1px solid var(--line); border-radius: 12px; }
.ifc-citation .ifc-cite { font-family: var(--mono); font-size: .82rem; line-height: 1.6; word-break: break-word; margin-bottom: 10px !important; }
.ifc-citation form { margin-top: 12px; }

.ifc-defile { overflow-x: auto; }
.ifc-table { width: 100%; border-collapse: collapse; font-size: .88rem; }
.ifc-table th, .ifc-table td { padding: 8px 10px; border-bottom: 1px solid var(--line-soft); text-align: left; vertical-align: top; }
.ifc-table thead th { font-size: .78rem; font-weight: 600; color: var(--text-2); border-bottom-color: var(--line); white-space: nowrap; }
.ifc-table .n { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ifc-table a { text-decoration: none; }
.ifc-sous td { background: var(--paper-2); }
.ifc-crit { display: inline-flex; gap: 2px; }
.ifc-crit i { font-style: normal; font-size: .68rem; font-weight: 700; width: 17px; text-align: center; border-radius: 2px; padding: 1px 0; }
.ifc-crit i.ok { background: #E3F1E8; color: var(--ok); }
.ifc-crit i.ko { background: #F1F2F5; color: #A0A4AE; }
.ifc-valeurs summary { cursor: pointer; font-weight: 600; margin: 8px 0; }
.ifc-recherche { margin-top: 4px; }
.ifc-res { list-style: none; padding: 0; display: grid; gap: 4px; margin-top: 6px !important; }
.ifc-res button { width: 100%; text-align: left; display: flex; gap: 10px; align-items: baseline; padding: 7px 10px; border: 1px solid var(--line); border-radius: 2px; background: #fff; cursor: pointer; font-size: .9rem; }
.ifc-res button:hover { border-color: var(--accent); }
.ifc-res span { color: var(--text-3); font-size: .8rem; }
@media (max-width: 640px) {
  .ifc { padding: 36px 16px 56px; }
  .ifc .ifc-titre-col { font-size: 1.35rem; }
}
