/* 20 October 2026: targeted editorial pages only. */
.cu-audio-wave { color: var(--forest); transform: none; }
.cu-audio-wave rect { stroke: none; }

/* These three statements carry the same weight, including the former strong title. */
.cu-studio .cu-strip p,
.cu-formation .cu-strip p,
.cu-mevo .cu-strip p {
  font-family: Arial, sans-serif;
  font-size: clamp(15px, 1.1vw, 20px);
  font-weight: 600;
  line-height: 1.5;
}
.cu-studio .cu-strip strong,
.cu-formation .cu-strip strong,
.cu-mevo .cu-strip strong {
  font: inherit;
  letter-spacing: inherit;
}

/* One audience choice, then the workshop itself; no leftover lime navigation band. */
.cu-collectif .cu-hero {
  min-height: 0;
  padding-bottom: clamp(34px, 4.5vw, 64px);
}
.cu-collectif .cu-hero::after { content: none; }
.cu-collectif #particuliers {
  padding-top: clamp(34px, 4.5vw, 64px);
  border-top: 1px solid var(--line);
}

.oni-back-top {
  position: fixed;
  inset: auto max(16px, env(safe-area-inset-right)) calc(92px + env(safe-area-inset-bottom)) auto;
  z-index: 80;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  padding: 0;
  border: 1px solid var(--forest);
  border-radius: 50%;
  background: var(--paper);
  color: var(--forest);
  box-shadow: 0 3px 14px #1016111c;
  cursor: pointer;
  touch-action: manipulation;
}
.oni-back-top[hidden] { display: none !important; }
.oni-back-top:hover { background: var(--forest); color: var(--paper); }
.oni-back-top:focus-visible { outline: 3px solid var(--lime); outline-offset: 4px; }
.oni-back-top svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; }

/* Read-only Trustindex data; no hard-coded score or review count. */
.oni-reputation-badge { display:inline-flex; align-items:center; gap:14px; max-width:100%; margin:18px 0 4px; padding:12px 16px; border:1px solid #234a2b40; border-radius:8px; background:#ecf0e2; color:#193d22; text-decoration:none; font:400 15px/1.4 Arial,sans-serif; }
.oni-reputation-badge strong { display:block; font-size:16px; font-weight:700; }
.oni-reputation-badge small { display:block; margin-top:2px; font-size:12px; }
.oni-reputation-badge:focus-visible { outline:3px solid var(--forest); outline-offset:4px; }
.oni-reputation-stars { position:relative; display:inline-block; flex:none; white-space:nowrap; color:#adb7a3; font-size:18px; line-height:1; letter-spacing:1px; }
.oni-reputation-stars > span { position:absolute; inset:0 auto 0 0; overflow:hidden; color:#234a2b; }
.oni-reputation-more { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:18px; margin-top:24px; }
.oni-authentic-reviews figure { display:flex; flex-direction:column; }
.oni-authentic-reviews blockquote { margin:4px 0 22px; padding:0; border:0; font:400 clamp(17px,1.2vw,20px)/1.65 Arial,sans-serif; letter-spacing:normal; }
.oni-authentic-reviews blockquote p { margin:0; font:inherit; color:inherit; }
.oni-authentic-reviews figcaption { margin-top:auto; }
.oni-authentic-reviews figcaption strong { display:block; }
.oni-authentic-reviews figcaption small { display:block; margin-top:8px; font-size:13px; line-height:1.6; }
@media(max-width:430px) { .oni-reputation-badge { gap:9px; padding:11px 12px; } .oni-reputation-stars { font-size:15px; } .oni-reputation-badge strong { font-size:15px; } }

/* Contact is a second two-column row inside the same FAQ section. */
.cd-faq.cd-faq-with-contact { row-gap: 42px; align-items: start; }
.cd-faq .cd-faq-contact-heading h2 { font-size: clamp(28px, 2.8vw, 42px); line-height: 1.12; margin: 0; }
.cd-faq .cd-faq-contact { min-width: 0; scroll-margin-top: 100px; }
.cd-refined .cd-faq .cd-faq-contact > summary > .cd-faq-contact-action {
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  width: 100%; font: inherit; color: var(--forest); transform: none;
}
@media (max-width: 760px) {
  .cd-faq.cd-faq-with-contact { row-gap: 26px; }
  .cd-faq .cd-faq-contact-heading { margin-top: 12px; }
  .cd-faq .cd-faq-contact-heading h2 { font-size: clamp(28px, 8vw, 36px); }
}
.cd-faq-contact-icon { display: inline-block; font-size: 22px; line-height: 1; transition: transform .18s ease; }
.cd-faq-contact[open] .cd-faq-contact-icon { transform: rotate(45deg); }
.cd-faq-contact > summary:focus-visible { outline: 2px solid var(--forest); outline-offset: 5px; }
.cd-faq-contact-body { padding: 16px 0 26px; }
.cd-faq-contact[open] .cd-faq-contact-body { animation: c4-faq-contact-in .18s ease-out; }
@keyframes c4-faq-contact-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.cd-faq-contact .c4-contact-form { margin: 0; max-width: none; gap: 16px; }
.cd-faq-contact .c4-contact-form > label { font-size: 14px; line-height: 1.5; }
.cd-faq-contact .c4-contact-form input,
.cd-faq-contact .c4-contact-form textarea { font-size: 16px; min-height: 46px; }
.cd-faq-contact .c-button { justify-self: start; background: transparent; color: var(--forest); border: 1px solid #6f805f; }
.cd-faq-contact .c-button:hover { background: #e2e8d3; }
.cd-refined .cd-faq .cd-faq-contact .cu-smallprint { font-size: 13px; line-height: 1.65; margin: 0; }
.cd-faq-contact .cu-smallprint a { text-underline-offset: 3px; }
.cd-refined .cd-faq .cd-faq-contact .cd-contact-status { margin: 0 0 22px; font-size: 15px; line-height: 1.6; }
@media (max-width: 600px) {
  .cd-faq-contact .c-button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .cd-faq-contact[open] .cd-faq-contact-body { animation: none; }
  .cd-faq-contact-icon { transition: none; }
}
