[data-devil-logo]{display:inline-block;position:relative;width:72px;height:72px;flex:0 0 72px}
[data-devil-logo] img{display:block;width:100%;height:100%;object-fit:contain;filter:var(--dd-logo-filter,invert(1))}
[data-devil-logo] canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
[data-devil-logo].devil-logo-ready img{opacity:0}
[data-devil-model]{position:relative;border:1px solid #303641;border-radius:18px;overflow:hidden;background:#11141a;color:#eff2f7;padding:1.25rem;margin-block:1.5rem}
[data-devil-model][hidden],.devil-model-cancel[hidden]{display:none!important}
[data-devil-model] h2,[data-devil-model] h3{color:inherit}
[data-devil-model] [data-model-poster]{display:block;max-height:420px;width:100%;object-fit:contain;border-radius:10px;background:#11141a}
[data-devil-model] [data-model-load]{display:block;margin:1rem auto;background:#b83239;color:white;border:0;border-radius:8px;padding:.8rem 1.2rem;font:inherit;font-weight:700;cursor:pointer}
[data-devil-model] [data-model-load]:disabled{opacity:.65;cursor:wait}
.devil-model-cancel{display:block;margin:.75rem auto;background:transparent;border:1px solid #596373;color:#eff2f7;padding:.6rem 1rem;border-radius:6px;font:inherit;cursor:pointer}
[data-devil-model] [data-model-load][hidden]{display:none}
[data-devil-model] [data-model-status]{font-size:.875rem;line-height:1.6;color:#bac3cf;margin:.8rem 0 0}
.devil-model-stage{height:clamp(260px,55vw,480px);width:100%;border-radius:10px;overflow:hidden}
.devil-model-stage canvas{display:block;width:100%;height:100%;touch-action:none;outline-offset:-4px}
.devil-model-ready [data-model-poster]{display:none}
.devil-model-controls{display:flex;flex-wrap:wrap;gap:.45rem;padding-top:1rem}
.devil-model-controls button{background:#222833;color:#f5f7fa;border:1px solid #465060;border-radius:6px;padding:.6rem .8rem;font:inherit;font-size:.8rem;cursor:pointer;min-height:44px}
.devil-model-controls button:hover{background:#343d4d}
.devil-gallery-tabs{display:flex;gap:4px;border-bottom:1px solid #dededb;margin-bottom:12px;width:100%;clear:both}
.devil-gallery-tabs button{flex:1;min-height:44px;background:transparent;border:0;border-bottom:2px solid transparent;color:#222;font:inherit;font-size:.85rem;cursor:pointer;padding:.75rem}
.devil-gallery-tabs button[aria-selected=true]{border-bottom-color:#b83239;font-weight:700;color:#b83239}
.devil-gallery-tabs button:focus-visible{outline:2px solid #b83239;outline-offset:-3px}
.woocommerce-product-gallery[data-dd-gallery-bound]>.woocommerce-product-gallery__trigger{top:4rem}
.woocommerce-product-gallery[data-dd-gallery-view=model]>.woocommerce-product-gallery__wrapper,
.woocommerce-product-gallery[data-dd-gallery-view=model]>.flex-viewport,
.woocommerce-product-gallery[data-dd-gallery-view=model]>.flex-control-nav,
.woocommerce-product-gallery[data-dd-gallery-view=model]>.flex-direction-nav,
.woocommerce-product-gallery[data-dd-gallery-view=model]>.woocommerce-product-gallery__trigger{display:none!important}
.woocommerce-product-gallery .dd-gallery-model{width:100%;max-width:100%;box-sizing:border-box;float:none!important;clear:both;margin:0;border-radius:4px;padding:1rem}
.woocommerce-product-gallery .dd-gallery-model [data-model-poster]{max-height:420px;height:auto;aspect-ratio:1;object-fit:contain}
.woocommerce-product-gallery .dd-gallery-model .devil-model-stage{height:auto;aspect-ratio:4/3;max-height:380px}
.woocommerce-product-gallery .dd-gallery-model .devil-model-controls{gap:.35rem}
.woocommerce-product-gallery .dd-gallery-model .devil-model-controls button{flex:1 0 auto;padding:.5rem;font-size:.75rem}
.dd-model-caption{font-size:.75rem;line-height:1.5;color:#bac3cf;margin:.6rem 0 0}
[data-devil-model] button:focus-visible,.devil-model-stage canvas:focus-visible{outline:3px solid #ffa3a6;outline-offset:3px}
@media(prefers-reduced-motion:reduce){[data-devil-logo] img{opacity:1!important}[data-devil-logo] canvas{display:none}}

/* Keep the media stage stable before and after loading; controls sit within it. */
.woocommerce-product-gallery .dd-gallery-model{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;padding:12px}
.woocommerce-product-gallery .dd-gallery-model .devil-model-stage,
.woocommerce-product-gallery .dd-gallery-model [data-model-poster]{grid-area:1/1/2/3;height:clamp(280px,27vw,360px);max-height:none;aspect-ratio:auto;margin:0;border-radius:2px}
.woocommerce-product-gallery .dd-gallery-model.devil-model-ready [data-model-poster]{display:none}
.woocommerce-product-gallery .dd-gallery-model .devil-model-controls{grid-area:1/1/2/3;z-index:1;align-self:end;justify-self:center;flex-wrap:nowrap;gap:4px;padding:6px;margin:0 0 4px;background:#11141ae6;border-radius:6px}
.woocommerce-product-gallery .dd-gallery-model .devil-model-controls button{flex:0 0 36px;width:36px;min-height:44px;padding:0;font-size:20px}
.woocommerce-product-gallery .dd-gallery-model [data-model-load]{grid-area:1/1/2/3;z-index:1;align-self:center;justify-self:center;margin:0}
.woocommerce-product-gallery .dd-gallery-model .devil-model-cancel{grid-area:2/2;margin:0;padding:4px 8px;min-height:36px;font-size:11px;border-color:#39414c}
.woocommerce-product-gallery .dd-gallery-model [data-model-status]{grid-area:2/1;margin:0;align-self:center;font-size:11px;line-height:1.5}
.woocommerce-product-gallery .dd-gallery-model .dd-model-caption{grid-area:3/1/4/3;margin:0;font-size:10px;color:#9da8b7}
.woocommerce-product-gallery .dd-gallery-model [data-model-status]:empty{display:none}
@media(max-width:650px){.woocommerce-product-gallery .dd-gallery-model .devil-model-stage,.woocommerce-product-gallery .dd-gallery-model [data-model-poster]{height:300px}}
