/* Catalogue, implantation 3D et accès mobile. */
.catalogOrder{border:1px solid #aaa;padding:14px;margin:12px 0;break-inside:avoid}
.catalogOrder>div:first-child{display:flex;justify-content:space-between;gap:20px}.catalogOrder p{margin:8px 0}
@media screen{
.studioTabs{grid-template-columns:repeat(5,minmax(0,1fr))!important}.studioTabs button{min-width:0!important;padding:15px 12px!important}.studioTabs small{font-size:10px}
body[data-workshop=three] .workspace{grid-template-columns:minmax(0,1fr)}body[data-workshop=three] .workspace>aside{display:none}body[data-workshop=three] .intro{display:none}
#catalogPane,#threePane{background:white;min-width:0}
.catalogTools{display:grid;grid-template-columns:2fr 1fr;gap:16px;padding:24px 24px 0}.catalogTools input{font-size:16px}.catalogMeta{padding:0 24px;color:#60798d;font-size:12px;line-height:1.7}
.catalogGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0 24px 24px}.catalogCard{border:1px solid #dce6ed;border-radius:12px;padding:18px;display:flex;flex-direction:column;min-width:0}.catalogCard h3{font-size:16px;margin:12px 0 8px;overflow-wrap:anywhere}.catalogCard p{color:#667e91;line-height:1.6;font-size:12px;flex:1}.catalogCard button{width:100%;margin-top:14px}.catalogFamily{font-size:10px;color:#24718e;text-transform:uppercase;letter-spacing:.6px}.catalogCard:hover{border-color:#8bb9d7;box-shadow:0 5px 15px #2857720c}
#catMore{margin:0 24px 20px}#catDialog{width:520px;max-width:calc(100vw - 32px);border:0;border-radius:18px;padding:26px;color:#24465e}#catDialog p{line-height:1.7;color:#627a8c}#catDialog .primary{margin-top:18px;width:100%}
.spaceLayout{display:grid;grid-template-columns:280px minmax(0,1fr);border-top:1px solid #e0e7ee}.spaceTools{border-right:1px solid #e0e7ee;background:#f8fafc;padding:16px;max-height:950px;overflow:auto}.spaceTools details{border:1px solid #e0e7ee;border-radius:10px;padding:14px;background:white;margin-bottom:14px}.spaceTools summary{font-weight:700;cursor:pointer;margin-bottom:16px}.spaceTools label{display:block;margin:12px 0}.spaceTools button{width:100%;margin-top:8px;padding:10px}.spaceTools small{display:block;color:#718497;font-size:11px;line-height:1.6;margin-top:10px}.spaceInfo{padding:12px;background:#edf4fa;border-radius:8px;line-height:1.6;font-size:12px}.spaceCoordinates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.spaceCoordinates label{font-size:10px}.spaceCoordinates input{width:100%;min-width:0;padding:9px 5px;font-size:13px}.spaceStage{min-width:0}.spaceBar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:12px;border-bottom:1px solid #e2eaf0}.spaceBar button{border:1px solid #d2dfe9;border-radius:7px;background:#fff;color:#325b79;padding:9px 12px;min-height:40px}.spaceBar span{font-size:11px;color:#748898}.spaceBar .check{margin:0;font-size:12px;padding:6px}.spaceBar input{width:auto}.spaceBar [aria-pressed=true]{background:#246fac;color:white}.spaceCanvas{height:620px;position:relative;overflow:hidden;background:#f0f5f8}.spaceCanvas canvas{display:block;touch-action:none;width:100%;height:100%}.spaceEmpty{position:absolute;inset:40% 10% auto;text-align:center;color:#657d91;pointer-events:none;z-index:2}.spaceAxes{position:absolute;bottom:14px;left:16px;font-size:10px;color:#6b859a;pointer-events:none}#spaceLabels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.spaceLabel{position:absolute;transform:translate(-50%,-50%);font-size:11px;background:#ffffffeb;border:1px solid #c5d8e4;border-radius:5px;padding:4px 8px;white-space:nowrap;pointer-events:auto;cursor:pointer}.spaceLabel.active{color:#1465a0;border-color:#3690c9;box-shadow:0 2px 8px #215a7520}#spaceDetail{padding:0 18px}#spaceDetail:empty{display:none}
.mobileStatus{padding:10px 18px;text-align:center;background:#e9f3ec;color:#416b56;font-size:12px;display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}.mobileStatus.offline{background:#fff2d8;color:#876321}.mobileStatus button{background:transparent;border:1px solid #bacdc2;border-radius:6px;padding:7px 12px;color:inherit}.installHelp{max-width:500px;border:0;border-radius:14px;padding:25px}.installHelp p{line-height:1.75}
#spaceRemove{margin-top:20px;border-color:#bdced9;color:#556e80}body[data-workshop=three] #page0{overflow:hidden}
@media(max-width:1100px){.studioTabs small{display:none}.studioTabs button{gap:7px!important}.studioTabs svg{width:20px!important}.catalogGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.spaceLayout{grid-template-columns:245px minmax(0,1fr)}}
@media(max-width:700px){
header{height:auto!important;min-height:72px;padding:12px 16px!important;gap:8px;flex-wrap:wrap}header>div:last-child{gap:8px!important}header button{min-height:40px;font-size:11px!important}
main{padding:15px 10px!important}.studioTabs{display:flex!important;overflow-x:auto;gap:4px;padding:6px!important;scrollbar-width:thin}.studioTabs button{flex:0 0 auto;min-width:118px!important;padding:12px!important;min-height:54px}.studioTabs svg{display:none}.studioTabs strong{font-size:12px!important}.studioTabs b{font-size:10px!important}.studioTabs small{display:none}.catalogTools{grid-template-columns:1fr;padding:18px 14px 0;gap:10px}.catalogGrid{grid-template-columns:1fr;padding:0 14px 18px;gap:10px}.catalogCard{padding:16px}.catalogMeta{padding:0 14px}.catalogCard h3{margin:8px 0}.catalogCard p{margin:0}.spaceLayout{display:flex;flex-direction:column}.spaceStage{order:0}.spaceTools{order:1;max-height:none;border-right:0;padding:10px}.spaceCanvas{height:440px}.spaceCoordinates input{font-size:16px;min-height:44px}.spaceBar{padding:8px}.spaceBar button{padding:8px 10px;min-height:42px}.spaceTools details{padding:14px}.spaceTools label{font-size:12px}.spaceBar span{width:100%;padding:6px}.spaceTools button{min-height:44px}.panelhead{flex-wrap:wrap!important}.mobileStatus{font-size:11px}.spaceLabel{font-size:10px}.spaceTools .spaceCoordinates{gap:10px}
input,select,textarea{font-size:16px}button{touch-action:manipulation}.steps{gap:10px!important}.steps button{font-size:11px!important}
}
}

@media screen{.spaceTools label>select,.spaceTools label>input{display:block;width:100%;max-width:100%;padding:10px 8px;margin-top:6px;border:1px solid #cadbe7;border-radius:6px;background:white;color:#27485e;min-height:42px}.spaceTools .spaceCoordinates input{padding:9px 5px}.spaceTools button{border:1px solid #cbdce8;border-radius:7px;background:#fff;color:#2b5a7d}.spaceTools .primary{background:#226ea8;color:white}.spaceTools #spaceRemove{background:#f5f8fa}.spaceTools .spaceRotate{margin:10px 0}}

@media screen{.catalogTools label{display:block;font-size:12px}.catalogTools input,.catalogTools select,#catForm input{display:block;width:100%;padding:12px;margin-top:7px;border:1px solid #cadbe7;border-radius:8px;background:white;color:#27485e;min-height:44px}.catalogTools input:focus{outline:2px solid #83b9df;outline-offset:1px}}
@media screen and (max-width:700px){.studioTabs{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;overflow:visible;gap:2px}.studioTabs button{min-width:0!important;padding:10px 3px!important;justify-content:center;min-height:56px}.studioTabs strong{font-size:10px!important;white-space:normal!important}.studioTabs b{display:none!important}header #new{display:inline-flex!important;font-size:10px!important;padding:8px!important}.spaceBar [data-space-tool]{background:#e7f2fa;color:#196697}.spaceTools details{scroll-margin-top:15px}}

@media screen{.bendForm{margin:16px 0;padding:18px;border:1px solid #bfd8ea;background:#f0f7fc;border-radius:10px}.bendForm h4{margin:0 0 14px;color:#225c84}.bendForm label{display:block;font-size:12px;margin:12px 0}.bendForm select,.bendForm input{display:block;width:100%;padding:11px;border:1px solid #b9cedf;border-radius:7px;margin-top:6px;background:white;color:#214861}.bendForm p{font-size:12px;color:#1c6597;font-weight:600}.bendForm small{font-size:11px;line-height:1.6;color:#5c7a92;display:block}.preview:has(.dsn-coude-b){min-width:0}.preview .dsn-coude-b{width:100%;height:auto;max-height:330px}}

.bendViewPair{display:grid;grid-template-columns:1fr 1.35fr;gap:12px;align-items:center;max-width:740px;margin:auto}.bendViewPair>div{min-width:0}.bendViewPair svg{width:100%;height:auto;max-height:370px}#largeDrawing .bendViewPair svg{width:100%;height:auto;max-height:400px}@media screen and (max-width:700px){.bendViewPair{grid-template-columns:1fr}#largeDrawing .bendViewPair svg{height:340px;width:100%;max-height:none}.bendViewPair>div{border-bottom:1px solid #e2eaf0}.pieceviews p{font-size:12px;line-height:1.6}}

@media screen{.silencerFields{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.silencerForm .invalid{color:#a33925}.preview .dsn-silencieux{width:100%;height:auto;max-height:330px}.preview:has(.dsn-silencieux){min-width:0}}
@media screen and (max-width:480px){.silencerFields{grid-template-columns:1fr}}

.singleDrawing{display:flex;justify-content:center;max-width:720px;margin:auto}.singleDrawing svg.dsn{width:100%;height:auto;max-height:460px}
#largeDrawing .singleDrawing svg.dsn{width:100%;height:auto;max-height:65vh}
@media screen and (max-width:700px){#largeDrawing .singlePieceView{padding:8px}#largeDrawing .singleDrawing svg.dsn{width:100%;height:auto;max-height:none}.singlePieceView h4{font-size:12px}}
@media print{.singleDrawing svg.dsn,.singleDrawing img.dsn{width:auto;height:55mm;max-width:100%}}

@media screen{
.familyPicker{border-bottom:1px solid #e2eaf2;background:#f9fbfe}.familyPickerBar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 24px 10px}.familyPickerBar>span{font-size:12px;font-weight:600;color:#526f88}.familyPickerModes{display:flex;gap:3px;padding:3px;background:#eaf1f7;border:1px solid #d8e4ee;border-radius:8px}.familyPickerModes button{border:0;border-radius:5px;padding:7px 13px;background:transparent;color:#58738a;font-size:12px}.familyPickerModes button.active{background:#fff;color:#155e98;box-shadow:0 1px 3px #284e6c20;font-weight:600}.familyPickerList{padding:0 24px 18px}.familyPickerList select{width:min(100%,370px);padding:11px 13px;border:1px solid #bdd3e4;border-radius:7px;background:#fff;color:#234e70;min-height:44px;font-size:14px}.familyPicker .types{padding-top:8px;border-bottom:0}
}
@media screen and (max-width:700px){.familyPickerBar{padding:12px 16px 8px}.familyPickerList{padding:0 16px 14px}.familyPickerList select{width:100%;font-size:16px}.familyPickerModes button{padding:10px 12px}}
