/* coupe.css — styles du composant "coupe simplifiée" PARTAGE (topos modal + fiche inline). */

/* --- Modale (page /topos) --- */
.cp-panel { position: fixed; inset: 0; z-index: 1400; display: none; align-items: center; justify-content: center; background: rgba(0,0,0,.35); }
.cp-panel.on { display: flex; }
.cp-panel, .cp-panel * { box-sizing: border-box; font-family: system-ui, sans-serif; }
.cp-box { background: #fff; border-radius: 10px; box-shadow: 0 4px 20px rgba(0,0,0,.4); padding: 12px 14px; width: min(540px, 94vw); max-height: 92vh; overflow: auto; }
.cp-hd { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.cp-title { font-weight: 700; flex: 1; font-size: 14px; }
.cp-close { background: none; border: 1px solid #ccc; border-radius: 6px; padding: 4px 9px; cursor: pointer; font: inherit; }
.cp-beta { font-size: 11px; color: #b26a00; background: #fff7e6; border: 1px solid #ffe0a3; border-radius: 5px; padding: 4px 8px; margin-bottom: 6px; }

/* --- Inline (fiche cavité) : pas de modale, occupe la largeur de son cadre --- */
.cp-inline { box-sizing: border-box; width: 100%; max-width: 540px; margin: 0 auto; }
.cp-inline * { box-sizing: border-box; font-family: system-ui, sans-serif; }

/* --- Commun --- */
.cp-svgwrap { position: relative; }
.cp-svg { width: 100%; height: auto; background: #f7f7f7; border: 1px solid #e0e0e0; border-radius: 6px; touch-action: none; display: block; }
.cp-zoomctl { position: absolute; top: 8px; left: 8px; display: flex; flex-direction: column; gap: 5px; z-index: 5; }
.coupe-zoom-btn { width: 28px; height: 28px; padding: 0; border: 1px solid #bbb; border-radius: 6px; background: rgba(255,255,255,.92); cursor: pointer; font: 600 16px/1 inherit; color: #333; box-shadow: 0 1px 3px rgba(0,0,0,.25); }
.coupe-zoom-btn:hover { background: #f0f4ff; border-color: #1f6feb55; }
.coupe-ctl { display: flex; align-items: center; gap: 8px; margin-top: 8px; font-size: 12px; color: #555; flex-wrap: wrap; }
.cp-speedwrap { display: inline-flex; align-items: center; gap: 5px; margin-left: 10px; font-size: 12px; color: #555; }
.cp-speed { width: 90px; }
.cp-resume { padding: 5px 10px; border: 1px solid #1f6feb55; border-radius: 6px; background: #eef4ff; color: #1f6feb; cursor: pointer; font: inherit; }
.cp-flip { margin-left: auto; padding: 5px 10px; border: 1px solid #c2c2c2; border-radius: 6px; background: #fff; cursor: pointer; font: inherit; }

/* --- Cadre coupe sur la fiche cavité --- */
.fiche-coupe-card { margin: .5rem 0 1rem; }
.fiche-coupe-card h2 { font-size: 1.05rem; margin: 0 0 .5rem; }
