/* VISION CND JOBS — compléments de mise en page. Uniquement les variables de style.css (aucune nouvelle couleur, police ou forme). */
/* COULEUR DU SITE (JOBS) — seule différence de couleur avec VISION CND : la teinte d'accent. */
:root { --teal: #2f6fb5; --teal-bg: #e5eef8; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --teal: #7fb0e8; --teal-bg: #14283d; } }
:root[data-theme="dark"] { --teal: #7fb0e8; --teal-bg: #14283d; }
/* FIN COULEUR DU SITE */
.jobrow { display: flex; gap: 1rem; align-items: flex-start; }
.jobrow .logo { width: 56px; height: 56px; border-radius: var(--radius); border: 1px solid var(--line); object-fit: contain; background: var(--card); flex: none; display: grid; place-items: center; font-weight: 800; color: var(--teal); }
.jobrow h3 { margin: 0 0 .2rem; }
.jobrow .meta { color: var(--muted); font-size: .9rem; display: flex; gap: .4rem 1rem; flex-wrap: wrap; }
.card.featured { border: 2px solid var(--teal); }
.searchbar { display: grid; grid-template-columns: 2fr 1fr auto; gap: .6rem; max-width: 760px; margin: 1.5rem 0; }
.filters label { display: grid; gap: .2rem; font-size: .8rem; font-weight: 600; min-width: 140px; }
.langbar { display: inline-flex; gap: .25rem; }
.langbar a, .langbar button { padding: .3rem .5rem; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); text-decoration: none; font-weight: 600; font-size: .8rem; background: transparent; cursor: pointer; font-family: inherit; }
.langbar a[aria-current], .langbar button[aria-current] { background: var(--btn); color: #fff; border-color: var(--btn); }
.side .langbar { padding: .4rem .8rem; flex-wrap: wrap; }
.kanban { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: .8rem; align-items: start; }
.kanban .col { background: var(--info-bg); border-radius: var(--radius); padding: .7rem; min-height: 90px; }
.kanban .col h4 { margin: 0 0 .5rem; font-size: .85rem; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
.kanban .card { padding: .8rem; margin-bottom: .5rem; cursor: pointer; }
.pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.chat { display: grid; gap: .5rem; max-height: 50vh; overflow-y: auto; margin-bottom: 1rem; }
.chat .msg { max-width: 85%; }
.chat .msg.mine { justify-self: end; }
.avatar-img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; }
.dot { display: inline-block; min-width: 1.2rem; padding: 0 .35rem; border-radius: 99px; background: var(--teal); color: #fff; font-size: .72rem; font-weight: 700; text-align: center; margin-left: auto; }
.row.wrap > * { flex: 1 1 200px; }
.price-box { font-size: 1.6rem; font-weight: 800; }
@media (max-width: 640px) { .searchbar { grid-template-columns: 1fr; } .kanban { grid-template-columns: 1fr; } }

/* cases à cocher dans les formulaires générés */
.form label.check, .form .multi label.check { display: flex; gap: .6rem; align-items: center; font-weight: 400; }
.multi { display: flex; flex-wrap: wrap; gap: .3rem 1.2rem; }
.field .lab { font-weight: 600; font-size: .92rem; }
.form .form-msg:empty { display: none; }
.panel .seg, .main .seg { flex-wrap: wrap; max-width: 100%; }

@media (max-width: 720px) {
  header.top { flex-wrap: wrap; gap: .5rem; }
  header.top nav { order: 3; flex: 1 1 100%; width: 100%; display: flex; gap: .2rem; overflow-x: auto; white-space: nowrap; }
  header.top .langbar { margin-left: auto; } header.top > a.button { order: 2; }
}
.form label.check .small { display: block; }

/* Publicités (VISION CND AD MANAGER) : l'espace reste invisible tant qu'aucune publicité n'est servie */
.vc-ad { margin: 1rem auto; text-align: center; max-width: 100%; }
.vc-ad:empty, .vc-ad[hidden] { display: none; }
