/* Respire — outils des guides piliers (2 octobre 2026) : carte du corps (:::corps) et sélecteur (:::selecteur).
   Sans JavaScript : la silhouette s’affiche seule et tous les repères restent lisibles dans les blocs dépliables. */
.ix-body .bm-layout{display:grid;grid-template-columns:minmax(150px,210px) minmax(0,1fr);gap:28px;align-items:start}
.ix-body .bm-visual{position:sticky;top:96px}
.bm-stage{position:relative;width:100%;max-width:210px;margin:0 auto;aspect-ratio:1/2;color:var(--jade,#1f6f66)}
.bm-figure{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.bm-pin{position:absolute;display:none;width:36px;height:36px;margin:0;padding:0;border:0;border-radius:50%;background:transparent;transform:translate(-50%,-50%);cursor:pointer;-webkit-tap-highlight-color:transparent}
.ix-body.bm-ready .bm-pin{display:block}
.bm-pin::before{content:"";position:absolute;inset:2px;border-radius:50%;border:2px solid var(--accent);opacity:0;animation:bm-pulse 2.6s ease-out infinite}
.bm-pin-dot{position:absolute;inset:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(79,169,154,.22),0 4px 10px -2px rgba(14,38,43,.35);transition:background .2s ease,transform .2s ease}
.bm-pin:hover .bm-pin-dot{transform:scale(1.15)}
.bm-pin[aria-expanded="true"] .bm-pin-dot{background:var(--ink,#0e262b);transform:scale(1.2)}
.bm-pin.is-mine .bm-pin-dot{background:var(--clay,#ce8271);box-shadow:0 0 0 5px rgba(206,130,113,.28)}
.bm-pin:focus-visible{outline:2.5px solid var(--accent);outline-offset:1px}
.bm-pin-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.bm-pin:hover .bm-pin-label,.bm-pin:focus-visible .bm-pin-label{left:calc(100% - 2px);top:50%;z-index:3;width:auto;height:auto;padding:4px 9px;overflow:visible;clip:auto;clip-path:none;transform:translateY(-50%);border-radius:8px;background:var(--ink,#0e262b);color:#fff;font-size:12px;font-weight:750;line-height:1.2;pointer-events:none;box-shadow:0 8px 18px -10px rgba(4,18,26,.6)}
@keyframes bm-pulse{0%{transform:scale(.55);opacity:.7}100%{transform:scale(1.2);opacity:0}}
.bm-chips{display:none;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:14px}
.ix-body.bm-ready .bm-chips{display:flex}
.bm-chip{padding:7px 12px;border-radius:999px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink-2);font-size:.84em;font-weight:750;line-height:1.2;cursor:pointer;transition:background .2s ease,color .2s ease}
.bm-chip:hover{border-color:var(--accent)}
.bm-chip[aria-expanded="true"]{background:var(--ink,#0e262b);color:#fff;border-color:transparent}
.bm-chip.is-mine{background:var(--clay,#ce8271);color:#fff;border-color:transparent}
.bm-chip:focus-visible{outline:2.5px solid var(--accent);outline-offset:2px}
.bm-panels{display:grid;gap:8px;min-width:0}
.bm-zone{border:1px solid var(--line-2);border-radius:14px;background:var(--surface);transition:border-color .2s ease,box-shadow .2s ease}
.bm-zone[open]{border-color:var(--accent);box-shadow:0 12px 28px -22px rgba(20,59,60,.55)}
.bm-zone summary{display:flex;align-items:center;gap:10px;padding:12px 16px;list-style:none;cursor:pointer;font-weight:750;color:var(--ink);line-height:1.3}
.bm-zone summary::-webkit-details-marker{display:none}
.bm-zone summary::after{content:"+";margin-left:auto;font-size:1.15em;font-weight:800;color:var(--accent)}
.bm-zone[open] summary::after{content:"–"}
.bm-zone summary:focus-visible{outline:2.5px solid var(--accent);outline-offset:2px;border-radius:12px}
.bm-dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--accent)}
.bm-zone.is-mine .bm-dot{background:var(--clay,#ce8271)}
.bm-text{padding:0 16px 14px}
.bm-text p{margin:0 0 10px!important}
.bm-mine{display:none;align-items:center;gap:8px;padding:6px 10px;border-radius:10px;background:var(--accent-soft);font-size:.88em;font-weight:750;color:var(--ink);cursor:pointer}
.ix-body.bm-ready .bm-mine{display:inline-flex}
.bm-mine input{width:18px;height:18px;margin:0;accent-color:var(--clay,#ce8271)}
.bm-result{margin-top:18px;padding:16px 18px;border-radius:16px;background:linear-gradient(135deg,rgba(233,199,187,.35),rgba(217,237,230,.55))}
.bm-result p{margin:0 0 8px!important}
.bm-result ul{margin:0!important;padding-left:1.2em}
.bm-result li{margin:4px 0}
.bm-note{margin:16px 0 0!important;font-size:.9em;color:var(--ink-2)}
@media (max-width:720px){
  .ix-body .bm-layout{grid-template-columns:minmax(0,1fr);gap:18px}
  .ix-body .bm-visual{position:static}
  .bm-stage{max-width:180px}
  .bm-pin{width:32px;height:32px}
  .bm-pin-dot{inset:9px}
  .sel-opt{padding:9px 12px;font-size:.93em}
}

.sel-opts{display:none;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.ix-select.sel-ready .sel-opts{display:flex}
.sel-opt{flex:1 1 220px;padding:11px 14px;border-radius:14px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);font-weight:700;line-height:1.35;text-align:left;cursor:pointer;transition:border-color .2s ease,background .2s ease,color .2s ease}
.sel-opt:hover{border-color:var(--accent)}
.sel-opt[aria-pressed="true"]{background:var(--chip-active-bg,var(--accent));border-color:transparent;color:#fff}
.sel-opt:focus-visible{outline:2.5px solid var(--accent);outline-offset:2px}
.sel-empty{margin:0!important;padding:14px 16px;border-radius:14px;border:1px dashed var(--line-2);color:var(--ink-2);font-size:.93em}
.sel-results{display:grid;gap:12px}
.sel-result{padding:16px 18px;border-radius:16px;background:var(--accent-soft)}
.ix-select.sel-ready .sel-result{display:none}
.ix-select.sel-ready .sel-result.is-active{display:block;animation:sel-in .35s ease}
.sel-for{margin:0 0 4px!important;font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.ix-select.sel-ready .sel-for{display:none}
.sel-name{margin:0 0 6px!important;font-family:var(--font-display);font-size:1.25em;line-height:1.25;color:var(--ink)}
.sel-text{margin:0!important}
.sel-result .breathe{gap:16px;margin-top:16px}
.sel-result .breathe-stage{width:min(220px,62vw)}
@keyframes sel-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.bm-pin::before{animation:none;opacity:.35}.ix-select.sel-ready .sel-result.is-active{animation:none}.bm-pin-dot,.bm-zone,.sel-opt{transition:none}}
