/* Same 3:4 coordinates; the canvas fits the available space. */
.ov-studio [hidden]{display:none!important}
.ov-view-look_builder .ov-closet-heading{justify-content:flex-start;gap:10px;margin-bottom:12px}
.ov-studio-back{display:inline-flex;align-items:center;justify-content:center;flex:0 0 40px;height:40px;border:1px solid #dce4d7;border-radius:12px;color:#294735;background:#f7f9f4;text-decoration:none}
.ov-studio{max-width:1000px;width:100%}
.ov-studio-sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.ov-studio-actions,.ov-editor-toolbar{display:flex;align-items:center;gap:8px;justify-content:center}
.ov-studio-actions{justify-content:flex-start;flex-wrap:wrap}
.ov-studio-actions button,.ov-editor-toolbar button,.ov-studio-inspector [data-close-inspector]{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:10px 13px;border:1px solid #dce4d7;border-radius:12px;background:#f4f7ef;color:#294735;font:inherit;font-size:13px;cursor:pointer}
.ov-studio-actions .ov-studio-save{background:#294735;color:#fff;border-color:#294735;margin-left:auto}
.ov-studio-actions .ov-nav-icon,.ov-editor-toolbar .ov-nav-icon{width:21px;height:21px;flex-shrink:0}
.ov-studio button:disabled{opacity:.45;cursor:default}
.ov-studio button:focus-visible,.ov-studio-back:focus-visible{outline:2px solid #527e60;outline-offset:3px}
.ov-editor-toolbar button[aria-pressed=true],.ov-editor-toolbar button[aria-expanded=true]{background:#dce9d8;border-color:#6c8b70}
.ov-outfit-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0;font-size:12px;color:#6a7769;min-height:20px}
.ov-outfit-summary [data-outfit-cart]{font:inherit;background:#294735;color:#fff;border:0;border-radius:8px;padding:7px 10px;cursor:pointer}
.ov-studio.is-editing [data-studio-edit]{display:flex;flex-direction:column;gap:4px;position:relative}
.ov-layer-strip{display:flex;align-items:center;gap:7px;min-width:0;flex-shrink:0}
.ov-studio .ov-layer-tabs{flex:1;margin:0;padding:3px 0 6px;min-width:0;justify-content:flex-start}
.ov-category-add{display:inline-flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;border:1px solid #c7d7c0;border-radius:50%;background:#e6efdf;color:#294735;cursor:pointer}
.ov-category-add .ov-nav-icon{width:19px;height:19px}
.ov-category-sheet{width:min(420px,calc(100% - 24px));margin:auto;border-radius:20px;padding:20px;max-height:calc(100dvh - 32px)}
.ov-category-sheet .ov-studio-heading h2{font-size:18px}
.ov-category-sheet p{font-size:13px;line-height:1.5}
.ov-category-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.ov-category-choices button{min-height:44px;padding:10px;border:1px solid #dce4d7;border-radius:12px;background:#f4f7ef;color:#294735;font:inherit;font-size:13px;cursor:pointer}
.ov-studio .ov-layer-tabs button{min-height:34px;padding:6px 12px}
.ov-studio-viewport{height:min(62dvh,620px);width:100%;min-width:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);place-items:center;overflow:hidden;contain:size}
.ov-studio.is-editing .ov-studio-stage{width:var(--studio-fit-width,360px);max-width:100%;margin:0;border-radius:16px;grid-area:auto}
.ov-closet-app .ov-studio .ov-studio-stage .ov-composition{width:100%;height:auto;max-height:none;aspect-ratio:3/4;margin:0;border-radius:16px}
.ov-studio.is-editing .ov-layer-caption{margin:2px 0;font-size:12px;line-height:18px;align-items:center;text-align:center;min-height:18px}
.ov-layer-caption>span{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ov-studio .ov-layer-caption small{display:none}
.ov-editor-controls{position:relative;flex-shrink:0}
.ov-editor-toolbar{gap:5px;flex-wrap:wrap}
.ov-editor-toolbar button{font-size:12px;padding:9px}
.ov-studio-inspector{position:absolute;z-index:60;bottom:calc(100% + 8px);right:0;width:min(420px,100%);max-height:min(66dvh,560px);overflow:auto;overscroll-behavior:contain;padding:16px;background:#fff;border:1px solid #d7e2d3;border-radius:18px;box-shadow:0 12px 40px #213d3126;text-align:left}
.ov-studio-inspector .ov-studio-heading{margin:0 0 8px;font-size:13px}
.ov-studio-inspector [data-close-inspector]{min-width:36px;min-height:36px;font-size:23px;padding:0}
.ov-studio-inspector .ov-adjust{margin:0;padding:8px;border:0;background:#f5f7f1}
.ov-studio-inspector .ov-adjust label{display:flex;align-items:center;gap:8px;margin:8px 0;font-size:13px}
.ov-studio-inspector .ov-adjust input,.ov-studio-inspector .ov-adjust select{min-width:0;flex:1}
.ov-studio-inspector select{min-height:40px}
.ov-studio-inspector .ov-look-name{margin-top:12px;font-size:13px}
.ov-look-name summary{cursor:pointer;padding:8px 0}
.ov-studio .ov-studio-inspector .ov-form{margin-top:8px}
.ov-studio [data-studio-status]:empty,.ov-studio [data-outfit-cart-status]:empty{display:none}
.ov-studio [data-studio-status]{margin:4px 0;font-size:12px;max-height:56px;overflow:auto}
.ov-studio.is-expanded{position:fixed;inset:0;z-index:1000;max-width:none;margin:0;background:white;height:100dvh;padding:12px;display:flex;flex-direction:column;overflow:hidden}
.ov-studio.is-expanded.is-editing [data-studio-edit]{flex:1;min-height:0}
.ov-studio.is-expanded .ov-studio-viewport{flex:1;min-height:0;height:auto}
.ov-studio.is-expanded [data-studio-pick]{overflow:auto;min-height:0;flex:1}
.ov-studio.is-expanded .ov-studio-sticky{bottom:0}
@media(min-width:701px){
 .ov-studio.is-editing [data-studio-edit]{display:grid;grid-template-columns:minmax(0,1fr) 216px;grid-template-rows:auto minmax(0,1fr) auto;gap:4px 12px}
 .ov-studio.is-editing .ov-layer-strip{grid-column:1;grid-row:1}
 .ov-studio.is-editing .ov-studio-viewport{grid-column:1;grid-row:2}
 .ov-studio.is-editing .ov-layer-caption{grid-column:1;grid-row:3}
 .ov-studio.is-editing .ov-editor-controls{grid-column:2;grid-row:2;align-self:start}
 .ov-editor-toolbar{flex-direction:column;gap:7px;align-items:stretch}
 .ov-editor-toolbar button{width:100%;min-height:44px;padding:10px;justify-content:flex-start;text-align:left}
 .ov-editor-toolbar button>span{display:inline}
 .ov-studio-inspector{right:calc(100% + 12px);top:0;bottom:auto;width:340px;max-width:calc(100vw - 100px)}
 .ov-studio.is-expanded.is-editing [data-studio-edit]{grid-template-rows:auto minmax(0,1fr) auto}
 .ov-studio.is-expanded .ov-studio-viewport{height:100%}
}
@media(max-width:700px){
 .ov-studio-actions{gap:6px;flex-wrap:nowrap}
 .ov-studio-actions button,.ov-editor-toolbar button{width:44px;height:44px;min-height:44px;padding:10px;flex:0 0 44px}
 .ov-studio-actions button>span,.ov-editor-toolbar button>span{display:none}
 .ov-studio-actions [data-studio-expand]{display:none}
 .ov-studio-actions [data-open-catalog]{width:auto;flex:0 1 auto;padding:8px 10px;min-width:0;font-size:12px;white-space:nowrap}
 .ov-studio-actions [data-open-catalog]>span{display:inline}
 .ov-studio .ov-layer-tabs{justify-content:flex-start;padding:0 0 3px}
 .ov-studio .ov-layer-tabs button{font-size:11px;min-height:30px}
 .ov-category-add{width:30px;height:30px;flex-basis:30px}
 .ov-view-look_builder .ov-closet-heading{margin:0 0 5px;gap:8px}
 .ov-view-look_builder .ov-closet-heading h1{font-size:22px}
 .ov-outfit-summary{margin:5px 0;font-size:11px;line-height:16px;gap:4px}
 .ov-editor-toolbar{flex-wrap:nowrap;gap:5px}
 .ov-editor-toolbar button{flex:0 1 42px;width:42px;min-width:0;padding:9px}
 .ov-studio-inspector{left:0;right:0;width:auto;padding:12px;max-height:65dvh}
 .ov-app.ov-view-look_builder.ov-studio-editing{height:var(--studio-window-height,100dvh);overflow:hidden;padding:0;display:flex;flex-direction:column;min-height:0}
 .ov-view-look_builder.ov-studio-editing .ov-header{flex-shrink:0;min-height:48px;padding-top:4px;padding-bottom:4px}
 .ov-app.ov-view-look_builder.ov-studio-editing .ov-layout{flex:1;min-height:0;width:100%;margin:0;padding:0 0 var(--studio-dock-space,calc(66px + env(safe-area-inset-bottom)));display:block}
 .ov-app.ov-view-look_builder.ov-studio-editing .ov-main{height:100%;padding:6px 12px;display:flex;flex-direction:column;min-height:0}
 /* InstantCMS adds the scheme/container/article wrappers absent in the old shell.
    Carry the available height through all of them; auto height feeds the canvas
    size back into ResizeObserver and can collapse the editor to zero. */
 body.ov-native-theme.ov-view-look_builder.ov-studio-editing .ov-cms-content{height:100%;padding:6px 12px;display:flex;flex-direction:column;min-height:0}
 body.ov-native-theme.ov-view-look_builder.ov-studio-editing .ov-cms-content>section.container,
 body.ov-native-theme.ov-view-look_builder.ov-studio-editing .ov-cms-content>section.container>main.row,
 body.ov-native-theme.ov-view-look_builder.ov-studio-editing main.row>article,
 body.ov-native-theme.ov-view-look_builder.ov-studio-editing [data-native-workspace],
 body.ov-native-theme.ov-view-look_builder.ov-studio-editing .ov-workspace-content{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;width:100%;margin:0!important;padding:0}
 body.ov-native-theme.ov-view-look_builder.ov-studio-editing .ov-page-guide-toggle{top:60px;bottom:auto;right:12px;width:30px;height:30px;padding:0;font-size:0}
 body.ov-native-theme.ov-view-look_builder.ov-studio-editing .ov-page-guide-toggle::after{content:'?';font-size:16px}
 .ov-view-look_builder.ov-studio-editing .ov-local{font-size:9px;line-height:12px;margin:0 0 3px;padding:2px}
 .ov-view-look_builder.ov-studio-editing .ov-studio{flex:1;display:flex;flex-direction:column;min-height:0;margin:0}
 .ov-view-look_builder.ov-studio-editing [data-studio-edit]{flex:1;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:2px}
 .ov-view-look_builder.ov-studio-editing .ov-studio-viewport{flex:1;min-height:0;height:auto}
 .ov-view-look_builder.ov-studio-editing .ov-footer{display:none}
 .ov-view-look_builder.ov-studio-editing .ov-studio-actions,.ov-view-look_builder.ov-studio-editing .ov-outfit-summary,.ov-view-look_builder.ov-studio-editing .ov-closet-heading{flex-shrink:0}
 .ov-view-look_builder.ov-studio-editing .ov-notice,.ov-view-look_builder.ov-studio-editing .ov-error{max-height:48px;overflow:auto;margin:3px 0;padding:5px;font-size:12px}
}

@media(max-width:700px) and (max-height:450px){
 .ov-view-look_builder.ov-studio-editing .ov-closet-heading{margin-bottom:2px}
 .ov-view-look_builder.ov-studio-editing .ov-closet-heading h1{font-size:18px}
 .ov-view-look_builder.ov-studio-editing .ov-studio-back{height:28px;flex-basis:32px}
 .ov-view-look_builder.ov-studio-editing .ov-studio-actions button{height:36px;min-height:36px;padding-top:5px;padding-bottom:5px}
 .ov-view-look_builder.ov-studio-editing .ov-outfit-summary{margin:2px 0;min-height:14px;line-height:14px}
 .ov-view-look_builder.ov-studio-editing .ov-layer-caption{display:none}
 .ov-view-look_builder.ov-studio-editing [data-studio-edit]{grid-template-rows:auto minmax(0,1fr) auto}
 .ov-view-look_builder.ov-studio-editing .ov-editor-toolbar button{height:38px;min-height:38px;padding:7px}
}

/* Gallery actions share the same icon family as the editor. */
.ov-look-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:8px 0 14px;align-items:center}
.ov-look-card .ov-look-actions .ov-form{display:block;margin:0;padding:0;min-width:0}
.ov-look-icon{display:flex;align-items:center;justify-content:center;width:100%;height:42px;min-width:0;border:1px solid #dce4d7;border-radius:11px;background:#f4f7ef;color:#35573e;cursor:pointer;padding:7px}
.ov-look-icon .ov-nav-icon{width:21px;height:21px;flex-shrink:0}
.ov-look-icon:hover{background:#e7efdf}
.ov-look-icon:focus-visible{outline:2px solid #527e60;outline-offset:2px}
.ov-look-icon[aria-pressed=true]{color:#294735;background:#e3eddd;border-color:#779571}
.ov-look-icon[aria-pressed=true] svg{fill:#9bb995}
.ov-look-icon[aria-busy=true]{opacity:.5}
.ov-add-title{display:flex;align-items:center;gap:10px;min-width:0}.ov-add-title h2{margin:0}.ov-add-title .ov-look-icon{width:36px;height:36px;flex:0 0 36px;padding:7px}.ov-add-title .ov-look-icon:disabled{opacity:.55;cursor:wait}
@media(max-width:420px){.ov-add-title{gap:7px}.ov-add-title h2{font-size:18px}}
.ov-look-card .ov-look-details{width:min(440px,calc(100% - 24px));margin:auto;padding:20px;border-radius:20px;max-height:calc(100dvh - 32px);text-align:left}
.ov-look-details .ov-studio-heading h2{font-size:18px;overflow-wrap:anywhere}
@media(max-width:700px){.ov-look-actions{gap:4px;margin:6px 0 10px}.ov-look-card h3{margin:8px 0;line-height:1.35}.ov-look-icon{height:40px;padding:6px}}
