/* Espace des clients payants. Les classes sont réservées aux pages client connectées. */
body.charte-test.terrain-test.atelier-client { background: #f3f5f3; font-size: 15px; line-height: 1.55; }
body.atelier-client::before { content: none; }
body.terrain-test.atelier-client > .site-header { position: sticky; top: 0; z-index: 30; }
html:has(body.atelier-client) { scroll-padding-top: 150px; }
/* Les outils flottants restent au-dessus du contenu, y compris avec le fond terrain. */
body.terrain-test.atelier-client > .rk-bulle { position: fixed; z-index: 40; }
body.terrain-test.atelier-client > .rk-voile { position: fixed; z-index: 50; }
body.terrain-test.atelier-client > .rk-panneau { position: fixed; z-index: 51; }
body.terrain-test.atelier-client > .rdv-voile { position: fixed; z-index: 60; }
body.terrain-test.atelier-client > .rdv-modale { position: fixed; z-index: 61; }
.atelier-client .container { max-width: 1200px; }
.atelier-client .site-header .header-inner { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 0 24px; padding-block: 16px 0; }
.atelier-client .site-header .brand { grid-column: 1; grid-row: 1; display: flex; flex-wrap: wrap; gap: 6px 20px; white-space: normal; }
.atelier-client .site-header .brand .name { text-transform: none; letter-spacing: -.02em; }
.atelier-client .site-header .brand .desc { font-size: .68rem; letter-spacing: .03em; }
.atelier-client .site-header .header-actions { grid-column: 2; grid-row: 1; margin: 0; gap: 12px; }
.atelier-client .site-header .header-actions .btn { min-height: 40px; padding: 8px 12px; }
.atelier-client .site-header .btn-messages { min-height: 40px; padding: 8px 12px; }
.atelier-client .site-header .nav { grid-column: 1 / -1; grid-row: 2; display: flex; flex-wrap: nowrap; width: 100%; gap: 4px 16px; overflow-x: auto; margin: 12px 0 0; padding: 0; border-top: 1px solid #364043; scrollbar-width: thin; }
.atelier-client .site-header .nav a { flex: none; padding: 12px 2px; min-height: 44px; font-size: .78rem; text-transform: none; letter-spacing: 0; }
body.charte-test.terrain-test.atelier-client .site-header .nav a[aria-current=page] { background: transparent; border-bottom: 3px solid #c77954; }
.atelier-client main.container.section { padding-top: 30px; padding-bottom: 64px; }
.atelier-client .section-head { max-width: none; padding-bottom: 20px; margin-bottom: 24px; border-bottom: 0; }
.atelier-client .eyebrow::before, .atelier-client .eyebrow::after { content: none; }
body.terrain-test.atelier-client :is(h1,h2,h3) { border: 0; text-decoration: none; }
.atelier-client :is(.amx-terrain-folio,.workspace-folio,.workspace-title) { border: 0; }
body.charte-test.terrain-test.atelier-client :is(.section-head h1, .parcours-head h1, .amx-terrain-title h1, .travail-entete h1) {
  max-width: 40ch; margin: 0; font: 600 clamp(1.6rem,2.3vw,2.1rem)/1.2 Inter,Arial,sans-serif; letter-spacing: -.035em; text-transform: none;
}
.atelier-client .section-head .eyebrow { margin-bottom: 10px; font-size: .68rem; }
.atelier-client .section-head p { margin: 10px 0 0; font-size: .94rem; max-width: 75ch; }
body.charte-test.terrain-test.atelier-client :is(.admin-block h2, .amx-parcours-side h2, .amx-action-side h2, .tb-action h2, .travail-maintenant h2, .travail-achats h2) { font-size: 1.2rem; line-height: 1.35; letter-spacing: -.02em; max-width: none; }
.atelier-client h3 { font-size: 1.05rem; line-height: 1.4; }
.atelier-client :is(.text,.lede,.lead) { font-size: 1rem; line-height: 1.6; }
.atelier-client .admin-block { margin-bottom: 20px; padding: 24px; background: #fff; border: 1px solid #d8ddda; }
.atelier-client .admin-block :is(p,ul):last-child { margin-bottom: 0; }
.atelier-client .admin-block h2 { margin-top: 0; margin-bottom: 12px; }
.atelier-client .btn { min-height: 44px; padding: 11px 16px; font-size: .88rem; line-height: 1.35; white-space: normal; }
.atelier-client .btn-secondary { border-color: #a8b2ad; }
.atelier-client :is(input,select,textarea) { font-size: 1rem; }
.atelier-client textarea { min-height: 140px; }
.atelier-client :is(.amx-parcours-layout, .amx-action-layout) { gap: 24px; align-items: start; }
.atelier-client .amx-parcours-main, .atelier-client .amx-action-main { min-width: 0; }
.atelier-client .amx-parcours-side, .atelier-client .amx-action-side { min-width: 0; }
@media(min-width: 860px) {
  .atelier-client .amx-parcours-side { top: 140px; max-height: calc(100dvh - 160px); }
}
.atelier-client .amx-cahier-menu { margin-block: 14px; }
.atelier-client .amx-cahier-menu summary { padding: 12px; font-size: .85rem; }
.atelier-client .amx-cahier { padding: 16px; border: 1px solid #d8ddda; }
.atelier-client .amx-terrain-hero { margin-bottom: 24px; border: 0; }
.atelier-client .amx-terrain-folio { padding: 0 0 12px; }
.atelier-client .amx-terrain-hero-grid { grid-template-columns: minmax(0,1.45fr) minmax(260px,1fr); padding-block: 24px; gap: 28px; }
.atelier-client :is(.amx-terrain-title, .amx-terrain-decision) { border: 0; padding: 0; }
.atelier-client .amx-terrain-title > span { display: block; margin-bottom: 12px; }
.atelier-client .amx-terrain-title p { margin-top: 12px; font-size: .9rem; }
.atelier-client .amx-terrain-decision h2 { margin: 10px 0 18px; font-size: 1rem; font-weight: 400; line-height: 1.55; }
.atelier-client .amx-terrain-rail { border-block: 1px solid #ccd2cf; padding: 6px 0; }
.atelier-client .amx-terrain-open-layout .amx-parcours-main { display: block; }
.atelier-client .amx-terrain-open-layout .amx-terrain-status { padding: 12px 0; margin-bottom: 16px; border: 0; }
.atelier-client .amx-terrain-status h2 { margin-block: 0 8px; font-size: 1.1rem; }
.atelier-client .amx-cap-ouvert { background: #eaf0ec; border: 0; padding: 20px; }
.atelier-client .amx-pas { padding-block: 12px; }
.atelier-client .amx-pas-titre { font-size: .9rem; }
.atelier-client .amx-pas-etat { font-size: .68rem; }
.atelier-client .travail-fin { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 16px 28px; border-left: 3px solid #a94f29; }
.atelier-client .travail-fin .eyebrow { grid-column: 1 / -1; margin: 0; }
.atelier-client .travail-fin h2 { grid-column: 1; margin: 0; }
.atelier-client .travail-fin > p.text { grid-column: 1; margin: 0; max-width: 75ch; }
.atelier-client .travail-fin > p:not(.text) { grid-column: 2; grid-row: 2 / 4; margin: 0; }
.atelier-client .travail-fin details { grid-column: 1 / -1; border-top: 1px solid #e0e5e2; padding-top: 12px; color: #56615b; font-size: .88rem; }
.atelier-client .travail-fin summary { cursor: pointer; }
.atelier-client .travail-fin details p { max-width: 85ch; }
.atelier-client .travail-entete { display: flex; justify-content: space-between; align-items: end; gap: 24px; padding-bottom: 24px; }
.atelier-client .travail-entete .eyebrow { display: block; margin-bottom: 10px; }
.atelier-client .travail-maintenant { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 24px; align-items: center; padding: 28px; border: 1px solid #cbd3ce; border-left: 4px solid #a94f29; background: #fff; }
.atelier-client .travail-maintenant .eyebrow { display: block; margin-bottom: 10px; }
body.charte-test.terrain-test.atelier-client .travail-maintenant h2 { margin: 0; font-size: clamp(1.35rem,2vw,1.7rem); max-width: 38ch; }
.atelier-client .travail-maintenant p { max-width: 65ch; margin: 12px 0 0; color: #455149; }
.atelier-client .travail-decision { display: grid; justify-items: start; gap: 10px; }
.atelier-client .travail-decision .btn { gap: 16px; }
.atelier-client .travail-outils { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-block: 20px 32px; }
.atelier-client .travail-outils a { display: grid; gap: 6px; padding: 20px; border: 1px solid #d8ddda; background: #fff; text-decoration: none; }
.atelier-client .travail-outils a:hover { border-color: #a94f29; }
.atelier-client .travail-outils span { color: #58625c; font-size: .85rem; }
.atelier-client .travail-achats { margin-block: 28px; }
.atelier-client .travail-achats h2 { margin-bottom: 14px; }
.atelier-client .travail-achats-liste { list-style: none; padding: 0; margin: 0; border-top: 1px solid #ccd2cf; }
.atelier-client .travail-achats-liste > li { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 20px 0; border-bottom: 1px solid #ccd2cf; }
.atelier-client .travail-achats-liste h3 { margin: 0; }
.atelier-client .travail-achats-liste p { margin: 6px 0 0; color: #58625c; font-size: .88rem; }
.atelier-client .travail-suite { margin-top: 32px; border-top: 1px solid #ccd2cf; padding-block: 16px; }
.atelier-client .travail-suite > summary { cursor: pointer; padding-block: 8px; font-weight: 600; }
.atelier-client .travail-suite .tb-autres { border: 0; margin-top: 16px; padding-top: 0; }
.atelier-client .tb-autres h2 { font-size: 1.3rem; }
.atelier-client .tb-offre { padding: 22px; border: 1px solid #d8ddda; background: #fff; }
.atelier-client .tb-offre h3 { font-size: 1.1rem; }
.atelier-client .tb-prix { font-size: 1.3rem; }
.atelier-client .parcours-head { margin-bottom: 24px; gap: 24px; }
.atelier-client .progress-card { padding: 22px; }
.atelier-client .progress-num { font-size: 2rem; }
.atelier-client .semaine-card h2 { font-size: 1.15rem; }
.atelier-client .rdv-prochain, .atelier-client .contact-remy { padding: 22px; margin-block: 24px; }
.atelier-client .rdv-prochain h2, .atelier-client .contact-remy h2 { font-size: 1.2rem; }
@media(max-width: 859px) {
  .atelier-client .amx-cahier-raccourci { left: 18px; right: auto; min-height: 44px; display: inline-flex; align-items: center; bottom: calc(14px + env(safe-area-inset-bottom, 0px)); }
}
@media(max-width: 760px) {
  .atelier-client .site-header .header-inner { padding: 12px 18px 0; gap: 8px; }
  .atelier-client .site-header .brand .desc { display: none; }
  .atelier-client .site-header .header-actions { gap: 6px; }
  .atelier-client .site-header .btn-messages, .atelier-client .site-header .header-actions .btn { font-size: .7rem; padding: 8px; }
  .atelier-client .site-header .nav { margin-top: 4px; gap: 18px; }
  .atelier-client main.container.section { padding: 22px 18px 56px; }
  .atelier-client :is(.travail-maintenant, .travail-fin) { display: flex; flex-direction: column; align-items: stretch; padding: 20px; gap: 16px; }
  .atelier-client .travail-entete { display: block; padding-bottom: 20px; }
  .atelier-client .travail-decision .btn { width: 100%; justify-content: space-between; }
  .atelier-client .travail-outils { grid-template-columns: 1fr; gap: 0; margin-bottom: 24px; }
  .atelier-client .travail-outils a { padding: 14px 18px; border-bottom: 0; }
  .atelier-client .travail-outils a:last-child { border-bottom: 1px solid #d8ddda; }
  .atelier-client .travail-achats-liste > li { flex-direction: column; align-items: start; gap: 12px; }
  .atelier-client .amx-terrain-hero-grid { grid-template-columns: 1fr; padding-block: 20px; gap: 20px; }
  .atelier-client .admin-block { padding: 18px; }
  .atelier-client .amx-parcours-layout, .atelier-client .amx-action-layout { display: block; }
  .atelier-client .amx-parcours-side, .atelier-client .amx-action-side { margin-top: 24px; }
  .atelier-client .travail-fin .btn { width: 100%; justify-content: center; }
}
