body.page-outils-mon-plan-intention main { padding-bottom: 5rem; }
.intention-page { padding-top: 3.5rem; }
.intention-shell { max-width: 860px; margin: 0 auto; display: grid; gap: 1.5rem; }
.intention-hero, .intention-form, .intention-progress-wrap { background: #fbfaf5; border: 1px solid #d9dfce; border-radius: 8px; box-shadow: 0 8px 24px rgba(34, 48, 31, 0.06); }
.intention-hero { padding: clamp(1.5rem, 3vw, 2.5rem); display: grid; gap: 1rem; }
.intention-hero h1 { color: #233a2b; font-size: clamp(2.1rem, 5vw, 3.4rem); }
.intention-hero p { max-width: 65ch; margin: 0; color: #54614d; }
.intention-badge { width: fit-content; padding: .32rem .9rem; border-radius: 999px; background: #d7e4d4; color: #2f5c4a; font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.intention-disclaimer { font-size: .84rem; }
.intention-progress-wrap { padding: 1rem 1.25rem; }
.intention-progress-meta { display: flex; justify-content: space-between; gap: 1rem; color: #54614d; font-size: .9rem; }
.intention-progress-meta strong { color: #233a2b; }
.intention-progress { height: 8px; overflow: hidden; margin-top: .7rem; border-radius: 99px; background: #e3e7dc; }
.intention-progress span { display: block; height: 100%; width: 12.5%; background: #366056; transition: width .2s ease; }
.intention-form { padding: clamp(1.25rem, 3vw, 2.4rem); }
.intention-step { display: grid; gap: 1rem; }
.intention-step[hidden] { display: none; }
.intention-step h2, .intention-tracking h3 { color: #233a2b; font-size: clamp(1.55rem, 3vw, 2rem); }
.intention-step > p { margin: 0; color: #54614d; }
.intention-step label { display: grid; gap: .45rem; color: #233a2b; font-weight: 700; }
.intention-step input[type="text"], .intention-step input[type="date"], .intention-step textarea { width: 100%; border: 1px solid #aeb7aa; border-radius: 6px; padding: .72rem .8rem; color: #1c1c19; font: inherit; background: #fff; }
.intention-step textarea { resize: vertical; }
.intention-step input:focus, .intention-step textarea:focus, .intention-step button:focus-visible { outline: 3px solid rgba(54, 96, 86, .35); outline-offset: 2px; }
.intention-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.field-help { margin: -.45rem 0 0; color: #54614d; font-size: .88rem; }
.intention-step fieldset { display: grid; gap: .75rem; padding: 1rem; border: 1px solid #d9dfce; border-radius: 6px; }
.intention-step legend { padding: 0 .25rem; color: #233a2b; font-weight: 700; }
.intention-step fieldset label { display: flex; align-items: baseline; gap: .6rem; font-weight: 500; }
.intention-step input[type="range"] { width: 100%; accent-color: #366056; }
.intention-suggestion, .intention-reduction, .intention-errors, .intention-summary, .intention-tracking { padding: 1rem 1.15rem; border-radius: 6px; }
.intention-suggestion, .intention-reduction { background: #edf3e9; border-left: 4px solid #4f796e; }
.intention-suggestion p, .intention-reduction p { margin: .4rem 0 .85rem; }
.intention-obstacles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.intention-obstacles legend { grid-column: 1 / -1; }
.intention-priority-obstacles { display: grid; gap: .65rem; padding: 1rem; border-radius: 6px; background: #f1f4ec; }
.intention-priority-obstacles label { display: flex; align-items: center; gap: .55rem; font-weight: 500; }
.intention-response { display: grid; gap: .65rem; padding: 1rem; border: 1px solid #d9dfce; border-radius: 6px; }
.intention-response h3 { font-size: 1.1rem; }
.intention-errors { margin-top: 1.25rem; background: #f9e7e3; border-left: 4px solid #a94637; color: #7d2a20; }
.intention-navigation, .intention-summary-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
#intention-next { margin-left: auto; }
#intention-restart { margin-left: auto; }
.intention-summary { display: grid; gap: 1rem; background: #f1f4ec; border: 1px solid #d9dfce; }
.intention-summary-section { padding-bottom: 1rem; border-bottom: 1px solid #d9dfce; }
.intention-summary-section:last-child { padding-bottom: 0; border-bottom: 0; }
.intention-summary h3 { margin: 0 0 .3rem; color: #2f5c4a; font-family: "Manrope", sans-serif; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.intention-summary p { margin: 0; white-space: pre-wrap; }
.intention-print-site, .intention-print-footer { display: none; }
.intention-tracking { margin-top: 1.5rem; background: #fbfaf5; border: 1px solid #d9dfce; }
.intention-tracking > p { color: #54614d; }
.tracking-day { display: grid; gap: .65rem; padding: 1rem 0; border-bottom: 1px solid #d9dfce; }
.tracking-day:last-child { border-bottom: 0; }
.tracking-options { display: flex; flex-wrap: wrap; gap: .8rem; }
.tracking-options label { display: flex; align-items: center; gap: .35rem; font-size: .9rem; font-weight: 500; }
.tracking-day textarea { min-height: 4rem; }
@media (max-width: 640px) { .intention-page { padding-top: 2.4rem; } .intention-fields, .intention-obstacles { grid-template-columns: 1fr; } .intention-progress-meta { display: grid; gap: .2rem; } .intention-navigation { display: grid; grid-template-columns: 1fr 1fr; } #intention-next, #intention-restart { margin-left: 0; } #intention-restart { grid-column: 1 / -1; } .intention-summary-actions { display: grid; } }

@media print {

  /* =========================
     PAGE A4
     ========================= */

  @page {
    size: A4 portrait;
    margin: 18mm 15mm 18mm 15mm;
  }

  /* =========================
     ÉLÉMENTS À MASQUER
     ========================= */

  .site-header,
  .site-footer,
  .intention-hero,
  .intention-progress-wrap,
  .intention-navigation,
  .intention-summary-actions,
  .intention-step:not([data-step="8"]),
  .intention-tracking {
    display: none !important;
  }

  /* =========================
     BASE
     ========================= */

  html,
  body {
    width: 100%;
    margin: 0;
    padding: 0;
    background: #fff !important;
  }

  body {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  body.page-outils-mon-plan-intention main {
    margin: 0;
    padding: 0;
  }

  /* =========================
     CONTENEUR PRINCIPAL
     ========================= */

  .intention-page.section-gap {
    width: 100%;
    margin: 0;
    padding: 0;
  }

  .intention-shell,
  .intention-form {
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    border: 0;
    box-shadow: none;
    background: #fff;
  }

  /* =========================
     HEADER D'IMPRESSION
     ========================= */

  .intention-print-header {
    display: block !important;
    width: 100%;
    margin: 0 0 8mm 0;
    padding: 0 0 5mm 0;
    border-bottom: 1px solid #366056;
  }

  .intention-print-site {
    display: inline-block;
    margin: 0;
    padding: 0.35rem 0.9rem;
    border: 1px solid #366056;
    border-radius: 999px;
    background: #366056 !important;
    color: #fff !important;
    font-size: 0.85rem;
    font-weight: 700;
    line-height: 1.2;

    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  /* =========================
     CONTENU À IMPRIMER
     ========================= */

  .intention-step[data-step="8"] {
    display: block !important;
    width: 100%;
    margin: 0;
    padding: 0;

    /* Évite qu'une partie du bloc soit coupée */
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .intention-print-content {
    width: 100%;
    margin: 0;
    padding: 0;
  }

  .intention-print-content h2 {
    margin-top: 0;
    margin-bottom: 1.25rem;
  }

  .intention-summary {
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: #fff;
  }

  /* =========================
     FOOTER
     ========================= */

  .intention-print-footer {
    display: block !important;
    width: 100%;
    margin-top: 8mm;
    padding-top: 4mm;
    border-top: 1px solid #d6dedb;

    color: #4f796e;
    font-family: "Manrope", sans-serif;
    font-size: 0.68rem;
    font-weight: 400;
    letter-spacing: 0.08em;
    line-height: 1.3;
    text-align: center;
    text-transform: uppercase;
  }

  /* =========================
     ANCIEN FOOTER ::AFTER
     ========================= */

  body.page-outils-mon-plan-intention::after {
    content: none !important;
    display: none !important;
  }

  /* =========================
     ÉVITER LES COUPURES
     ========================= */

  h1,
  h2,
  h3,
  h4,
  p,
  li,
  .intention-summary,
  .intention-print-content {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  /* =========================
     LIENS
     ========================= */

  a {
    color: inherit;
    text-decoration: none;
  }
}