/* Outil « Qualiopi 2026 : ce qui change pour votre organisme ». Complète style.css (mêmes jetons, même accent). */
.q-page { max-width: calc(760px + 2 * var(--gutter)); }
.q-hero { padding: clamp(36px, 6vw, 72px) 0 clamp(20px, 3vw, 32px); }
.q-hero h1 { font-size: clamp(32px, 4.4vw, 54px); line-height: 1.06; letter-spacing: -0.035em; font-weight: 600; margin: 18px 0 16px; text-wrap: balance; }
.q-hero__lead { color: var(--muted); font-size: clamp(17px, 1.4vw, 19px); max-width: 40em; margin: 0; }
.q-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 28px 0 0; padding: 0; list-style: none; }
.q-facts li { padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.q-facts strong { display: block; font-size: 26px; letter-spacing: -0.02em; line-height: 1.1; }
.q-facts span { color: var(--muted); font-size: 14px; }

.q-form { display: grid; gap: 22px; margin-top: clamp(24px, 4vw, 40px); padding: clamp(20px, 3vw, 32px); border: 1px solid var(--line); border-radius: calc(var(--radius) + 4px); background: var(--surface); }
.q-form fieldset { border: 0; margin: 0; padding: 0; display: grid; gap: 10px; }
.q-form legend { font-weight: 600; font-size: 17px; margin-bottom: 4px; padding: 0; }
.q-form legend small, .q-form .q-help { display: block; font-weight: 400; color: var(--muted); font-size: 14.5px; }
.q-choices { display: flex; flex-wrap: wrap; gap: 8px; }
.q-choice { display: inline-flex; align-items: center; gap: 10px; padding: 10px 14px; border: 1px solid var(--line-strong); border-radius: 10px; cursor: pointer; transition: border-color 0.2s, background 0.2s; }
.q-choice:hover { border-color: var(--dim); }
.q-choice:has(input:checked) { border-color: var(--accent); background: var(--accent-soft); }
.q-choice input { accent-color: var(--accent); width: 18px; height: 18px; margin: 0; }
.q-form input[type="month"] { font: inherit; padding: 10px 12px; border-radius: 8px; border: 1px solid var(--line-strong); background: transparent; color: inherit; color-scheme: dark; max-width: 240px; }
.q-form input[type="month"]:focus { outline: 2px solid var(--accent); outline-offset: 1px; }
.q-form .q-submit { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.q-form .q-submit small { color: var(--dim); font-size: 13.5px; }
.q-erreur { display: none; color: #ffb3a8; font-size: 14.5px; margin: 0; }
.q-form.is-invalid .q-erreur { display: block; }

.q-how { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: clamp(28px, 4vw, 44px); }
.q-how div { padding: 18px; border: 1px solid var(--line); border-radius: 12px; }
.q-how .label { margin-bottom: 8px; }
.q-how p { margin: 0; color: var(--muted); font-size: 15px; }
.q-sources { margin-top: clamp(28px, 4vw, 44px); padding-top: 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: 14.5px; }
.q-sources a { color: var(--text); text-decoration-color: var(--accent); text-underline-offset: 3px; }

/* Résultat */
.q-result-head { padding: clamp(32px, 5vw, 56px) 0 clamp(16px, 2vw, 24px); }
.q-result-head h1 { font-size: clamp(28px, 3.8vw, 44px); line-height: 1.1; letter-spacing: -0.03em; font-weight: 600; margin: 14px 0 12px; text-wrap: balance; }
.q-profil { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; padding: 0; list-style: none; }
.q-profil li { font-family: var(--mono); font-size: 12.5px; padding: 4px 10px; border: 1px solid var(--line-strong); border-radius: 999px; color: var(--muted); }
.q-profil a { color: var(--muted); }
.q-summary { border: 1px solid var(--line); border-left: 3px solid var(--accent); border-radius: 0 12px 12px 0; background: var(--surface); padding: 18px 20px; }
.q-summary p { margin: 0; font-size: 18px; line-height: 1.55; }
.q-summary p + p { margin-top: 8px; font-size: 15.5px; color: var(--muted); }
.q-tools { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 0; }
.q-tools .btn { padding: 10px 16px; font-size: 14px; }
.q-tools .btn--ghost { background: transparent; }

.q-section { margin-top: clamp(32px, 5vw, 48px); }
.q-section h2 { font-size: clamp(22px, 2.4vw, 30px); line-height: 1.2; letter-spacing: -0.02em; font-weight: 600; margin: 0 0 6px; }
.q-section > p { color: var(--muted); margin: 0 0 18px; }
.q-cles { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; counter-reset: cle; }
.q-cles li { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 12px; padding: 14px 16px; border: 1px solid rgba(255, 200, 61, 0.35); border-radius: 12px; background: linear-gradient(180deg, rgba(255, 200, 61, 0.07), var(--surface) 70%); }
.q-cles li::before { counter-increment: cle; content: counter(cle); font-family: var(--mono); font-size: 13px; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: var(--accent); color: var(--accent-ink); font-weight: 600; }
.q-cles strong { display: block; margin-bottom: 2px; }
.q-cles span { color: var(--text-2); font-size: 15.5px; }

.q-ind { padding: 20px 0; border-top: 1px solid var(--line); }
.q-ind:last-child { border-bottom: 1px solid var(--line); }
.q-ind__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 12px; margin-bottom: 8px; }
.q-ind__head h3 { margin: 0; font-size: 19px; letter-spacing: -0.01em; }
.q-ind__crit { color: var(--dim); font-size: 13.5px; }
.q-chip { font-family: var(--mono); font-size: 11.5px; padding: 3px 8px; border-radius: 999px; white-space: nowrap; letter-spacing: 0.02em; }
.q-chip--modifie { background: #fdf0cf; color: #7a5600; }
.q-chip--nouveau { background: #fde2dd; color: #9a2b1d; }
.q-chip--reformule { background: var(--surface-2); color: var(--muted); border: 1px solid var(--line-strong); }
.q-chip--cle { background: var(--accent); color: var(--accent-ink); }
.q-ind__change { margin: 0 0 10px; }
.q-ind__change strong { color: var(--accent-texte); font-weight: 600; }
.q-ind__note { margin: 0 0 10px; color: var(--muted); font-size: 15px; }
.q-ind__action { margin: 0 0 12px; padding: 10px 14px; border-left: 2px solid var(--accent); background: var(--surface); color: var(--text-2); font-size: 15.5px; }
.q-ind__action b { color: var(--text); font-weight: 600; }
.q-ind blockquote { margin: 0; padding: 4px 0 4px 16px; border-left: 2px solid var(--line-strong); color: var(--muted); font-size: 15px; line-height: 1.6; }
.q-ind details { margin-top: 8px; }
.q-ind summary { cursor: pointer; color: var(--dim); font-size: 14px; }
.q-ind details blockquote { margin-top: 8px; }

.q-na { color: var(--muted); font-size: 15px; }
.q-na li { margin-bottom: 6px; }

.q-check { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.q-check li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 12px; align-items: start; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; font-size: 15.5px; color: var(--text-2); }
.q-check li::before { content: ""; width: 18px; height: 18px; margin-top: 3px; border: 1.5px solid var(--line-strong); border-radius: 4px; }
.q-check b { color: var(--text); font-weight: 600; }

.q-cta { margin-top: clamp(40px, 5vw, 56px); padding: clamp(24px, 3vw, 36px); border: 1px solid rgba(255, 200, 61, 0.35); border-radius: calc(var(--radius) + 4px); background: linear-gradient(180deg, rgba(255, 200, 61, 0.07), var(--surface) 70%); display: grid; gap: 12px; justify-items: start; }
.q-cta .q-cta__q { font-size: clamp(22px, 2.2vw, 28px); line-height: 1.2; letter-spacing: -0.02em; font-weight: 600; margin: 0; }
.q-cta p { margin: 0; color: var(--muted); }
.q-cta__btns { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 6px; }
.q-cta__alt { font-size: 14.5px; }
.q-cta__alt a { color: var(--text); }
.q-cta__fine { font-family: var(--mono); font-size: 11.5px; color: var(--dim); }

.q-limites { margin-top: clamp(32px, 4vw, 44px); padding-top: 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: 14.5px; }
.q-limites h2 { font-size: 16px; margin: 0 0 8px; color: var(--text); }
.q-limites ul { margin: 0; padding-left: 20px; }
.q-limites li { margin-bottom: 6px; }
.q-limites a { color: var(--text); text-decoration-color: var(--accent); text-underline-offset: 3px; }
.q-vide { padding: 24px; border: 1px solid var(--line); border-radius: 12px; }

@media (max-width: 760px) {
  .q-facts, .q-how { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
  .q-ind__head h3 { font-size: 17.5px; }
  .q-cles li { grid-template-columns: 28px minmax(0, 1fr); }
}

/* Impression : fond clair, pas d'en-tête de site, pas de boutons. L'adresse de la page reste dans le pied. */
@media print {
  :root { --bg: #fff; --surface: #fff; --surface-2: #f3f1ec; --line: #d9d6cf; --line-strong: #bdb9b0; --text: #111; --text-2: #222; --muted: #444; --dim: #666; --accent-texte: #7a5600; --accent-soft: #fff3cf; }
  body { font-size: 11pt; }
  .top, .q-tools, .q-cta__btns, .skip { display: none !important; }
  .q-page { max-width: none; }
  .q-ind, .q-cles li, .q-check li, .q-cta, .q-summary { break-inside: avoid; }
  .q-ind details { display: block; }
  .q-ind summary { display: none; }
  .q-ind details[open] blockquote, .q-ind details blockquote { display: block; }
  a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 9pt; color: #666; }
  .q-profil a::after, .q-cta a::after { content: ""; }
}
