/* ViSAgree — Campagnes et consentement.
   Feuille des écrans qui n'existaient pas encore (campagnes, affiche, QR).
   Elle complète style.css sans le modifier, et reprend les deux classes
   communes (.hello, .section-title) qui ne vivaient que dans boutique.css. */

/* ---------- En-tête de page ---------- */
.hello { padding: 4px 2px 14px; }
.hello h1 { margin: 0; font-size: 23px; line-height: 1.25; color: var(--ink, #1a1a2e); }
.hello p { margin: 8px 0 0; font-size: 14px; line-height: 1.55; }

/* ---------- Titre de section ---------- */
.section-title {
  margin: 26px 2px 10px;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--ink-3, #8A87A0);
}
.section-title:first-child { margin-top: 0; }

/* ---------- Barre du bas resserrée (7 onglets et plus) ---------- */
.bottom-nav.nav-tight a { font-size: 9.5px; gap: 2px; }
.bottom-nav.nav-tight a .pill { padding: 5px 9px; }
.bottom-nav.nav-tight a svg { width: 20px; height: 20px; }
@media (max-width: 380px) {
  .bottom-nav.nav-tight a { font-size: 8.5px; }
  .bottom-nav.nav-tight a svg { width: 18px; height: 18px; }
}

/* ---------- Petits textes ---------- */
.small { font-size: 12.5px; }

/* ---------- Champs de fichier (import de liste) ---------- */
.file-input {
  width: 100%;
  margin: 8px 0;
  font-size: 16px; /* 16px : sinon iOS zoome au focus */
  padding: 10px 12px;
  border: 1px dashed var(--line, #d8d8e2);
  border-radius: 8px;
  background: #fff;
}

/* ---------- Zone de sous-action (ajouter / importer / vérifier) ---------- */
.sub-box {
  border: 1px dashed var(--line, #d8d8e2);
  border-radius: 12px;
  padding: 12px;
  margin: 12px 0;
  background: #fcfcfe;
}

/* ---------- Bandeau « ce dossier appartient à une campagne » ----------
   Posé dans la page d'un dossier : d'un tap, le pro remonte vers la campagne
   qui porte les droits et les vrais compteurs de l'événement. */
.bandeau-campagne {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 12px; border-radius: 12px;
  background: #f2eeff; border: 1px solid #ded4fb;
  text-decoration: none; color: inherit;
}
.bandeau-campagne .bc-ico {
  flex: 0 0 auto; width: 30px; height: 30px; border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  background: #fff; color: var(--brand, #6C4CE0);
}
.bandeau-campagne .bc-txt { display: flex; flex-direction: column; gap: 2px; flex: 1 1 auto; min-width: 0; }
.bandeau-campagne .bc-txt strong { font-size: 14.5px; }
.bandeau-campagne .bc-go { flex: 0 0 auto; color: var(--brand, #6C4CE0); opacity: .75; }

/* ---------- Cases à cocher ---------- */
.check-line { display: flex; align-items: flex-start; gap: 10px; font-size: 15px; line-height: 1.4; }
.check-line input { width: 20px; height: 20px; margin: 0; flex: 0 0 auto; accent-color: var(--brand, #6C4CE0); }

/* ---------- Liste de personnes ---------- */
.part-list { display: grid; gap: 8px; margin-top: 10px; }
.part { border: 1px solid var(--line, #e6e6ee); border-radius: 10px; padding: 10px; background: #fff; }
.part .n { font-weight: 600; }
.part .c { font-size: 13px; color: var(--ink-3, #6b6b7b); }
.badge-sm { display: inline-block; font-size: 11px; padding: 2px 8px; border-radius: 6px; font-weight: 600; }
.b-ok { background: #e6f6ea; color: #1a7f37; }
.b-wait { background: #fdf1dc; color: #9a6700; }
.b-no { background: #fbe7e9; color: #b42318; }
