/* Module 360° « Où avez-vous mal ? » */
.corps{--ease:cubic-bezier(0.23,1,0.32,1);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:20px;align-items:start;margin:40px 0 28px}
@media (min-width:861px){.corps-view{position:sticky!important;top:92px}}
.corps-view{position:relative;background:#f7f7f6;border-radius:var(--r,22px);overflow:hidden;touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none}
.corps-view.drag{cursor:grabbing}
.corps-ph{position:relative;aspect-ratio:1024/1400}
.corps-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-drag:none;visibility:hidden}
.corps-ph img.on{visibility:visible}
.corps-spots{position:absolute;inset:0}
.corps-spot{position:absolute;left:0;top:0;width:30px;height:30px;margin:-15px 0 0 -15px;border:0;padding:0;background:none;cursor:pointer;border-radius:50%;will-change:transform;transition:opacity 120ms linear}
.corps-spot::before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--alesia);opacity:.28;animation:corpsPulse 2.4s var(--ease) infinite}
.corps-spot::after{content:"";position:absolute;inset:9px;border-radius:50%;background:var(--alesia);box-shadow:0 0 0 2px #fff;transition:transform 180ms var(--ease)}
.corps-spot.on::after{background:#1f1b17;transform:scale(1.3)}.corps-spot.on::before{background:#1f1b17}
.corps-spot:focus-visible{outline:3px solid #1f1b17;outline-offset:2px}
@media (hover:hover) and (pointer:fine){.corps-spot:hover::after{transform:scale(1.3)}}
.corps-view.drag .corps-spot::before{animation:none;opacity:0}
@keyframes corpsPulse{0%{transform:scale(.55);opacity:.5}80%,100%{transform:scale(1.5);opacity:0}}
.corps-bar{position:absolute;left:12px;right:12px;bottom:12px;display:flex;align-items:center;justify-content:space-between}
.corps-rot{all:unset;cursor:pointer;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#1f1b17;color:#fff;transition:transform 160ms var(--ease)}
.corps-rot:active{transform:scale(.94)}.corps-rot:focus-visible{outline:3px solid var(--alesia);outline-offset:2px}
.corps-rot svg{width:20px;height:20px}
.corps-deg,.corps-tip{font-weight:700;font-size:14px;color:#1f1b17;background:rgba(255,255,255,.88);padding:6px 12px;border-radius:99px}
.corps-tip{position:absolute;left:50%;top:14px;transform:translateX(-50%);white-space:nowrap;transition:opacity 400ms ease}
.corps-tip.off{opacity:0}
.corps-panel{background:#fff;border-radius:var(--r,22px);padding:24px;min-height:100%}
.cp-hd{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:6px}
.cp-hd h3{margin:0;font-size:clamp(24px,2.6vw,32px);font-weight:900;font-stretch:92%;letter-spacing:-.02em;line-height:1.05}
.cp-count{font-size:14px;font-weight:700;color:var(--muted);white-space:nowrap}
.cp-sub{margin:0 0 16px;color:var(--muted)}
.cp-cards{display:grid;gap:10px}
.cp-card{position:relative;overflow:hidden;isolation:isolate;display:grid;grid-template-columns:8px minmax(0,1fr);gap:0 14px;background:var(--paper);border-radius:18px;padding:16px 18px 16px 14px;text-decoration:none;color:var(--ink);opacity:0;transform:translateY(10px);animation:corpsIn 380ms var(--ease) forwards;animation-delay:calc(var(--k)*50ms);transition:background-color 160ms ease}
.cp-card i{grid-row:1/5;border-radius:4px;background:var(--c)}
.cp-card b,.cp-card small,.cp-card p,.cp-card span{grid-column:2}
.cp-card b{font-size:18px;line-height:1.2}
.cp-card small{color:var(--muted);font-size:14px}
.cp-card p{margin:6px 0 8px;font-size:15px}
.cp-card span{font-weight:700;font-size:14px;text-decoration:underline;text-underline-offset:3px}
.cp-card .wm{position:absolute;right:-18px;bottom:-34px;width:118px;height:auto;fill:var(--c);opacity:.13;transform:rotate(-12deg);z-index:-1;pointer-events:none;transition:transform 400ms var(--ease),opacity 300ms ease}
@media (hover:hover) and (pointer:fine){.cp-card:hover{background:#ece6dd}.cp-card:hover .wm{transform:rotate(-4deg) scale(1.06);opacity:.2}}
.cp-card:focus-visible{outline:3px solid var(--alesia);outline-offset:2px}
@keyframes corpsIn{to{opacity:1;transform:none}}
.cp-gen{margin-top:22px}.cp-gen h4{margin:0 0 8px;font-size:16px}
.cp-chips{display:flex;flex-wrap:wrap;gap:8px}
.cp-chip{display:inline-block;padding:9px 14px;border-radius:99px;background:var(--paper);font-weight:700;font-size:14px;color:var(--ink);text-decoration:none;transition:transform 160ms var(--ease)}
.cp-chip:active{transform:scale(.97)}
@media (max-width:860px){.corps{grid-template-columns:1fr}.corps-view{max-width:460px;width:100%;margin:0 auto}.corps-panel{min-height:0;padding:20px}}
@media (prefers-reduced-motion:reduce){.corps-spot::before{animation:none;opacity:0}.cp-card{animation-duration:1ms}}
