/* LigniArt 2.4 – confined to configurator and object calibration. Existing branding is retained. */
.atelier-studio-v24{grid-template-columns:minmax(0,1.5fr) minmax(365px,.9fr);gap:30px;align-items:start}
.atelier-studio-v24 .atelier-workspace{position:sticky;top:calc(var(--header-offset,120px) + 12px);min-width:0}
.atelier-studio-v24 .atelier-stage-head>div{display:grid;gap:6px}
.atelier-studio-v24 .atelier-stage-head .button{min-height:44px;padding:9px 16px}
.atelier-studio-v24 .atelier-view-controls{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-block:6px 16px}
.atelier-studio-v24 .atelier-view-controls .shop-field{margin:0}
.atelier-studio-v24 .atelier-canvas-wrap{display:block;padding:12px;min-height:0;overflow:hidden}
.atelier-studio-v24 #atelier-canvas{display:block;width:100%;height:auto;max-height:62vh;touch-action:none;background:transparent}
#atelier-canvas [data-handle=rotate]{cursor:grab}#atelier-canvas [data-handle=scale]{cursor:nwse-resize}
.atelier-studio-v24 .atelier-history{display:flex;gap:8px}
.atelier-studio-v24 .atelier-history .button{min-height:38px;min-width:40px;padding:4px 12px}
.atelier-studio-v24 .atelier-stage-tools{padding-block:12px 4px}
.atelier-studio-v24 .atelier-stage-tools .shop-check{margin:0}
.atelier-studio-v24 .atelier-board-toolbar{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-top:24px}
.atelier-studio-v24 .atelier-board-toolbar h2{font-size:1.3rem;margin:0}
.atelier-studio-v24 .atelier-board-toolbar span{font-size:.85rem;color:var(--muted)}
.atelier-studio-v24 .atelier-board-list{margin:12px 0 18px;max-height:240px}
.atelier-studio-v24 .atelier-board-notice{padding:12px 15px;border:1px solid var(--line);border-radius:8px;background:var(--cream);font-size:.92rem;line-height:1.55;margin-block:12px}
.atelier-studio-v24 .atelier-controls{padding:24px;min-width:0}
.atelier-studio-v24 .atelier-controls>h2{margin-bottom:8px}
.atelier-studio-v24 .atelier-controls hr{margin-block:22px}
.atelier-element-list{display:grid;gap:18px}
.atelier-element-card{min-width:0;border:1px solid var(--line);border-radius:var(--radius);padding:16px;background:var(--cream)}
.atelier-element-card.is-selected{border-color:var(--olive);box-shadow:0 0 0 1px var(--olive)}
.atelier-element-head{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:14px}
.atelier-element-head>div{display:flex;gap:8px}
.atelier-element-head button{padding:6px 8px;font-weight:600;min-height:36px}
.atelier-element-head>button{padding-left:0;text-align:left}
.atelier-element-head>div button{background:var(--paper);border-radius:5px;border:1px solid var(--line)}
.atelier-element-card .shop-field{margin-bottom:12px}
.atelier-element-card .shop-field input,.atelier-element-card .shop-field select{width:100%;min-width:0;box-sizing:border-box}
.atelier-element-card input[type=file]{font-size:.86rem;max-width:100%;padding:8px}
.atelier-element-card .atelier-fields-grid{gap:12px;margin-block:12px 0}
.atelier-element-card .atelier-fields-grid label>span{font-size:.88rem}
.atelier-element-card .atelier-fields-grid input{padding:9px 10px}
.atelier-element-card .atelier-fields-grid select{padding:9px 5px;font-size:.9rem}
.atelier-inline-tools{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 10px}
.atelier-inline-tools button{border:1px solid var(--line);background:var(--paper);border-radius:5px;padding:7px 10px;font-size:.83rem;min-height:34px}
.atelier-inline-tools button:hover{border-color:var(--olive)}
.atelier-element-card small{font-size:.81rem;color:var(--muted);line-height:1.6}
.atelier-element-card .atelier-element-status{font-size:.86rem;line-height:1.6;margin:10px 0 0;color:var(--muted)}
.atelier-element-status[data-invalid=true]{color:#9f2731!important}
.atelier-font-outline:empty{display:none}
.atelier-font-outline{background:var(--paper);border:1px solid var(--line);border-radius:7px;margin:10px 0;padding:10px;color:var(--ink)}
.atelier-font-outline svg{width:100%;height:52px;display:block}
.atelier-add-controls{display:flex;gap:12px;margin:18px 0;flex-wrap:wrap}
.atelier-add-controls .button{flex:1;padding:10px 14px;min-height:44px;white-space:nowrap}
.atelier-group-controls{border:1px solid var(--line);border-radius:8px;padding:12px;margin:20px 0}
.atelier-group-controls summary{cursor:pointer;font-size:.92rem}
.atelier-group-controls[open] summary{margin-bottom:16px}
.atelier-group-controls .button{width:100%;font-size:.9rem;min-height:44px;padding:10px;margin-bottom:10px}
.atelier-studio-v24 #atelier-boundary-message{white-space:pre-line;font-size:.88rem;line-height:1.65}
.atelier-studio-v24 .atelier-controls>.shop-check{margin-block:18px}
.atelier-studio-v24 .shop-price-note{line-height:1.65}
/* Full browser viewport. No toolbar or navigation overlaps the finished preview. */
.atelier-full-preview{position:fixed;inset:0;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none;padding:0;border:0;background:var(--paper);color:var(--ink);overscroll-behavior:contain}
.atelier-full-preview[open]{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:0}
.atelier-full-preview::backdrop{background:rgb(17 17 15 / 85%)}
.atelier-full-preview>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 28px;border-bottom:1px solid var(--line)}
.atelier-full-preview h2{font-size:1.7rem;margin:0}
.atelier-full-preview .atelier-preview-meta{font-size:.9rem;color:var(--muted);margin:4px 0 0}
.atelier-full-preview>nav{display:flex;align-items:center;gap:12px;padding:10px 28px;flex-wrap:wrap;background:var(--cream)}
.atelier-full-preview>nav .button{min-height:40px;padding:8px 16px}
.atelier-full-preview [aria-pressed=true]{background:var(--olive);color:var(--paper)}
.atelier-full-preview>nav .shop-field{margin:0;display:flex;align-items:center;gap:10px;font-size:.9rem;flex-direction:row}
.atelier-full-preview input[type=range]{width:150px}
.atelier-preview-scroll{position:relative;overflow:hidden;touch-action:none;cursor:grab;min-height:0;min-width:0;background:var(--cream);overscroll-behavior:contain}
.atelier-preview-surface{position:absolute;left:0;top:0;width:100%;height:100%;padding:0;box-sizing:border-box;transform-origin:50% 50%;will-change:transform;user-select:none}
.atelier-preview-scroll.is-panning{cursor:grabbing}
.atelier-preview-scroll:focus-visible{outline:2px solid var(--olive);outline-offset:-3px}
.atelier-preview-hint{font-size:.85rem;color:var(--muted)}
.atelier-preview-surface>svg{width:100%;height:100%;display:block}
.atelier-full-preview>footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 28px;border-top:1px solid var(--line);background:var(--paper);font-size:.9rem}
/* Admin visual calibration: input values always refer to the marked object. */
.board-frame-wide{margin-top:24px}
.board-frame-editor{min-width:0;margin-block:16px}
.board-frame-toolbar{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin:12px 0}
.board-frame-toolbar label{display:grid;gap:6px;min-width:220px;flex:1}
.board-frame-toolbar select{padding:10px 12px;border:1px solid var(--line);border-radius:6px;font:inherit;background:var(--paper);width:100%}
.board-frame-toolbar [aria-pressed=true]{background:var(--olive);color:var(--paper)}
.board-frame-guide,[data-frame-status]{font-size:.92rem;line-height:1.65;color:var(--muted)}
.board-frame-photo{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--cream)}
.board-frame-photo svg{display:block;width:100%;height:auto;max-height:650px;touch-action:none;user-select:none}
.board-frame-photo [data-frame]{cursor:move}
.board-frame-photo [data-grip=nw],.board-frame-photo [data-grip=se]{cursor:nwse-resize}
.board-frame-photo [data-grip=ne],.board-frame-photo [data-grip=sw]{cursor:nesw-resize}
.board-frame-photo [data-grip=n],.board-frame-photo [data-grip=s]{cursor:ns-resize}
.board-frame-photo [data-grip=e],.board-frame-photo [data-grip=w]{cursor:ew-resize}
.board-frame-photo [data-frame]:focus-visible{outline:2px solid var(--olive);outline-offset:4px}
.board-frame-advanced{margin-bottom:22px}
@media(max-width:1150px){.atelier-studio-v24{grid-template-columns:minmax(0,1fr) 355px;gap:18px}.atelier-studio-v24 .atelier-controls{padding:18px}.atelier-studio-v24 .atelier-workspace{position:static}}
@media(max-width:850px){.atelier-studio-v24{grid-template-columns:1fr}.atelier-studio-v24 .atelier-controls{padding:20px}.atelier-studio-v24 #atelier-canvas{max-height:65vh}.atelier-studio-v24 .atelier-board-list{max-height:210px}.atelier-full-preview>header,.atelier-full-preview>nav,.atelier-full-preview>footer{padding:12px 16px}.atelier-full-preview>footer{flex-wrap:wrap}.atelier-full-preview h2{font-size:1.3rem}.atelier-full-preview .button{font-size:.9rem;min-height:40px;padding:9px 14px}}
@media(max-width:450px){.atelier-studio-v24 .atelier-view-controls{gap:10px}.atelier-studio-v24 .atelier-view-controls label span{font-size:.87rem}.atelier-studio-v24 .atelier-stage-head{gap:8px}.atelier-studio-v24 .atelier-stage-head .button{padding:8px 12px;font-size:.88rem}.atelier-element-card{padding:12px}.atelier-studio-v24 .atelier-board-list{grid-template-columns:repeat(2,minmax(0,1fr))}.atelier-full-preview>footer .button{width:100%}.board-frame-toolbar label{min-width:0;width:100%}.board-frame-toolbar .button{width:100%}}
