/* Nova V1 — parcours en cinq questions */
.nv1 .nova-col, .nv1-col { grid-column: 1; grid-row: 1; }
.nv1-col { max-width: 46rem; display: grid; gap: clamp(16px, 2vw, 28px); padding-bottom: clamp(40px, 6vw, 96px); }
.nv1-titre { margin: 0; }
.nv1-outils { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; }
.nv1-son { font: inherit; font-size: var(--t-s, .9rem); color: var(--texte); background: transparent; border: 1px solid color-mix(in srgb, var(--texte) 35%, transparent); border-radius: 999px; padding: 8px 16px; min-height: 44px; cursor: pointer; }
.nv1-son[aria-pressed="false"] { color: var(--texte-doux, var(--texte)); }
.nv1-son:focus-visible, .nv1-mic:focus-visible, .nv1-puce input:focus-visible + span, .nv1-lien:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.nv1-prog { font-size: var(--t-s, .9rem); color: var(--texte-doux, var(--texte)); }
.nv1-ouverture p { font-size: var(--t-l, 1.2rem); line-height: 1.5; margin: 0 0 .8em; }
.nv1-ouverture.fait { display: none; }
.nv1-ouverture .nv1-bulle { padding: 12px 18px; border-radius: 4px 18px 18px 18px; background: color-mix(in srgb, var(--texte) 6%, transparent); border: 1px solid color-mix(in srgb, var(--texte) 12%, transparent); max-width: 40rem; }
.nv1-ouverture.nv1-sync .nv1-bulle:not(.vu) { display: none; }
.nv1-ouverture.nv1-sync .nv1-bulle.vu:last-of-type, .nv1-ouverture.nv1-sync .nv1-bulle.vu { animation: nv1-bulle .35s ease-out both; }
@keyframes nv1-bulle { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .nv1-ouverture.nv1-sync .nv1-bulle.vu { animation: none; } }
.nv1-reecouter { margin: 0; }
.nv1-fil:empty { display: none; }
.nv1-reaction { margin: 0; padding: 14px 18px; border-left: 3px solid var(--accent); background: color-mix(in srgb, var(--texte) 6%, transparent); border-radius: 0 12px 12px 0; font-size: var(--t-m, 1.05rem); line-height: 1.5; }
.nv1-q { font-size: clamp(1.35rem, 1rem + 1.4vw, 2rem); line-height: 1.25; margin: 0 0 18px; font-weight: 600; }
.nv1-q:focus { outline: none; }
.nv1-champ { position: relative; display: flex; gap: 10px; align-items: stretch; }
.nv1-champ input, .nv1-champ textarea { flex: 1; min-width: 0; font: inherit; font-size: var(--t-l, 1.2rem); color: var(--texte); background: color-mix(in srgb, var(--texte) 6%, var(--fond)); border: 1px solid color-mix(in srgb, var(--texte) 38%, transparent); border-radius: 12px; padding: 14px 16px; }
.nv1-champ input:focus, .nv1-champ textarea:focus { outline: 2px solid var(--accent); outline-offset: 1px; }
.nv1-champ ::placeholder { color: color-mix(in srgb, var(--texte) 62%, transparent); }
.nv1-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.nv1-champ--nb { flex-direction: column; gap: 6px; }
.nv1-champ--nb label { font-size: var(--t-s, .95rem); }
.nv1-mic { flex: none; width: 52px; border-radius: 12px; border: 1px solid color-mix(in srgb, var(--texte) 38%, transparent); background: transparent; color: var(--texte); cursor: pointer; display: grid; place-items: center; }
.nv1-mic svg { width: 22px; height: 22px; }
.nv1-mic.actif { background: var(--accent); color: #101211; border-color: var(--accent); }
.nv1-puces { border: 0; padding: 0; margin: 0 0 12px; display: flex; flex-wrap: wrap; gap: 10px; }
.nv1-puce { position: relative; cursor: pointer; }
.nv1-puce input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.nv1-puce span { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 18px; border-radius: 999px; border: 1px solid color-mix(in srgb, var(--texte) 38%, transparent); }
.nv1-puce input:checked + span { background: var(--accent); color: #101211; border-color: var(--accent); }
.nv1-erreur { margin: 10px 0 0; color: #FFB4A8; min-height: 1.2em; font-size: var(--t-s, .95rem); }
.nv1-erreur:empty { min-height: 0; margin: 0; }
.nv1-actions { margin-top: 18px; display: flex; flex-wrap: wrap; gap: 16px 24px; align-items: center; }
.nv1-carte { border: 1px solid color-mix(in srgb, var(--accent) 55%, transparent); border-radius: 18px; padding: clamp(18px, 2.4vw, 32px); background: color-mix(in srgb, var(--accent) 7%, var(--fond)); margin-bottom: 20px; }
.nv1-fictif { display: inline-block; margin: 0 0 14px; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; padding: 4px 10px; border-radius: 999px; background: var(--texte); color: var(--fond); }
.nv1-carte dl { margin: 0 0 16px; display: grid; gap: 10px; }
.nv1-carte dl div { display: grid; grid-template-columns: 11rem 1fr; gap: 12px; }
.nv1-carte dt { color: var(--texte-doux, var(--texte)); }
.nv1-carte dd { margin: 0; font-weight: 600; }
.nv1-plan { margin: 0 0 14px; padding-left: 1.2em; display: grid; gap: 8px; }
.nv1-gain { margin: 0; }
.nv1-apercu > p { font-size: var(--t-l, 1.2rem); line-height: 1.5; }
.nv1-lien { color: var(--texte); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 600px) { .nv1-duo { grid-template-columns: 1fr; } .nv1-carte dl div { grid-template-columns: 1fr; gap: 2px; } }
@media (prefers-reduced-motion: no-preference) {
  .nv1-entre { animation: nv1-entre .5s cubic-bezier(.2,.7,.2,1) both; }
  @keyframes nv1-entre { from { opacity: 0; transform: translateY(14px); } }
}
@media (max-width: 959px) { .nv1 .nv1-col { grid-row: 2; } .nv1 .nova-avatar { padding-top: var(--e-4, 24px); } }
.nv1-etape[data-etape="courriel"] .nv1-champ--nb + .nv1-champ--nb { margin-top: 14px; }
