/* doc-project | public/assets/css/components/modal-add-bend.css | Présente l’extrémité choisie, directions, cadran d’angle et aperçu local recadré du futur segment lors de l'ajout d'un pli. | Expose: modal ajout pli, cadran et aperçu local | Dépend de: modal.css, forms.css | Impacte: configurateur et lecture des angles personnalisés | Tables: aucune */
.modal--bend{width:min(620px,calc(100vw - 2rem))}.bend-directions{display:grid;grid-template-columns:repeat(4,1fr);gap:.55rem}.bend-directions label{position:relative}.bend-directions input{position:absolute;opacity:0}.bend-directions span{display:grid;place-items:center;min-height:74px;border:1px solid var(--ink-300);border-radius:.55rem;font-size:1.4rem;cursor:pointer}.bend-directions input:checked+span{border-color:var(--accent);background:var(--accent-soft);box-shadow:var(--focus)}.bend-expert[hidden]{display:none}@media(max-width:520px){.bend-directions{grid-template-columns:repeat(2,1fr)}}

/* Le template utilise direction-grid et non bend-directions. */
.direction-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.55rem}
.direction-grid label{position:relative}
.direction-grid input{position:absolute;opacity:0}
.direction-grid span{display:grid;place-items:center;gap:.15rem;min-height:74px;border:1px solid var(--ink-300);border-radius:.55rem;font-size:1.4rem;cursor:pointer}
.direction-grid span small{font-size:.7rem;color:var(--ink-500)}
.direction-grid input:checked+span{border-color:var(--accent);background:var(--accent-soft);box-shadow:var(--focus)}
[data-free-angle-fields][hidden]{display:none}
@media(max-width:520px){.direction-grid{grid-template-columns:repeat(2,1fr)}}

.bend-endpoint-context{margin:0 0 .9rem;padding:.65rem .75rem;border-radius:.5rem;background:var(--accent-soft);color:var(--ink-700);font-size:.8rem}.bend-endpoint-context strong{color:var(--accent)}

.bend-add-error{margin:.25rem 0 0}.bend-add-error[hidden]{display:none}

.bend-angle-picker{display:grid;grid-column:1/-1;justify-items:center;gap:.45rem;padding:.65rem;border:1px solid var(--ink-200);border-radius:.65rem;background:var(--ink-50);text-align:center}.bend-angle-picker>small{color:var(--ink-500);font-size:.7rem}.bend-angle-picker__dial{position:relative;width:132px;aspect-ratio:1;padding:0;border:2px solid var(--ink-300);border-radius:50%;background:radial-gradient(circle at center,#fff 0 7px,transparent 8px),#fff;cursor:crosshair;touch-action:none}.bend-angle-picker__dial:hover{border-color:var(--accent)}.bend-angle-picker__dial:focus-visible{outline:0;box-shadow:var(--focus)}.bend-angle-picker__axis,.bend-angle-picker__indicator{position:absolute;left:50%;top:50%;width:42%;height:2px;transform-origin:left center;pointer-events:none}.bend-angle-picker__axis{background:var(--ink-300)}.bend-angle-picker__indicator{background:var(--accent);transform:rotate(var(--bend-angle,90deg));transition:transform .08s linear}.bend-angle-picker__indicator::after{content:"";position:absolute;right:-5px;top:50%;width:10px;height:10px;border-radius:50%;background:var(--accent);transform:translateY(-50%)}.bend-angle-picker__value{position:absolute;left:50%;top:calc(50% + 18px);transform:translateX(-50%);color:var(--ink-800);font-size:.8rem;pointer-events:none}

.bend-local-preview{display:grid;grid-column:1/-1;gap:.45rem;margin:0;padding:.7rem;border:1px solid var(--ink-200);border-radius:.65rem;background:#fff}.bend-local-preview figcaption{display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:var(--ink-700);font-size:.76rem;font-weight:800}.bend-local-preview figcaption strong{color:var(--accent);font-size:.9rem}.bend-local-preview__stage{position:relative;display:grid;place-items:center;min-height:180px;overflow:hidden;border:1px solid var(--ink-200);border-radius:.55rem;background-color:var(--ink-50);background-image:linear-gradient(var(--ink-100) 1px,transparent 1px),linear-gradient(90deg,var(--ink-100) 1px,transparent 1px);background-size:20px 20px}.bend-local-preview__stage svg{width:100%;height:180px}.bend-local-preview__stage p{margin:0;padding:1rem;color:var(--ink-500);font-size:.75rem;text-align:center}.bend-local-preview__existing{stroke:var(--ink-500);stroke-width:7;stroke-linecap:round}.bend-local-preview__future{stroke:var(--accent);stroke-width:6;stroke-dasharray:10 7;stroke-linecap:round}.bend-local-preview__pivot{fill:#fff;stroke:var(--ink-700);stroke-width:3}.bend-local-preview__end{fill:#fff;stroke:var(--accent);stroke-width:3}.bend-local-preview>small{color:var(--ink-500);font-size:.68rem}@media(max-width:520px){.bend-local-preview__stage{min-height:150px}.bend-local-preview__stage svg{height:150px}}