/* Ajouts au site vitrine Wappizy, chargés après le CSS de la maquette.
   « Bientôt disponible » : pastille pleine à la couleur de la marque (--soon),
   point qui pulse doucement. Remplace les petits libellés « En préparation ». */
html body .wz-soon {
  display: inline-flex !important;
  align-items: center;
  width: max-content !important;
  max-width: 100%;
  align-self: center;
  gap: .5em;
  padding: .6em 1.15em !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--soon, #9BE8D4) !important;
  color: #0b0b10 !important;
  font-family: Geist, Inter, system-ui, sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
  line-height: 1 !important;
  white-space: nowrap;
  opacity: 1 !important;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .14), 0 8px 26px -8px var(--soon, #9BE8D4) !important;
}
html body .wz-soon::before {
  content: '';
  flex: none;
  width: .5em;
  height: .5em;
  border-radius: 50%;
  background: #0b0b10;
  animation: wz-soon-pulse 1.8s ease-in-out infinite;
}
html body .wz-soon > i { display: none !important; }
@keyframes wz-soon-pulse {
  0%, 100% { opacity: .35; transform: scale(.8); }
  50% { opacity: .9; transform: scale(1.15); }
}
@media (prefers-reduced-motion: reduce) {
  html body .wz-soon::before { animation: none; opacity: .6; }
}
/* « Trois marques » : la pastille reste centrée au-dessus du nom de la marque */
html body #marques .gm-col .wz-soon { margin: 0 auto 4px !important; }
/* Gamme Solutions izy : à droite de l'en-tête de carte, comme « Disponible » */
html body .gm-card header .wz-soon { margin-left: auto !important; }
/* Dans la pastille « izy Studio | … » de la plongée, la mention prend sa propre pastille */
html body .fx-pill b.wz-soon { margin-left: .6em; }
/* Barre de la plongée : les marques à venir sont grisées, non cliquables, avec « Coming soon » */
html body .dive .dive-tabs button.wz-off,
html body .dive .dive-tabs button.wz-off:hover {
  cursor: not-allowed;
  opacity: .5;
  filter: grayscale(1);
  background: transparent !important;
  color: rgba(255, 255, 255, .62) !important;
  translate: none;
}
html body .dive .dive-tabs button.wz-off i { opacity: .5; box-shadow: none; }
html body .dive .dive-tabs button.wz-off .wz-soon-mini {
  margin-left: .2em;
  padding: .28em .6em;
  border-radius: 999px;
  background: rgba(255, 255, 255, .1);
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: .02em;
  white-space: nowrap;
}
[data-theme="light"] .dive .dive-tabs button.wz-off,
[data-theme="light"] .dive .dive-tabs button.wz-off:hover { color: #4B5060 !important; }
[data-theme="light"] .dive .dive-tabs button.wz-off .wz-soon-mini { background: rgba(14, 16, 22, .07); }
/* Logo de La Centrale de Financement dans « Nos clients » : même hauteur visuelle que les autres */
html body .cf-lg[data-wz="lcf"] { height: 40px !important; max-width: 200px !important; }
/* R-14 : sur mobile, la bulle d'Izy et le bouton « haut de page » (fixes en bas à droite) ne masquent plus
   la dernière ligne du pied de page (« Mentions légales ») : place réservée sous cette ligne */
@media (max-width: 720px) {
  footer .ft2-bot { padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)); }
}

/* ===== Recette du 15/10 ===== */
/* S-12 : messages d'erreur des formulaires (demande.js) */
.dm-perr { margin: 10px 4px 0; font-size: 14px; line-height: 1.45; color: #F3A3A3; }
.dm-perr:empty, .dm-err:empty { display: none; }
[data-theme="light"] .dm-perr { color: #B42318; }
.sv-missing .sv-resume { margin-top: 2px; }

/* S-13 : thème clair, contrastes ≥ 4,5 (le thème sombre ne change pas)
   numéros de FAQ pastel → couleur de la question assombrie (5,5 à 7,8 sur #F2F3F6) */
[data-theme="light"] .fq-n,
[data-theme="light"] :is(#faq, .fq-sec) .fq-n { color: color-mix(in srgb, var(--c, #6B7080) 42%, #000) !important; }
/* gris secondaires (--ink-3 #848999, 3,14) → #545968 (6,3 sur #F2F3F6, 7 sur blanc) */
[data-theme="light"] .crumbs,
[data-theme="light"] .crumbs a:not(:hover),
[data-theme="light"] .cy-note,
[data-theme="light"] .cf-legal,
[data-theme="light"] main time,
[data-theme="light"] .ft2-contact,
[data-theme="light"] footer .ft2-bot,
[data-theme="light"] footer .ft2-bot a:not(:hover),
[data-theme="light"] .sheet dt,
[data-theme="light"] .sheet .kind { color: #545968; }

/* S-09 : mobile (≤ 720 px) — champs à 16 px (pas de zoom iOS), cibles tactiles ≥ 40 px */
@media (max-width: 720px) {
  form.ctx-cf input, form.ctx-cf textarea,
  .dm-f input, .dm-f textarea,
  .wf-f input, .wf-f textarea,
  #dm-projet { font-size: 16px !important; }
  /* pied de page : liens de navigation, contact et « Mentions légales » */
  footer .ft2-nav, footer .ft2-contact { row-gap: 0; }
  footer .ft2-nav a, footer .ft2-contact a { display: inline-flex; align-items: center; min-height: 40px; }
  footer .ft2-bot a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 6px; }
  /* /cybersecurite et /ia-de-confiance : Oui / Non / Je ne sais pas */
  .cy-ans button, .cf-lab .yn button { min-height: 44px; padding-top: 0; padding-bottom: 0; display: inline-flex; align-items: center; justify-content: center; }
  .cy-ans { gap: 8px; }
  /* /outils : onglets « L’équipe / Les compagnons » */
  .tm-switch button { min-height: 40px; padding-left: 14px; padding-right: 14px; }
  /* /agents-ia : grands boutons radio, ligne entière cliquable */
  .ag-lab .crit label { min-height: 44px; }
  .ag-lab .crit input { width: 20px; height: 20px; flex: none; margin: 0; }
}
