/* The desktop editor keeps its existing layout. This shell belongs only to the Studio route. */
.idcs-mobile-exit,.idcs-mobile-summary,.idcs-mobile-dock,.idcs-mobile-sheet-handle,.idcs-mobile-art-tabs,.idcs-mobile-actions,.idcs-upload-mobile-title,.idcs-mobile-cart-link{display:none}
.idcs-mobile-fonts,.idcs-mobile-text-colours,.idcs-mobile-update-text{display:none!important}

@media(max-width:768px){
  html:has(body.idcs-mobile-active),body.idcs-mobile-active{width:100%;height:100dvh;overflow:hidden!important;overscroll-behavior:none}
  body.idcs-mobile-active{position:fixed!important;inset:0}
  .idcs{top:0!important;bottom:0!important;grid-template-rows:48px minmax(0,1fr)!important;width:100vw;height:100dvh;overflow:hidden;--idcs-dock-height:calc(76px + env(safe-area-inset-bottom));--idcs-sheet-height:min(48dvh,420px)}
  body.admin-bar .idcs{top:46px!important;height:calc(100dvh - 46px)}
  .idcs-topbar{height:48px!important;display:grid!important;grid-template-columns:62px minmax(0,1fr) auto!important;gap:7px!important;padding:0 10px!important}
  .idcs-brand,.idcs-progress,.idcs-utilities button{display:none!important}
  .idcs-mobile-exit{display:flex;align-items:center;gap:4px;color:#e2e8f0;font-size:12px;font-weight:700;text-decoration:none}
  .idcs-mobile-summary{display:block;min-width:0;overflow:hidden;color:#fff;font-size:11px;font-weight:700;text-align:center;text-overflow:ellipsis;white-space:nowrap}
  .idcs-utilities{display:flex;justify-content:flex-end;min-width:75px}.idcs-live-price{min-width:65px;padding:6px 8px;font-size:11px}.idcs-mobile-cart-link:not([hidden]){display:block;padding:6px 7px;border-radius:7px;background:#065f46;color:#fff;font-size:10px;font-weight:800;white-space:nowrap;text-decoration:none}
  .idcs-workspace{position:relative;display:block!important;height:100%;min-height:0;overflow:clip!important}
  .idcs-dock{display:none!important}
  .idcs-stage{position:absolute;inset:0!important;min-width:0;overflow:hidden}
  .idcs-stage__meta,.idcs-microbar{display:none!important}
  .idcs-canvas-viewport{inset:0!important;padding:50px 12px calc(var(--idcs-dock-height) + 18px)!important;overflow:hidden;transition:padding 240ms cubic-bezier(.32,.72,0,1)}
  .idcs-product-scene{width:min(88vw,calc(100dvh - 210px))!important;max-width:100%;max-height:100%;aspect-ratio:1;will-change:transform}
  .idcs-product-scene>img{width:100%;height:100%;max-width:100%;object-fit:contain}
  .idcs-product-scene,.idcs-print-zone,.idcs-transform{touch-action:none;overscroll-behavior:contain}
  .idcs-transform{will-change:transform,left,top}
  .idcs-view-capsule{position:absolute;z-index:11;top:6px!important;bottom:auto!important;left:50%;transform:translateX(-50%);max-width:calc(100vw - 20px);white-space:nowrap}
  .idcs-view-capsule button{min-width:48px!important;min-height:38px!important}
  .idcs-inspector{display:none!important}
  .idcs-mobile-dock{position:absolute;z-index:30;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(105px,1.45fr);gap:3px;align-items:center;height:var(--idcs-dock-height);padding:5px 7px calc(5px + env(safe-area-inset-bottom));border-top:1px solid #dbe5df;background:#fff;box-shadow:0 -8px 28px #0f172a16}
  html body .idcs.idcs.idcs .idcs-mobile-dock button{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;min-height:52px;height:56px!important;margin:0!important;padding:4px 2px!important;border:0!important;border-radius:10px!important;background:#fff!important;color:#334155!important;text-transform:none!important;letter-spacing:0!important}
  .idcs-mobile-dock button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.idcs-mobile-dock button small{max-width:100%;overflow:hidden;font-size:9px;font-weight:800;line-height:1;text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase}
  html body .idcs.idcs.idcs .idcs-mobile-dock button.is-active{background:#ecfdf5!important;color:#047857!important}
  html body .idcs.idcs.idcs .idcs-mobile-dock .idcs-mobile-dock__art{background:#d1fae5!important;color:#064e3b!important;border:1px solid #34d399!important}
  html body .idcs.idcs.idcs .idcs-mobile-dock .idcs-mobile-dock__upload{background:#eff6ff!important;color:#1e40af!important;border:1px solid #bfdbfe!important}
  html body .idcs.idcs.idcs .idcs-mobile-dock .idcs-mobile-dock__basket{background:#059669!important;color:#fff!important;box-shadow:0 4px 12px #05966933}
  .idcs-mobile-dock__basket b{font-size:10px;line-height:1;color:#fff}
  .idcs-mobile-dock__basket.is-loading{opacity:.65}
  .idcs-drawer{position:absolute!important;z-index:24!important;top:auto!important;right:0!important;bottom:var(--idcs-dock-height)!important;left:0!important;width:100%!important;height:var(--idcs-sheet-height)!important;max-height:48dvh;border:1px solid #d9e4de;border-bottom:0;border-radius:18px 18px 0 0;box-shadow:0 -14px 36px #0f172a24;transform:translate3d(0,105%,0)!important;transition:transform 280ms cubic-bezier(.32,.72,0,1)!important;overflow:hidden}
  .idcs-drawer.is-open{transform:translate3d(0,0,0)!important}
  .idcs-mobile-sheet-handle{display:grid!important;place-items:center!important;width:100%!important;height:19px!important;min-height:19px!important;margin:0!important;padding:0!important;border:0!important;background:#fff!important}
  .idcs-mobile-sheet-handle i{display:block;width:36px;height:4px;border-radius:4px;background:#9ca3af}
  .idcs-drawer>header{height:43px;padding:5px 14px}.idcs-drawer>header h2{font-size:16px!important}.idcs-drawer>header span{font-size:8px}
  .idcs-drawer>section{height:calc(100% - 62px)!important;padding:10px 14px 18px!important;overflow:auto;overscroll-behavior:contain}
  .idcs-drawer.has-art-tabs>section{height:calc(100% - 103px)!important}
  .idcs-mobile-art-tabs{display:none;height:41px;padding:4px 10px;border-bottom:1px solid #e2e8f0;background:#fff}
  .idcs-drawer.has-art-tabs .idcs-mobile-art-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
  html body .idcs.idcs.idcs .idcs-mobile-art-tabs button{min-height:32px;margin:0;padding:3px 4px;border:0;border-radius:8px;background:#f1f5f9!important;color:#475569!important;font-size:10px;font-weight:800;text-transform:none;letter-spacing:0}
  html body .idcs.idcs.idcs .idcs-mobile-art-tabs button.is-active{background:#dcfce7!important;color:#065f46!important}
  .idcs-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}.idcs .idcs-product-grid button.idcs-product-card{min-height:145px!important;padding:8px!important}.idcs-product-card img{height:78px;object-fit:contain}
  .idcs-art-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px}
  .idcs-mobile-options h3{margin:3px 0 7px!important;color:#0f172a!important;font-size:12px!important;line-height:1.25!important}.idcs-mobile-colours,.idcs-mobile-sizes{display:flex;gap:8px;overflow-x:auto;padding:1px 2px 10px;scrollbar-width:none}
  html body .idcs.idcs.idcs .idcs-mobile-colours button{position:relative;display:grid!important;place-items:center!important;flex:0 0 42px;width:42px!important;height:42px!important;margin:0!important;padding:3px!important;border:2px solid #cbd5e1!important;border-radius:50%!important;background:#fff!important}
  .idcs-mobile-colours button i{display:block;width:32px;height:32px;border-radius:50%;background:var(--swatch)}
  .idcs-mobile-colours button.is-active{border-color:#059669!important}.idcs-mobile-colours button.is-active::after{content:'✓';position:absolute;inset:7px;display:grid;place-items:center;border-radius:50%;background:#052e23a8;color:#fff;font-size:17px;font-weight:900}
  html body .idcs.idcs.idcs .idcs-mobile-sizes button{flex:none;min-width:48px!important;height:38px!important;margin:0!important;padding:0 10px!important;border:1px solid #cbd5e1!important;border-radius:999px!important;background:#fff!important;color:#334155!important;font-size:11px;font-weight:800}
  html body .idcs.idcs.idcs .idcs-mobile-sizes button.is-active{border-color:#059669!important;background:#dcfce7!important;color:#065f46!important}
  .idcs-mobile-quantity{display:flex;align-items:center;gap:10px;color:#475569!important;font-size:11px;font-weight:800}html body .idcs.idcs.idcs .idcs-mobile-quantity input{width:65px!important;height:35px!important;margin:0!important;padding:4px!important;border:1px solid #cbd5e1!important;border-radius:8px!important;background:#fff!important;color:#0f172a!important;text-align:center;box-shadow:none!important}
  .idcs-mobile-options p{margin:10px 0;color:#475569;font-size:11px;line-height:1.3}
  .idcs-upload{min-height:120px;padding:12px}.idcs-upload svg,.idcs-upload-desktop-title,.idcs-upload span{display:none!important}.idcs-upload-mobile-title{display:block;color:#065f46;font-size:13px}.idcs-upload em{font-size:10px}.idcs-upload-progress{position:relative;height:27px;margin-top:10px;border-radius:7px;background:#e2e8f0;overflow:hidden}.idcs-upload-progress[hidden]{display:none}.idcs-upload-progress i{position:absolute;inset:0 auto 0 0;width:0;background:#10b981;transition:width 150ms}.idcs-upload-progress span{position:relative;display:block;padding:5px 8px;color:#0f172a;font-size:10px;font-weight:800}
  .idcs-inline-fields{display:none!important}.idcs-mobile-fonts,.idcs-mobile-text-colours{display:flex!important;gap:7px;overflow-x:auto;padding:9px 2px;scrollbar-width:none}.idcs-mobile-fonts{margin-top:6px}
  html body .idcs.idcs.idcs .idcs-mobile-fonts button{flex:none;min-height:38px;margin:0;padding:5px 12px;border:1px solid #cbd5e1;border-radius:999px;background:#fff!important;color:#334155!important;font-size:11px;font-weight:800;text-transform:none;letter-spacing:0}
  html body .idcs.idcs.idcs .idcs-mobile-fonts button.is-active{border-color:#059669;background:#dcfce7!important;color:#065f46!important}
  html body .idcs.idcs.idcs .idcs-mobile-text-colours button{flex:none;width:34px;height:34px;min-height:34px;margin:0;padding:0;border:2px solid #fff;border-radius:50%;background:var(--text-swatch)!important;box-shadow:0 0 0 1px #94a3b8}
  html body .idcs.idcs.idcs .idcs-mobile-text-colours button.is-active{box-shadow:0 0 0 2px #059669}
  html body .idcs.idcs.idcs .idcs-mobile-update-text:not([hidden]){display:block!important;width:100%;min-height:40px;margin:8px 0 0;padding:5px;border:1px solid #059669;border-radius:9px;background:#ecfdf5!important;color:#065f46!important;font-size:12px;font-weight:800;text-transform:none;letter-spacing:0}
  .idcs-mobile-actions{position:absolute;z-index:12;right:8px;bottom:calc(var(--idcs-dock-height) + 6px);left:8px;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:5px;border:1px solid #dbe5df;border-radius:11px;background:#fff;box-shadow:0 7px 20px #0f172a22}
  .idcs-mobile-actions[hidden],.idcs.mobile-sheet-open .idcs-mobile-actions{display:none!important}
  html body .idcs.idcs.idcs .idcs-mobile-actions button{min-height:44px;margin:0;padding:3px;border:0;border-radius:7px;background:#f1f5f9!important;color:#0f172a!important;font-size:10px;font-weight:800;text-transform:none;letter-spacing:0}
  html body .idcs.idcs.idcs .idcs-mobile-actions [data-mobile-action=delete]{background:#fef2f2!important;color:#b91c1c!important}
  .idcs.mobile-sheet-open .idcs-canvas-viewport{padding-bottom:calc(var(--idcs-dock-height) + 18px)!important}
  .idcs.mobile-sheet-open .idcs-product-scene{width:min(88vw,calc(100dvh - 210px))!important}
  .idcs-transform.is-selected .idcs-handle,.idcs-transform.is-selected .idcs-rotate-handle{width:44px;height:44px;border:0;background:transparent;box-shadow:none}
  .idcs-transform.is-selected .idcs-handle::before,.idcs-transform.is-selected .idcs-rotate-handle::before{content:'';position:absolute;top:14px;left:14px;width:16px;height:16px;border:2px solid #fff;border-radius:50%;background:#059669;box-shadow:0 1px 5px #0006}
  .idcs-transform .h-nw{top:-22px;left:-22px}.idcs-transform .h-ne{top:-22px;right:-22px}.idcs-transform .h-sw{bottom:-22px;left:-22px}.idcs-transform .h-se{bottom:-22px;right:-22px}.idcs-transform .idcs-rotate-handle{top:-60px}.idcs-transform .idcs-rotate-handle::after{top:39px;left:21px}
  .idcs-transform.is-compact::before{content:"";position:absolute;inset:-12px;border:1px solid transparent;border-radius:12px;cursor:move}
  .idcs-transform.is-compact.is-selected::before{border-color:#059669;background:#10b9810c}
  .idcs-transform.is-compact .idcs-handle,.idcs-transform.is-compact .idcs-rotate-handle{display:none!important}
  .idcs.is-keyboard-open .idcs-mobile-dock{display:none}.idcs.is-keyboard-open .idcs-drawer{bottom:var(--idcs-keyboard-height,0px)!important}
  .idcs-status{bottom:calc(var(--idcs-dock-height) + 12px)}
  html body #idw-cookie-settings{top:57px!important;right:8px!important;bottom:auto!important;left:auto!important;width:38px!important;height:38px!important}
}
@media(max-width:420px){.idcs-mobile-exit span{display:none}.idcs-topbar{grid-template-columns:36px minmax(0,1fr) auto!important}.idcs-mobile-dock button small{font-size:8px}}
@media (max-width: 768px) {
  .idcs-drawer section[data-panel="artwork"] > .idcs-art-filter { display:inline-grid; width:calc(50% - 4px); margin-bottom:8px; vertical-align:top; }
  .idcs-drawer section[data-panel="artwork"] > .idcs-art-filter:first-child { margin-right:8px; }
  .idcs-drawer section[data-panel="artwork"] > .idcs-art-filter select { height:36px; padding-inline:8px; font-size:11px; }
  .idcs:has(.idcs-drawer.has-art-tabs.is-open) { --idcs-sheet-height:min(60dvh,540px); }
  .idcs-drawer.has-art-tabs { max-height:60dvh; }
  .idcs-selection-toolbar { display:none !important; }
  .idcs-drawer-controls { display:flex; gap:4px; }
  .idcs-drawer-controls button { width:32px; height:32px; }
  .idcs-art-mode { display:flex; flex-wrap:wrap; gap:7px; padding:8px; border:1px solid #cbd5e1; border-radius:9px; font-size:11px; }
  .idcs-art-mode[hidden] { display:none; }
  .idcs-layer-row { grid-template-columns:minmax(0,1fr) repeat(6,27px) !important; gap:1px; }
  .idcs-layer-row button { min-width:0; padding:2px !important; }
  .idcs-layer-row [data-select-layer] { display:flex; align-items:center; overflow:hidden; }
  .idcs-layer-row [data-select-layer] span { width:22px; flex:none; }
  .idcs-layer-row [data-select-layer] img { width:20px; height:20px; object-fit:contain; }
  .idcs-clear-design { width:100%; margin-top:10px; padding:8px; border:1px solid #ef4444; border-radius:8px; color:#b91c1c; background:#fff; }
}
