.elementor-widget-pw_3d_logo{width:100%!important;max-width:100%!important;flex:1 1 100%;align-self:stretch;min-width:0!important;box-sizing:border-box;overflow:hidden;}
.pw3dl-widget{position:relative;width:100%!important;max-width:100%;height:420px;min-height:40px;overflow:hidden;display:block;margin:0;box-sizing:border-box;touch-action:none;contain:layout paint size;isolation:isolate}
.pw3dl-widget canvas{display:block;width:100%;height:100%;margin:0;padding:0;outline:none}
.pw3dl-placeholder{width:100%;min-height:0;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:4px;font:12px/1.2 Arial,sans-serif;color:#666;background:rgba(0,0,0,.03);box-sizing:border-box}
.pw3dl-widget.is-loading{cursor:progress}.pw3dl-widget canvas{cursor:grab}.pw3dl-widget canvas:active{cursor:grabbing}

.pw3dl-fallback-preload,.pw3dl-fallback{display:block;width:100%;height:100%;max-width:100%;margin:0;padding:0;object-fit:contain;object-position:center;box-sizing:border-box}
/* Startup never flashes the flat source artwork. The flat image remains available
   ONLY via pw3dlShowFallback when WebGL/geometry loading fails. */
.pw3dl-fallback-preload{position:absolute;inset:0;opacity:0!important;visibility:hidden!important;pointer-events:none}
.pw3dl-widget.is-loading::after{content:"";position:absolute;top:50%;left:50%;width:19px;height:19px;margin:-10px 0 0 -10px;border:2px solid rgba(120,132,145,.20);border-top-color:rgba(120,132,145,.68);border-radius:50%;animation:pw3dlStudioWait .9s linear infinite;pointer-events:none}
@keyframes pw3dlStudioWait{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.pw3dl-widget.is-loading::after{animation:none}}

/* Explicit fallback failure state, visible in Elementor only. */
.pw3dl-render-warning{position:absolute;bottom:5px;left:5px;right:5px;max-width:calc(100% - 10px);box-sizing:border-box;padding:4px 6px;border-radius:3px;background:rgba(15,17,22,.87);color:#fff;font:11px/1.35 Arial,sans-serif;pointer-events:none;z-index:2;overflow-wrap:anywhere}
.pw3dl-widget.pw3dl-render-failed>.pw3dl-fallback{filter:none}


/* Opt-in: artwork-hugging viewer that grows with Logo Width. */
.pw3dl-widget.pw3dl-auto-fit{
    height:auto!important;
    min-height:0!important;
    box-sizing:content-box;
    /* At >100% logo zoom, keep the viewer's auto-fit frame fixed, and crop. */
    aspect-ratio:calc(var(--pw3dl-auto-source-aspect,2.8)*100/min(var(--pw3dl-auto-width-number,90),100)/1.035);
    padding-block:var(--pw3dl-auto-padding,2px);
}

/* Viewer can never force its Elementor column wider. Logo zoom stays INSIDE WebGL canvas. */
.elementor .elementor-element.elementor-widget-pw_3d_logo{max-width:100%!important;min-width:0!important;box-sizing:border-box;}
.elementor .elementor-element.elementor-widget-pw_3d_logo .pw3dl-widget{width:100%!important;max-width:100%!important;min-width:0;overflow:hidden!important;clip-path:inset(0);}
.elementor .elementor-element.elementor-widget-pw_3d_logo .pw3dl-widget>canvas{max-width:100%;object-fit:fill;}
