/* Reprise ciblée API REST, 2026-10-09 ; thème partagé intact. */
.trainer-page { --trainer-accent: #16758b; --trainer-line: #dce7ed; --trainer-soft: #eaf7fa; --trainer-secondary: #7554a5; }
.trainer-page .trainer-speaking-cue { color: var(--trainer-accent); font-weight: 900; }
.trainer-page .trainer-panel, .trainer-page .trainer-word-cloud, .trainer-page .trainer-stats > div { background: #fff; border-color: var(--trainer-line); }
.trainer-page .trainer-word-cloud > span:nth-child(n) { color: #52616d; background: #fff; border-color: var(--trainer-line); }
.trainer-page .trainer-word-cloud > span:nth-child(3n) { color: var(--trainer-accent); background: #edf9fb; border-color: #d0ebef; }
.trainer-page .trainer-word-cloud > span:nth-child(4n) { color: var(--trainer-secondary); background: #f5f0fb; border-color: #e7ddf2; }
.trainer-page .trainer-dawap { background: linear-gradient(125deg, #effafd, #fff 65%); border-color: #d4e9ee; }
.trainer-page .trainer-stats > div { background: linear-gradient(180deg, #fff 45%, #f1f8fa); }
.trainer-page .course-kicker, .trainer-page .trainer-agency-brand > span:last-child { color: var(--trainer-accent); }
.trainer-page .trainer-aside-expanded { position: static; }
.trainer-aside-expanded .trainer-profile-grid-compact { grid-template-columns: minmax(0, 1fr); gap: 16px; }
.trainer-aside-expanded .trainer-panel h2 { font-size: 19px; }
.trainer-aside-expanded .trainer-panel p { font-size: 13px; line-height: 1.65; }
.trainer-agency-brand { display: flex; align-items: center; gap: 12px; color: #17263f; text-decoration: none; font-size: 22px; font-weight: 900; }
.trainer-agency-brand img { display: block; width: 115px; height: auto; object-fit: contain; }
.trainer-agency-brand small { display: block; color: #64748b; font-size: 11px; font-weight: 650; margin-top: 3px; }
.trainer-agency-brand > span:last-child { margin-left: auto; color: #087f9b; font-size: 18px; }
.trainer-agency-brand:focus-visible { outline: 3px solid #0891b2; outline-offset: 5px; border-radius: 6px; }
.trainer-page .trainer-agency-services { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 0; }
.trainer-page .trainer-agency-services li { padding: 8px 10px; border: 1px solid #d1e8ed; border-radius: 9px; background: #f1fafb; color: var(--trainer-accent); font-size: 12px; font-weight: 800; line-height: 1.3; }
.trainer-page .trainer-agency-services li::before { display: none; }
.trainer-page .trainer-dawap .trainer-agency-outcome { font-size: 12px; font-weight: 750; color: var(--trainer-accent); }
.trainer-page .trainer-copy-with-timeline { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 22px; align-items: start; }
.trainer-story { display: grid; gap: 18px; min-width: 0; }
.trainer-field-section > h2 { margin: 0 0 14px; font-size: 23px; line-height: 1.2; color: #17263f; }
.trainer-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.trainer-field-card { min-width: 0; padding: 18px 16px; border: 1px solid #d4e8ed; border-radius: 12px; background: linear-gradient(145deg, #f0fafc, #fff 85%); }
.trainer-field-icon { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 10px; background: var(--trainer-soft); color: var(--trainer-accent); margin-bottom: 12px; }
.trainer-field-icon svg { width: 23px; height: 23px; }
.trainer-field-card h3 { margin: 0 0 7px; color: var(--trainer-accent); font-size: 17px; line-height: 1.3; }
.trainer-field-card p { margin: 0; color: #64748b; font-size: 13px; line-height: 1.6; }
@media (max-width: 380px) { .trainer-field-grid { grid-template-columns: 1fr; } }
.trainer-transmission-section { padding-top: 8px; }
.trainer-transmission-section > h2 { margin: 0 0 20px; font-size: 23px; line-height: 1.2; color: #17263f; }
.trainer-page .trainer-transmission-path { list-style: none; padding: 0; margin: 0; display: grid; gap: 0; }
.trainer-page .trainer-transmission-path > li { position: relative; display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 14px; padding: 0 0 20px; }
.trainer-page .trainer-transmission-path > li::before { content: ''; position: absolute; left: 16px; top: 34px; bottom: 0; width: 2px; background: var(--trainer-line); border-radius: 0; box-shadow: none; }
.trainer-page .trainer-transmission-path > li:last-child::before { display: none; }
.trainer-transmission-number { display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; border: 1px solid #e4d9f0; border-radius: 50%; background: #f5f0fb; color: var(--trainer-secondary); font-size: 11px; font-weight: 850; }
.trainer-transmission-section h3 { margin: 0 0 4px; color: var(--trainer-secondary); font-size: 16px; line-height: 1.4; }
.trainer-transmission-section p { margin: 0; color: #64748b; font-size: 13px; line-height: 1.6; }
.trainer-story-note { position: relative; display: flex; gap: 14px; padding: 16px 64px 16px 16px; border-radius: 4px 14px 14px 14px; background: #f7f3fc; border: 1px solid #e6dcf0; }
.trainer-story-note::after { content: ''; position: absolute; right: 16px; top: 50%; width: 32px; height: 48px; transform: translateY(-50%) rotate(14deg); opacity: .3; pointer-events: none; background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 48'%3E%3Cpath d='M11 3h10l-2 28h-6Z' fill='%237554a5'/%3E%3Ccircle cx='16' cy='40' r='5' fill='%237554a5'/%3E%3C/svg%3E"); }
.trainer-story-note > svg { width: 26px; height: 26px; flex-shrink: 0; color: var(--trainer-secondary); }
.trainer-experiences-footer { grid-column: 1 / -1; min-width: 0; border-top: 1px solid #dbe4ef; padding-top: 24px; }
.trainer-experiences-footer > h2 { margin: 0 0 16px; font-size: 22px; color: #17263f; }
.trainer-footer-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.trainer-footer-experience { position: relative; min-width: 0; padding: 8px 0 10px 20px; border-left: 2px solid #dce6ee; }
.trainer-footer-experience::before { content: ''; position: absolute; left: -5.5px; top: 14px; width: 9px; height: 9px; border-radius: 50%; background: var(--trainer-accent); box-shadow: 0 0 0 4px #f3f7fb; }
.trainer-footer-grid h3 { margin: 0 0 9px; color: #17263f; font-size: 15px; line-height: 1.4; }
.trainer-footer-grid p { margin: 0; color: #64748b; font-size: 13px; line-height: 1.65; }
@media (max-width: 720px) { .trainer-footer-grid { grid-template-columns: 1fr; } }
.trainer-copy-with-timeline > .trainer-intro, .trainer-copy-with-timeline > .trainer-stats { grid-column: 1 / -1; }
.trainer-story .trainer-profile-grid { grid-template-columns: minmax(0, 1fr); }
.trainer-timeline { min-width: 0; padding-left: 18px; border-left: 1px solid #dbe4ef; }
.trainer-timeline h2 { margin: 6px 0 24px; font-size: 21px; line-height: 1.2; color: #17263f; }
.trainer-timeline h3 { margin: 28px 0 18px; font-size: 16px; color: #17263f; }
.trainer-timeline-events { list-style: none; margin: 0; padding: 0 0 0 12px; }
.trainer-timeline-event { position: relative; padding: 0 0 26px 18px; border-left: 2px solid var(--trainer-line); --event-color: var(--trainer-accent); }
.trainer-timeline-event::before { content: ''; position: absolute; width: 9px; height: 9px; left: -5.5px; top: 5px; border-radius: 50%; background: var(--event-color); box-shadow: 0 0 0 4px #f3f7fb; }
.trainer-timeline-event:last-child { padding-bottom: 4px; }
.trainer-timeline-event article { display: grid; gap: 7px; overflow-wrap: anywhere; }
.trainer-timeline-event article > span { color: var(--event-color); font-weight: 850; font-size: 11px; line-height: 1.45; }
.trainer-timeline-event article > strong { color: #17263f; font-size: 14px; line-height: 1.4; }
.trainer-timeline-event article > p { margin: 0; color: #64748b; font-size: 12px; line-height: 1.65; }
@media (min-width: 961px) and (max-width: 1100px), (max-width: 640px) {
  .trainer-page .trainer-copy-with-timeline { grid-template-columns: minmax(0, 1fr); }
  .trainer-timeline { padding: 24px 0 0; border-left: 0; border-top: 1px solid #dbe4ef; }
}
.diagnostic-opening-page[data-group-opening-scene] .tone-cyan {
  --card-watermark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230891b2' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Ccircle cx='4' cy='4' r='2'/%3E%3Ccircle cx='20' cy='4' r='2'/%3E%3Ccircle cx='4' cy='20' r='2'/%3E%3Ccircle cx='20' cy='20' r='2'/%3E%3Cpath d='m6 6 4 4m4 4 4 4M6 18l4-4m4-4 4-4'/%3E%3C/svg%3E");
}
.diagnostic-opening-page[data-group-opening-scene] .tone-violet {
  --card-watermark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237c3aed' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 10 18H2L12 3Z M12 9v5M12 17h.01'/%3E%3C/svg%3E");
}
.diagnostic-opening-page[data-group-opening-scene] .tone-amber {
  --card-watermark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d97706' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E");
}
.diagnostic-opening-page[data-group-opening-scene] .tone-emerald {
  --card-watermark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23059669' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Ccircle cx='12' cy='12' r='5'/%3E%3Ccircle cx='12' cy='12' r='1'/%3E%3C/svg%3E");
}
.diagnostic-opening-page .dialogue-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.diagnostic-opening-page .dialogue-card::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: 16px;
  top: 24px;
  width: 150px;
  height: 150px;
  opacity: .075;
  background: var(--card-watermark) center / contain no-repeat;
  pointer-events: none;
}
.diagnostic-opening-page:not([data-group-opening-scene]) .tone-cyan {
  --card-watermark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230891b2' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 6C9 3 5 3 2 4v15c3-1 7-1 10 2 3-3 7-3 10-2V4c-3-1-7-1-10 2v15M5 8h3M5 12h3M16 8h3M16 12h3'/%3E%3C/svg%3E");
}
.diagnostic-opening-page:not([data-group-opening-scene]) .tone-violet {
  --card-watermark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237c3aed' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='3' width='20' height='17' rx='2'/%3E%3Cpath d='M2 7h20M8 11l-3 3 3 3M16 11l3 3-3 3M13 11l-2 6'/%3E%3C/svg%3E");
}
.diagnostic-opening-page:not([data-group-opening-scene]) .tone-amber {
  --card-watermark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d97706' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 14a4 4 0 0 1-4 4H9l-6 4V7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4Z'/%3E%3Ccircle cx='8' cy='10.5' r='.6'/%3E%3Ccircle cx='12' cy='10.5' r='.6'/%3E%3Ccircle cx='16' cy='10.5' r='.6'/%3E%3C/svg%3E");
}
.diagnostic-opening-page:not([data-group-opening-scene]) .tone-emerald {
  --card-watermark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23059669' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 15 6-6M8 16l-1 1a4.2 4.2 0 0 1-6-6l5-5a4.2 4.2 0 0 1 6 0M16 8l1-1a4.2 4.2 0 0 1 6 6l-5 5a4.2 4.2 0 0 1-6 0' transform='translate(1 0) scale(.92)'/%3E%3C/svg%3E");
}
@media (max-width: 600px) {
  .diagnostic-opening-page .dialogue-card::after {
    width: 110px;
    height: 110px;
    right: 12px;
    top: 18px;
    opacity: .055;
  }
}
.opening-actions { flex-wrap: wrap; }

/* Préparation dans le bloc 00, inspirée de l’ouverture API REST. */
.opening-setup { margin: 24px 0; padding: 24px 16px; border-block: 1px solid #d6e5eb; text-align: center; }
.opening-setup h4 { margin: 8px 0 12px; color: #6d3bb1; font-size: clamp(24px, 2.6vw, 30px); }
.opening-setup > p:not(.course-kicker) { max-width: 48ch; margin: 0 auto 18px; color: #52647a; line-height: 1.55; }
.opening-setup .course-button { max-width: 100%; white-space: normal; justify-content: center; }
.opening-setup small { display: block; margin-top: 14px; color: #52647a; line-height: 1.5; }
