@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap");
:root{--vp3d-primary:#FF5722;--vp3d-primary-light:#FF8A3D;--vp3d-primary-deep:#C63D0F;--vp3d-bg-dark:#0A0B0D;--vp3d-white:#FFFFFF;--vp3d-surface:#FFFFFF;--vp3d-surface-2:#FAFAFB;--vp3d-surface-3:#F4F4F6;--vp3d-line:rgba(10, 11, 13, 0.08);--vp3d-line-strong:rgba(10, 11, 13, 0.14);--vp3d-text:#0A0B0D;--vp3d-text-2:#515A66;--vp3d-text-3:#8A93A0;--vp3d-a-05:rgba(255, 87, 34, 0.05);--vp3d-a-08:rgba(255, 87, 34, 0.08);--vp3d-a-12:rgba(255, 87, 34, 0.12);--vp3d-a-20:rgba(255, 87, 34, 0.20);--vp3d-a-30:rgba(255, 87, 34, 0.30);--vp3d-a-glow:rgba(255, 87, 34, 0.32);--vp3d-live-green:#30d158;--vp3d-live-glow:rgba(48, 209, 88, 0.4);--vp3d-r-stage:20px;--vp3d-r-canvas:14px;--vp3d-r-pill:999px;--vp3d-r-btn:10px;--vp3d-sh-sm:0 2px 8px rgba(10, 11, 13, 0.06);--vp3d-sh-md:0 8px 24px rgba(10, 11, 13, 0.08);--vp3d-sh-lg:0 20px 50px rgba(10, 11, 13, 0.10);--vp3d-sh-orange:0 8px 24px rgba(255, 87, 34, 0.28);--vp3d-font:'Inter', -apple-system, system-ui, sans-serif;--vp3d-font-mono:'JetBrains Mono', ui-monospace, monospace;}
.vp3d-wrap, .vp3d-wrap *{box-sizing:border-box;}
.vp3d-wrap{font-family:var(--vp3d-font);width:100%;color:var(--vp3d-text);}
.vp3d-stage{position:relative;display:flex;flex-direction:column;border-radius:var(--vp3d-r-stage);overflow:hidden;background:var(--vp3d-surface);border:1px solid var(--vp3d-line);box-shadow:var(--vp3d-sh-md);padding:16px;min-height:500px;transition:box-shadow 0.25s;}
.vp3d-stage:hover{box-shadow:var(--vp3d-sh-lg);}
.vp3d-stage::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg, transparent, var(--vp3d-a-30), transparent);z-index:3;pointer-events:none;}
.vp3d-stage--transparent{padding:0 !important;background:transparent !important;border:none !important;box-shadow:none !important;}
.vp3d-stage--transparent::before{display:none;}
.vp3d-stage--transparent .vp3d-canvas{border-radius:0 !important;background:transparent !important;border:none !important;box-shadow:none !important;}
.vp3d-stage--transparent .vp3d-empty{background:transparent !important;border:none !important;}
.vp3d-stage-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:4px 4px 14px;gap:10px;position:relative;z-index:3;}
.vp3d-stage-bar > div:last-child{flex-wrap:wrap;justify-content:flex-end;}
.vp3d-pill{display:inline-flex;align-items:center;gap:8px;font-family:var(--vp3d-font);font-size:12px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--vp3d-text);padding:9px 16px;background:var(--vp3d-surface-2);border:1px solid var(--vp3d-line);border-radius:var(--vp3d-r-pill);transition:border-color 0.2s, background 0.2s;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.vp3d-pill:hover{border-color:var(--vp3d-a-30);background:var(--vp3d-a-05);}
.vp3d-dot{width:7px;height:7px;min-width:7px;border-radius:50%;background:var(--vp3d-primary);box-shadow:0 0 0 0 var(--vp3d-a-glow);animation:vp3d-pulse 2.4s ease-in-out infinite;display:inline-block;}
.vp3d-dot-live{background:var(--vp3d-live-green);box-shadow:0 0 0 0 var(--vp3d-live-glow);animation-name:vp3d-pulse-live;}
@keyframes vp3d-pulse {
0%, 100%{box-shadow:0 0 0 0 var(--vp3d-a-glow);}
50%    {box-shadow:0 0 0 6px rgba(255,87,34,0);}
}
@keyframes vp3d-pulse-live {
0%, 100%{box-shadow:0 0 0 0 var(--vp3d-live-glow);}
50%    {box-shadow:0 0 0 6px rgba(48,209,88,0);}
} .vp3d-fmt-badge{font-family:var(--vp3d-font-mono);font-size:10.5px;font-weight:600;letter-spacing:0.15em;text-transform:uppercase;color:var(--vp3d-primary);background:var(--vp3d-a-08);border:1px solid var(--vp3d-a-20);border-radius:var(--vp3d-r-pill);padding:5px 11px;line-height:1;white-space:nowrap;}
.vp3d-hint{display:inline-flex;align-items:center;gap:6px;padding:0 6px;color:var(--vp3d-text-3);user-select:none;}
.vp3d-hint-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;transition:color 0.18s, background 0.18s;cursor:help;}
.vp3d-hint-icon:hover{color:var(--vp3d-primary);background:var(--vp3d-a-08);}
.vp3d-hint-sep{color:var(--vp3d-line-strong);font-size:14px;line-height:1;user-select:none;}
@media(max-width:640px){
.vp3d-hint{display:none;}
} .vp3d-btn-action{width:34px;height:34px;border-radius:var(--vp3d-r-btn);border:1px solid var(--vp3d-line);background:var(--vp3d-surface);color:var(--vp3d-text-2);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.18s cubic-bezier(0.4, 0, 0.2, 1);padding:0;flex-shrink:0;position:relative;}
.vp3d-btn-action:hover{background:var(--vp3d-primary);border-color:var(--vp3d-primary);color:var(--vp3d-white);transform:translateY(-2px);box-shadow:var(--vp3d-sh-orange);}
.vp3d-btn-action:active{transform:translateY(0);background:var(--vp3d-primary-deep);}
.vp3d-btn-action svg{transition:transform 0.2s;}
.vp3d-btn-action:hover svg{transform:scale(1.1);}
.vp3d-canvas{flex:1;border-radius:var(--vp3d-r-canvas);overflow:hidden;background:radial-gradient(ellipse 80% 60% at 50% 35%, #ffffff 0%, #fbf7f3 65%, #f5efe9 100%);border:1px solid var(--vp3d-line);position:relative;z-index:1;min-height:400px;}
.vp3d-canvas canvas{display:block;width:100% !important;height:100% !important;}
.vp3d-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;color:var(--vp3d-text-3);font-family:var(--vp3d-font-mono);font-size:11.5px;font-weight:500;letter-spacing:0.15em;text-transform:uppercase;pointer-events:none;z-index:4;}
.vp3d-spinner{width:38px;height:38px;border:2.5px solid var(--vp3d-a-12);border-top-color:var(--vp3d-primary);border-radius:50%;animation:vp3d-spin 0.75s linear infinite;box-shadow:0 0 20px var(--vp3d-a-20);}
@keyframes vp3d-spin { to{transform:rotate(360deg);}
} .vp3d-brand-spinner{width:56px;height:56px;border:none;border-radius:0;box-shadow:none;animation:vp3dBrandFloat 2.2s ease-in-out infinite;display:flex;align-items:center;justify-content:center;position:relative;}
.vp3d-brand-spinner svg{width:100%;height:100%;overflow:visible;animation:vp3dBrandSpin 3.2s linear infinite;filter:drop-shadow(0 4px 10px rgba(255, 87, 34, 0.25));}
.vp3d-brand-spinner .vp3d-cube-face{transform-origin:24px 24px;animation:vp3dBrandFadeFaces 2.2s ease-in-out infinite;}
.vp3d-brand-spinner .vp3d-cube-top{animation-delay:0s;}
.vp3d-brand-spinner .vp3d-cube-left{animation-delay:0.2s;}
.vp3d-brand-spinner .vp3d-cube-right{animation-delay:0.4s;}
.vp3d-brand-spinner::after{content:'';position:absolute;bottom:-10px;left:50%;width:28px;height:6px;border-radius:50%;background:rgba(255, 87, 34, 0.2);transform:translateX(-50%);filter:blur(3px);animation:vp3dBrandShadow 2.2s ease-in-out infinite;}
@keyframes vp3dBrandFloat {
0%, 100%{transform:translateY(0);}
50%   {transform:translateY(-6px);}
}
@keyframes vp3dBrandSpin {
to{transform:rotate(360deg);}
}
@keyframes vp3dBrandFadeFaces {
0%, 100%{opacity:1;}
50%   {opacity:0.45;}
}
@keyframes vp3dBrandShadow {
0%, 100%{width:28px;opacity:0.22;}
50%   {width:18px;opacity:0.1;}
} .vp3d-stage--transparent .vp3d-brand-spinner{filter:drop-shadow(0 2px 6px rgba(10, 11, 13, 0.15));}
.vp3d-empty.vp3d-error{color:var(--vp3d-primary-deep);}
.vp3d-empty.vp3d-error svg{color:var(--vp3d-primary-deep);opacity:0.7;}
.vp3d-rotate-btns{position:absolute;bottom:28px;right:28px;display:grid;grid-template-rows:30px 30px 30px;justify-items:center;gap:4px;z-index:10;}
.vp3d-rotate-mid{display:flex;gap:4px;}
.vp3d-rotate-btn{width:32px;height:32px;border-radius:10px;border:1px solid var(--vp3d-line);background:rgba(255, 255, 255, 0.92);-webkit-backdrop-filter:blur(10px) saturate(1.4);backdrop-filter:blur(10px) saturate(1.4);box-shadow:var(--vp3d-sh-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--vp3d-text-3);transition:all 0.18s cubic-bezier(0.4, 0, 0.2, 1);padding:0;}
.vp3d-rotate-btn:hover{background:var(--vp3d-primary);border-color:var(--vp3d-primary);color:var(--vp3d-white);transform:scale(1.08);}
.vp3d-rotate-btn:active{transform:scale(0.94);background:var(--vp3d-primary-deep);}
.vp3d-stage:fullscreen, .vp3d-stage:-webkit-full-screen{border-radius:0 !important;min-height:100vh !important;padding:18px;background:var(--vp3d-surface);}
.vp3d-stage:fullscreen .vp3d-canvas, .vp3d-stage:-webkit-full-screen .vp3d-canvas{min-height:calc(100vh - 90px) !important;border-radius:10px !important;}
.vp3d-anim-panel{position:absolute;top:72px;right:28px;z-index:18;display:inline-flex;align-items:center;gap:6px;background:rgba(255, 255, 255, 0.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--vp3d-line);border-radius:999px;padding:4px 6px 4px 4px;box-shadow:var(--vp3d-sh-sm);animation:vp3d-panel-in 0.25s cubic-bezier(0.16, 1, 0.3, 1);}
.vp3d-anim-btn{width:28px;height:28px;border-radius:50%;background:var(--vp3d-primary);color:var(--vp3d-white);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.15s, transform 0.12s;padding:0;flex-shrink:0;}
.vp3d-anim-btn:hover{background:var(--vp3d-primary-light);transform:scale(1.08);}
.vp3d-anim-btn:active{background:var(--vp3d-primary-deep);}
.vp3d-anim-select{font-family:var(--vp3d-font);font-size:11px;font-weight:600;color:var(--vp3d-text);background:transparent;border:none;outline:none;padding:0 8px;cursor:pointer;max-width:140px;}
.vp3d-config-panel{position:absolute;bottom:28px;left:28px;z-index:20;background:rgba(255, 255, 255, 0.96);-webkit-backdrop-filter:blur(14px) saturate(1.5);backdrop-filter:blur(14px) saturate(1.5);border:1px solid var(--vp3d-line);border-radius:16px;padding:14px 16px;box-shadow:var(--vp3d-sh-md);min-width:140px;animation:vp3d-panel-in 0.2s cubic-bezier(0.16, 1, 0.3, 1);}
@keyframes vp3d-panel-in {
from{opacity:0;transform:translateY(8px) scale(0.96);}
to{opacity:1;transform:translateY(0) scale(1);}
}
.vp3d-config-label{font-family:var(--vp3d-font-mono);font-size:10px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--vp3d-primary);margin-bottom:10px;}
.vp3d-config-swatches{display:flex;flex-wrap:wrap;gap:8px;}
.vp3d-config-swatch{width:28px;height:28px;border-radius:50%;border:2px solid var(--vp3d-white);cursor:pointer;box-shadow:0 2px 8px rgba(0, 0, 0, 0.12), 0 0 0 1px var(--vp3d-line);transition:all 0.15s cubic-bezier(0.4, 0, 0.2, 1);padding:0;outline:none;}
.vp3d-config-swatch:hover{transform:scale(1.18) translateY(-2px);box-shadow:0 6px 16px rgba(0, 0, 0, 0.2), 0 0 0 1px var(--vp3d-line-strong);}
.vp3d-config-swatch.active{box-shadow:0 0 0 3px var(--vp3d-primary), 0 3px 10px var(--vp3d-a-30);transform:scale(1.12);}
.vp3d-btn-config.active{background:var(--vp3d-primary);color:var(--vp3d-white);border-color:var(--vp3d-primary);box-shadow:var(--vp3d-sh-orange);}
.vp3d-btn-share.vp3d-share-ok{background:#30d158;color:#fff;border-color:#30d158;animation:vp3d-share-flash 0.4s ease-out;}
.vp3d-btn-share.vp3d-share-err{background:#d9322f;color:#fff;border-color:#d9322f;}
@keyframes vp3d-share-flash {
0%{transform:scale(1);}
40%{transform:scale(1.18);}
100%{transform:scale(1);}
} .vp3d-btn-wireframe.active{background:var(--vp3d-primary);color:var(--vp3d-white);border-color:var(--vp3d-primary);}
.vp3d-btn-wireframe.active:hover{background:var(--vp3d-primary-light);border-color:var(--vp3d-primary-light);}
.vp3d-wrap .vp3d-stage:focus, .vp3d-wrap [tabindex="0"]:focus{outline:2px solid var(--vp3d-primary);outline-offset:2px;}
.vp3d-btn-rotate-toggle{position:relative;}
.vp3d-btn-rotate-toggle.is-running::after{content:"";position:absolute;top:5px;right:5px;width:6px;height:6px;border-radius:50%;background:var(--vp3d-primary);box-shadow:0 0 0 0 var(--vp3d-a-glow);animation:vp3d-pulse 2.4s ease-in-out infinite;}
.vp3d-btn-rotate-toggle.is-running{color:var(--vp3d-primary);}
.vp3d-ann-layer{position:absolute;inset:0;pointer-events:none;z-index:12;overflow:visible;}
.vp3d-ann-pin{position:absolute;pointer-events:all;transform:translate(-50%, -50%);cursor:pointer;z-index:13;}
.vp3d-ann-num{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--vp3d-primary);color:var(--vp3d-white);font-family:var(--vp3d-font);font-size:12px;font-weight:800;border:2.5px solid var(--vp3d-white);box-shadow:0 4px 12px var(--vp3d-a-glow);transition:all 0.2s cubic-bezier(0.4, 0, 0.2, 1);animation:vp3d-ann-pulse 2.4s ease-in-out infinite;}
@keyframes vp3d-ann-pulse {
0%, 100%{box-shadow:0 4px 12px var(--vp3d-a-glow), 0 0 0 0 var(--vp3d-a-30);}
50%{box-shadow:0 4px 12px var(--vp3d-a-glow), 0 0 0 8px rgba(255, 87, 34, 0);}
}
.vp3d-ann-pin:hover .vp3d-ann-num{transform:scale(1.2);background:var(--vp3d-primary-light);}
.vp3d-ann-tooltip{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(6px);background:var(--vp3d-bg-dark);color:var(--vp3d-white);border-radius:10px;padding:10px 14px;font-family:var(--vp3d-font);font-size:12px;line-height:1.5;min-width:140px;max-width:240px;pointer-events:none;opacity:0;transition:opacity 0.2s, transform 0.2s cubic-bezier(0.16, 1, 0.3, 1);box-shadow:0 10px 30px rgba(0, 0, 0, 0.3);z-index:20;border:1px solid var(--vp3d-a-20);}
.vp3d-ann-tooltip::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:var(--vp3d-bg-dark);}
.vp3d-ann-tooltip strong{display:block;margin-bottom:4px;font-size:13px;font-weight:700;color:var(--vp3d-primary-light);letter-spacing:0.01em;}
.vp3d-ann-tooltip p{margin:0;font-size:12px;color:rgba(255, 255, 255, 0.78);line-height:1.5;}
.vp3d-ann-pin--open .vp3d-ann-tooltip{opacity:1;transform:translateX(-50%) translateY(0);}
@media(max-width:900px){
.vp3d-hint{display:none;}
}
@media(max-width:640px){
.vp3d-stage{min-height:380px;border-radius:16px;padding:12px;}
.vp3d-canvas{min-height:300px;}
.vp3d-stage-bar{flex-direction:column;align-items:stretch;gap:8px;}
.vp3d-stage-bar > div:last-child{justify-content:flex-end;}
.vp3d-pill{max-width:100%;}
.vp3d-rotate-btns{bottom:16px;right:16px;}
.vp3d-config-panel{bottom:16px;left:16px;}
.vp3d-btn-action{width:30px;height:30px;}
} .vp3d-canvas[style*="background: rgb(0"],
.vp3d-canvas[style*="background: rgb(1"],
.vp3d-canvas[style*="background: rgb(2"],
.vp3d-canvas[style*="#0"],
.vp3d-canvas[style*="#1"],
.vp3d-canvas[style*="#2"]{}
.vp3d-captures-strip{margin:14px 0 20px;padding:12px 14px;background:var(--vp3d-surface);border:1px solid var(--vp3d-line);border-radius:14px;box-shadow:var(--vp3d-sh-sm);}
.vp3d-captures-label{font-family:var(--vp3d-font-mono);font-size:10.5px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--vp3d-primary);margin-bottom:10px;display:flex;align-items:center;gap:6px;}
.vp3d-captures-label::before{content:"";display:inline-block;width:20px;height:1px;background:var(--vp3d-a-30);}
.vp3d-captures-list{display:flex;flex-wrap:wrap;gap:8px;}
.vp3d-capture-thumb{display:block;width:80px;height:80px;border-radius:10px;overflow:hidden;background:var(--vp3d-surface-2);border:1.5px solid var(--vp3d-line);cursor:zoom-in;transition:border-color 0.15s, transform 0.15s, box-shadow 0.15s;}
.vp3d-capture-thumb:hover{border-color:var(--vp3d-primary);transform:translateY(-2px);box-shadow:0 6px 16px var(--vp3d-a-20);}
.vp3d-capture-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.vp3d-lightbox{position:fixed;inset:0;background:rgba(10, 11, 13, 0.82);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:32px;animation:vp3d-lb-fade 0.2s ease-out;cursor:zoom-out;}
@keyframes vp3d-lb-fade { from{opacity:0;}
to{opacity:1;}
}
.vp3d-lightbox-inner{position:relative;max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center;}
.vp3d-lightbox-inner img{max-width:100%;max-height:90vh;border-radius:10px;box-shadow:0 20px 60px rgba(0, 0, 0, 0.45);display:block;cursor:default;}
.vp3d-lightbox-close{position:absolute;top:-14px;right:-14px;width:40px;height:40px;border-radius:50%;border:none;background:var(--vp3d-white);color:var(--vp3d-bg-dark);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0, 0, 0, 0.3);transition:background 0.15s, transform 0.12s;}
.vp3d-lightbox-close:hover{background:var(--vp3d-primary);color:#fff;transform:scale(1.08);}
.vp3d-btn-measure.vp3d-measure-active{background:var(--vp3d-primary, #FF5722);color:#fff;border-color:var(--vp3d-primary, #FF5722);box-shadow:0 0 0 3px rgba(255, 87, 34, 0.18);}
.vp3d-measure-layer{position:absolute;inset:0;pointer-events:none;z-index:5;}
.vp3d-measure-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;}
.vp3d-msr-line{stroke:#FF5722;stroke-width:2;fill:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,0.3));}
.vp3d-msr-pt{fill:#fff;stroke:#FF5722;stroke-width:2.5;filter:drop-shadow(0 1px 3px rgba(0,0,0,0.35));}
.vp3d-msr-pt-pending{fill:#FF5722;stroke:#fff;animation:vp3dPulse 1.4s ease-in-out infinite;}
@keyframes vp3dPulse {
0%, 100%{opacity:1;r:5;}
50%   {opacity:0.6;r:7;}
}
.vp3d-msr-label{position:absolute;transform:translate(-50%, -50%);font-family:'JetBrains Mono', ui-monospace, Menlo, monospace;font-size:11px;font-weight:700;color:#fff;background:rgba(255, 87, 34, 0.95);padding:3px 7px;border-radius:999px;white-space:nowrap;box-shadow:0 2px 6px rgba(0,0,0,0.25);pointer-events:none;letter-spacing:0.02em;}
.vp3d-measure-hint{position:absolute;top:12px;left:50%;transform:translateX(-50%);font-family:'Inter', sans-serif;font-size:11px;font-weight:500;color:#fff;background:rgba(10, 11, 13, 0.78);backdrop-filter:blur(6px);padding:6px 12px;border-radius:999px;pointer-events:none;z-index:6;box-shadow:0 2px 10px rgba(0,0,0,0.2);}
.vp3d-measure-clear{position:absolute;top:12px;right:12px;font-family:'Inter', sans-serif;font-size:11px;font-weight:600;color:#fff;background:rgba(200, 0, 26, 0.9);border:0;padding:5px 12px;border-radius:999px;cursor:pointer;pointer-events:auto;z-index:6;transition:background 0.15s, transform 0.12s;}
.vp3d-measure-clear:hover{background:#c8001a;transform:scale(1.04);}
.vp3d-btn-ar{display:inline-flex !important;align-items:center;gap:5px;background:linear-gradient(135deg, #FF5722 0%, #FF8A3D 100%);color:#fff;border-color:rgba(255, 87, 34, 0.35);}
.vp3d-btn-ar:hover{filter:brightness(1.08);box-shadow:0 4px 14px rgba(255, 87, 34, 0.35);}
.vp3d-btn-ar .vp3d-ar-label{font-family:'Inter', sans-serif;font-size:10.5px;font-weight:800;letter-spacing:0.04em;line-height:1;}
.vp3d-btn-ar.vp3d-ar-warn{animation:vp3dArWarn 0.4s ease;background:rgba(200, 0, 26, 0.92);}
@keyframes vp3dArWarn {
0%, 100%{transform:translateX(0);}
25%   {transform:translateX(-3px);}
75%   {transform:translateX(3px);}
}
.vp3d-ar-modal{position:fixed;inset:0;background:rgba(10, 11, 13, 0.6);backdrop-filter:blur(6px);z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px;}
.vp3d-ar-modal-card{position:relative;background:#fff;border-radius:16px;padding:28px 28px 22px;max-width:360px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,0.35);text-align:center;font-family:'Inter', sans-serif;}
.vp3d-ar-modal-close{position:absolute;top:10px;right:10px;background:rgba(10, 11, 13, 0.06);border:0;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:20px;line-height:1;color:#515A66;}
.vp3d-ar-modal-close:hover{background:#c8001a;color:#fff;}
.vp3d-ar-modal-title{margin:0 0 6px;font-size:18px;font-weight:700;color:#0A0B0D;letter-spacing:0.01em;}
.vp3d-ar-modal-sub{margin:0 0 16px;font-size:12.5px;color:#515A66;line-height:1.45;}
.vp3d-ar-modal-qr{display:flex;justify-content:center;padding:10px;background:#fff;border:1px solid rgba(10, 11, 13, 0.08);border-radius:12px;margin:0 auto 14px;width:fit-content;}
.vp3d-ar-modal-qr img{display:block;}
.vp3d-ar-modal-url{font-family:'JetBrains Mono', monospace;font-size:10px;color:#6b7280;word-break:break-all;background:rgba(10, 11, 13, 0.04);padding:6px 10px;border-radius:6px;margin-bottom:12px;max-height:60px;overflow:auto;}
.vp3d-ar-modal-help{margin:0;font-size:11px;color:#8A93A0;line-height:1.45;}
.vp3d-btn-purchase{width:auto !important;padding:0 10px 0 8px !important;gap:6px;}
.vp3d-buy-label{font-size:10.5px;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;line-height:1;color:currentColor;white-space:nowrap;}
.vp3d-buy-overlay{position:absolute;inset:0;background:rgba(10, 11, 13, 0.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:500;display:flex;align-items:center;justify-content:center;padding:20px;animation:vp3dBuyFade 0.18s ease;}
@keyframes vp3dBuyFade {
from{opacity:0;}
to{opacity:1;}
}
.vp3d-buy-modal{background:#fff;border-radius:16px;width:100%;max-width:420px;box-shadow:0 24px 64px rgba(0,0,0,0.25), 0 2px 8px rgba(0,0,0,0.1);overflow:hidden;animation:vp3dBuySlide 0.22s cubic-bezier(.2,.9,.3,1);}
@keyframes vp3dBuySlide {
from{transform:translateY(10px);opacity:0;}
to{transform:translateY(0);opacity:1;}
}
.vp3d-buy-head{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid #f1f1f5;background:linear-gradient(180deg, #fff7f3 0%, #fff 100%);}
.vp3d-buy-head-icon{width:38px;height:38px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:rgba(255, 87, 34, 0.12);color:#FF5722;border-radius:10px;}
.vp3d-buy-head-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;}
.vp3d-buy-head-text strong{font-size:15px;font-weight:800;color:#0A0B0D;letter-spacing:-0.01em;}
.vp3d-buy-head-text span{font-size:11.5px;color:#6b7280;}
.vp3d-buy-close{width:30px;height:30px;flex-shrink:0;background:#f3f4f8;border:none;border-radius:50%;color:#6b7280;font-size:13px;cursor:pointer;transition:background 0.12s, color 0.12s;}
.vp3d-buy-close:hover{background:#ffe5dd;color:#C63D0F;}
.vp3d-buy-list{padding:12px;display:flex;flex-direction:column;gap:6px;max-height:50vh;overflow-y:auto;}
.vp3d-buy-link{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;background:#fff;border:1.5px solid #e6e8f0;border-radius:10px;text-decoration:none !important;color:#0A0B0D !important;font-size:13.5px;font-weight:600;transition:all 0.15s;}
.vp3d-buy-link:hover{border-color:#FF5722;background:#fff7f3;color:#C63D0F !important;transform:translateY(-1px);box-shadow:0 4px 12px rgba(255, 87, 34, 0.12);}
.vp3d-buy-link-label{flex:1;}
.vp3d-buy-link-arrow{color:#9CA3AF;transition:color 0.15s, transform 0.15s;flex-shrink:0;}
.vp3d-buy-link:hover .vp3d-buy-link-arrow{color:#FF5722;transform:translate(2px, -2px);}
.vp3d-buy-standalone{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;font-family:'Inter', -apple-system, sans-serif;font-size:13px;font-weight:800;letter-spacing:0.04em;text-transform:uppercase;color:#fff !important;background:linear-gradient(180deg, #FF7A45 0%, #FF5722 100%);border:none;border-radius:10px;cursor:pointer;box-shadow:0 3px 10px rgba(255, 87, 34, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.2);transition:transform 0.15s, box-shadow 0.15s, filter 0.15s;text-decoration:none !important;line-height:1;vertical-align:middle;}
.vp3d-buy-standalone:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(255, 87, 34, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.25);filter:brightness(1.05);color:#fff !important;}
.vp3d-buy-standalone:active{transform:translateY(0);box-shadow:0 2px 6px rgba(255, 87, 34, 0.25);}
.vp3d-buy-standalone svg{flex-shrink:0;}
.vp3d-buy-standalone--custom{background:none;}
.vp3d-buy-standalone--custom:hover{filter:brightness(0.92);}
.vp3d-wrap, .vp3d-wrap *{-webkit-tap-highlight-color:transparent;}
.vp3d-sr-only{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;}
@media (hover: none) {
.vp3d-btn-action:hover, .vp3d-buy-link:hover, .vp3d-buy-standalone:hover{transform:none !important;}
} @media(max-width:1024px){
.vp3d-toolbar{gap:5px;}
.vp3d-btn-action{width:38px;height:38px;}
} @media(max-width:768px){
.vp3d-toolbar{flex-wrap:wrap;padding:8px 10px;gap:4px;}
.vp3d-btn-action{width:40px;height:40px;}
.vp3d-btn-purchase{padding:0 12px !important;}
.vp3d-buy-label{font-size:10px;}
.vp3d-buy-modal, .vp3d-ar-modal, .vp3d-lightbox-inner{max-width:100% !important;width:100% !important;max-height:90vh;border-radius:18px 18px 0 0 !important;}
.vp3d-buy-overlay, .vp3d-ar-modal-overlay{align-items:flex-end !important;padding:0 !important;}
.vp3d-buy-link{min-height:52px;padding:14px 16px;font-size:14px;}
.vp3d-buy-close, .vp3d-ar-modal-close{width:36px;height:36px;font-size:15px;}
.vp3d-captures-list{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;}
.vp3d-capture-thumb{scroll-snap-align:start;min-width:80px;}
.vp3d-ann-hotspot{position:relative;}
.vp3d-ann-hotspot::after{content:'';position:absolute;inset:-15px;border-radius:50%;}
.vp3d-rotate-btn{width:36px !important;height:36px !important;}
.vp3d-buy-standalone{min-height:44px;padding:11px 18px;font-size:12px;}
} @media(max-width:640px){
.vp3d-toolbar{justify-content:flex-start;}
.vp3d-btn-purchase .vp3d-buy-label{display:none;}
.vp3d-btn-purchase{width:40px !important;padding:0 !important;}
.vp3d-rotate-btns{transform:scale(0.9);transform-origin:bottom right;}
} @media(max-width:480px){
.vp3d-stage{border-radius:10px;}
.vp3d-toolbar{padding:6px 8px;gap:3px;}
.vp3d-btn-action{width:38px;height:38px;}
.vp3d-btn-action svg{width:15px !important;height:15px !important;}
.vp3d-buy-head{padding:14px 16px;}
.vp3d-buy-head-text strong{font-size:14px;}
.vp3d-buy-head-text span{font-size:11px;}
.vp3d-buy-list{padding:10px;gap:5px;}
.vp3d-hint{display:none;}
.vp3d-measure-hint{font-size:11px;padding:8px 10px;}
.vp3d-measure-clear{padding:6px 12px;font-size:11px;min-height:36px;}
} @media(max-width:360px){
.vp3d-btn-action{width:36px;height:36px;}
.vp3d-ar-label{display:none;}
.vp3d-btn-ar{width:38px !important;padding:0 !important;}
} .vp3d-btn-printerfit{gap:6px;white-space:nowrap;width:auto !important;padding:0 10px !important;flex-shrink:0;}
.vp3d-btn-printerfit.active{background:rgba(255,87,34,0.14);border-color:rgba(255,87,34,0.45);color:#FF5722;}
.vp3d-pf-label{font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;line-height:1;}
.vp3d-pf-overlay{position:absolute;inset:0;display:flex;justify-content:flex-end;pointer-events:none;z-index:40;opacity:0;transition:opacity .18s ease;}
.vp3d-pf-overlay.vp3d-pf-open{opacity:1;}
.vp3d-pf-panel{width:340px;max-width:92vw;height:100%;background:rgba(18,18,20,0.96);color:#eee;pointer-events:auto;display:flex;flex-direction:column;border-left:1px solid rgba(255,255,255,0.08);box-shadow:-12px 0 40px rgba(0,0,0,0.35);transform:translateX(12px);transition:transform .22s ease;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;}
.vp3d-pf-overlay.vp3d-pf-open .vp3d-pf-panel{transform:translateX(0);}
.vp3d-pf-head{display:flex;align-items:center;gap:10px;padding:14px 14px 10px;border-bottom:1px solid rgba(255,255,255,0.06);}
.vp3d-pf-head-icon{width:34px;height:34px;display:grid;place-items:center;background:rgba(255,87,34,0.14);color:#FF5722;border-radius:8px;}
.vp3d-pf-head-text{flex:1;min-width:0;display:flex;flex-direction:column;}
.vp3d-pf-head-text strong{font-size:13px;font-weight:700;}
.vp3d-pf-head-text span{font-size:11px;color:rgba(255,255,255,0.55);}
.vp3d-pf-close{background:none;border:0;color:rgba(255,255,255,0.55);width:28px;height:28px;border-radius:6px;cursor:pointer;font-size:14px;}
.vp3d-pf-close:hover{background:rgba(255,255,255,0.06);color:#fff;}
.vp3d-pf-meta{padding:8px 14px;font-size:11px;color:rgba(255,255,255,0.6);border-bottom:1px solid rgba(255,255,255,0.04);}
.vp3d-pf-tabs{display:flex;padding:8px 10px 0;gap:4px;border-bottom:1px solid rgba(255,255,255,0.06);}
.vp3d-pf-tab{flex:1;background:none;border:0;padding:8px 6px;color:rgba(255,255,255,0.55);font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;cursor:pointer;border-bottom:2px solid transparent;transition:color .12s, border-color .12s;}
.vp3d-pf-tab:hover{color:#fff;}
.vp3d-pf-tab.active{color:#FF5722;border-bottom-color:#FF5722;}
.vp3d-pf-body{flex:1;overflow-y:auto;padding:8px 6px;}
.vp3d-pf-list{list-style:none;margin:0;padding:0;}
.vp3d-pf-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:7px;font-size:12px;transition:background .12s;}
.vp3d-pf-clickable{cursor:pointer;}
.vp3d-pf-clickable:hover{background:rgba(255,255,255,0.05);}
.vp3d-pf-active{background:rgba(255,87,34,0.12);}
.vp3d-pf-item-left{flex:1;min-width:0;}
.vp3d-pf-item-title{display:flex;align-items:baseline;gap:6px;overflow:hidden;text-overflow:ellipsis;}
.vp3d-pf-item-brand{font-size:10px;color:rgba(255,255,255,0.5);text-transform:uppercase;letter-spacing:.03em;}
.vp3d-pf-item-label{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.vp3d-pf-item-meta{font-size:10.5px;color:rgba(255,255,255,0.45);margin-top:2px;}
.vp3d-pf-designed{color:#fbbf24;font-weight:600;margin-left:4px;}
.vp3d-pf-badge{flex-shrink:0;font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:4px 8px;border-radius:999px;white-space:nowrap;}
.vp3d-pf-badge-fits      {background:rgba(74,222,128,0.15);color:#4ade80;}
.vp3d-pf-badge-fits_rotated{background:rgba(251,191,36,0.15);color:#fbbf24;}
.vp3d-pf-badge-too_large {background:rgba(239,68,68,0.15);color:#ef4444;}
.vp3d-pf-incompat{margin:8px 6px 0;padding:6px 0;border-top:1px solid rgba(255,255,255,0.06);}
.vp3d-pf-incompat > summary{list-style:none;cursor:pointer;padding:6px 4px;font-size:11px;color:rgba(255,255,255,0.55);font-weight:600;}
.vp3d-pf-incompat > summary::-webkit-details-marker{display:none;}
.vp3d-pf-incompat > summary::before{content:'▸ ';transition:transform .15s;display:inline-block;}
.vp3d-pf-incompat[open] > summary::before{content:'▾ ';}
.vp3d-pf-picker{padding:10px;}
.vp3d-pf-picker-hint{font-size:11px;color:rgba(255,255,255,0.55);margin:0 0 6px;}
.vp3d-pf-picker-select{width:100%;padding:8px 10px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);color:#fff;border-radius:6px;font-size:12px;}
.vp3d-pf-picker-sub{font-size:10px;color:rgba(255,255,255,0.4);text-transform:uppercase;letter-spacing:.03em;margin:14px 0 6px;}
.vp3d-pf-chip-list{display:flex;flex-wrap:wrap;gap:6px;padding:0 10px 10px;}
.vp3d-pf-chip{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);color:#eee;font-size:11px;padding:5px 9px;border-radius:999px;cursor:pointer;transition:background .12s, border-color .12s;}
.vp3d-pf-chip:hover{background:rgba(255,87,34,0.12);border-color:rgba(255,87,34,0.35);}
.vp3d-pf-change{display:block;margin:14px auto 8px;background:none;border:1px solid rgba(255,255,255,0.12);color:rgba(255,255,255,0.65);padding:6px 12px;border-radius:6px;font-size:11px;cursor:pointer;}
.vp3d-pf-change:hover{color:#fff;border-color:rgba(255,255,255,0.3);}
@media(max-width:640px){
.vp3d-pf-overlay { justify-content: stretch; align-items: flex-end; }
.vp3d-pf-panel {
width: 100%;
max-width: 100%;
height: 72%;
border-left: 0;
border-top: 1px solid rgba(255,255,255,0.08);
border-radius: 12px 12px 0 0;
transform: translateY(16px);
}
.vp3d-pf-overlay.vp3d-pf-open .vp3d-pf-panel { transform: translateY(0); }
.vp3d-pf-label { display: none; }
}.hover-fade .portfolio-item .image .image-inner.fallback-zooming img, .hover-fade .gallery-item .overlay-wrap .image-wrap.fallback-zooming img{overflow:hidden;-webkit-transform:translate(0,0) scale(1);transform:translate(0,0) scale(1);-webkit-transition:-webkit-transform 0.5s;transition:transform 0.5s;}
.hover-fade .portfolio-item:is(:hover, .hover-effect) .image .image-inner.fallback-zooming img,
.hover-fade .gallery-item:is(:hover, .hover-effect) .overlay-wrap .image-wrap.fallback-zooming img{-webkit-transform:translate(0,0) scale(1.12);transform:translate(0,0) scale(1.12);-webkit-transition:-webkit-transform 0.5s;transition:transform 0.5s;}
.hover-fade .portfolio-item .image .image-inner.fallback-sliding img, .hover-fade .gallery-item .overlay-wrap .image-wrap.fallback-sliding img{overflow:hidden;-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:-webkit-transform 0.5s;transition:transform 0.5s;}
.hover-fade .portfolio-item:is(:hover, .hover-effect) .image .image-inner.fallback-sliding img,
.hover-fade .gallery-item:is(:hover, .hover-effect) .overlay-wrap .image-wrap.fallback-zooming img{-webkit-transform:translateX(-5%);transform:translateX(-5%);-webkit-transition:-webkit-transform 0.5s;transition:transform 0.5s;}
.news-grid.hover-fade .portfolio-item:is(:hover, .hover-effect) .image.format-video.has-post-thumbnail .image-inner img{-webkit-transform:translate(0, 0) scale(1);transform:translate(0, 0) scale(1);}
.hover-fade .portfolio-item .image .overlay, .hover-fade .portfolio-item:is(:hover, .hover-effect) .image .overlay,
.hover-fade .gallery-item .overlay-wrap .overlay, .hover-fade .gallery-item:is(:hover, .hover-effect) .overlay-wrap .overlay{display:block;-webkit-transition:background 0.5s 0.2s;transition:background 0.5s 0.2s;}
.hover-fade .portfolio-item .image .overlay:before, .hover-fade .gallery-item .overlay-wrap .overlay:before{content:'';position:absolute;width:100%;height:100%;bottom:0;left:0;z-index:-2;opacity:0;-webkit-transition:opacity 0.5s 0.2s;transition:opacity 0.5s 0.2s;background:transparent;}
.hover-fade .portfolio-item:is(:hover, .hover-effect) .image .overlay:before,
.hover-fade .gallery-item:is(:hover, .hover-effect) .overlay-wrap .overlay:before{opacity:1;-webkit-transition:opacity 0.5s;transition:opacity 0.5s;}
.hover-fade .portfolio-item .image .overlay:after, .hover-fade .gallery-item .overlay-wrap .overlay:after{content:'';position:absolute;top:0;bottom:0;left:0;right:0;z-index:-1;opacity:1;background:none;}
.hover-fade.title-on-page.title-style-dark .portfolio-item .image .overlay:after{display:none;}
.hover-fade .portfolio-item .image .overlay .links .portfolio-icons > .icon, .hover-fade .portfolio-item .image .overlay .links .portfolio-icons-inner > .icon, .hover-fade .gallery-item .overlay .overlay-content-inner a.icon, .portfolio.products.hover-fade .portfolio-item .image .overlay .portfolio-icons.product-bottom a.added_to_cart{opacity:0;display:inline-block;vertical-align:middle;position:relative;will-change:transform;-webkit-transform:scale(0);transform:scale(0);-webkit-transition:opacity 0.3s 0.2s, -webkit-transform 0s 0.5s, top 0.3s 0.2s;transition:opacity 0.3s 0.2s, transform 0s 0.5s, top 0.3s 0.2s;}
.hover-fade .gallery-item .overlay .overlay-content-inner a.icon.link{margin-left:10px;}
.hover-fade .portfolio-item:is(:hover, .hover-effect) .image .overlay .links .portfolio-icons > .icon,
.hover-fade .portfolio-item:is(:hover, .hover-effect) .image .overlay .links .portfolio-icons-inner > .icon,
.hover-fade .gallery-item:is(:hover, .hover-effect) .overlay .overlay-content-inner a.icon,
.portfolio.products.hover-fade .portfolio-item:is(:hover, .hover-effect) .image .overlay .portfolio-icons.product-bottom a.added_to_cart{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:top 0s;transition:top 0s;}
.portfolio.hover-fade .portfolio-item:is(:hover, .hover-effect) .image .overlay .links .portfolio-icons > .yith-wcwl-add-to-wishlist.added.icon:hover,
.portfolio.hover-fade .portfolio-item:is(:hover, .hover-effect) .image .overlay .links .portfolio-icons-inner > .yith-wcwl-add-to-wishlist.added.icon:hover{-webkit-transform:none;transform:none;}
.hover-fade .portfolio-item:is(:hover, .hover-effect) .image .overlay .links .portfolio-icons > .icon:nth-child(1),
.hover-fade .portfolio-item:is(:hover, .hover-effect) .image .overlay .links .portfolio-icons-inner > .icon:nth-child(1),
.hover-fade .gallery-item:is(:hover, .hover-effect) .overlay .overlay-content-inner a.icon:nth-child(1){-webkit-transition:opacity 0.5s 0s, background-color 0.3s 0s, color 0.3s 0s, -webkit-transform 0.4s 0s;transition:opacity 0.5s 0s, background-color 0.3s 0s, color 0.3s 0s, transform 0.4s 0s;}
.hover-fade .portfolio-item:is(:hover, .hover-effect) .image .overlay .links .portfolio-icons > .icon:nth-child(2),
.hover-fade .portfolio-item:is(:hover, .hover-effect) .image .overlay .links .portfolio-icons-inner > .icon:nth-child(2),
.hover-fade .gallery-item:is(:hover, .hover-effect) .overlay .overlay-content-inner a.icon:nth-child(2){-webkit-transition:opacity 0.5s 0.05s, background-color 0.3s 0s, color 0.3s 0s, -webkit-transform 0.4s 0.05s;transition:opacity 0.5s 0.05s, background-color 0.3s 0s, color 0.3s 0s, transform 0.4s 0.05s;}
.hover-fade .portfolio-item:is(:hover, .hover-effect) .image .overlay .links .portfolio-icons > .icon:nth-child(3),
.hover-fade .portfolio-item:is(:hover, .hover-effect) .image .overlay .links .portfolio-icons-inner > .icon:nth-child(3),
.hover-fade .gallery-item:is(:hover, .hover-effect) .overlay .overlay-content-inner a.icon:nth-child(3),
.portfolio.hover-fade .portfolio-item:is(:hover, .hover-effect) .image .overlay .links .portfolio-icons > .yith-wcwl-add-to-wishlist a.icon,
.portfolio.hover-fade .portfolio-item:is(:hover, .hover-effect) .image .overlay .links .portfolio-icons-inner > .yith-wcwl-add-to-wishlist a.icon{-webkit-transition:opacity 0.5s 0.1s, background-color 0.3s 0s, color 0.3s 0s, -webkit-transform 0.4s 0.1s;transition:opacity 0.5s 0.1s, background-color 0.3s 0s, color 0.3s 0s, transform 0.4s 0.1s;}
.hover-fade .portfolio-item:is(:hover, .hover-effect) .image .overlay .links .portfolio-icons > .icon:nth-child(4),
.hover-fade .portfolio-item:is(:hover, .hover-effect) .image .overlay .links .portfolio-icons-inner > .icon:nth-child(4),
.hover-fade .gallery-item:is(:hover, .hover-effect) .overlay .overlay-content-inner a.icon:nth-child(4){-webkit-transition:opacity 0.5s 0.15s, background-color 0.3s 0s, color 0.3s 0s, -webkit-transform 0.4s 0.15s;transition:opacity 0.5s 0.15s, background-color 0.3s 0s, color 0.3s 0s, transform 0.4s 0.15s;}
.hover-fade .portfolio-item:is(:hover, .hover-effect) .image .overlay .links .portfolio-icons > .icon:nth-child(5),
.hover-fade .portfolio-item:is(:hover, .hover-effect) .image .overlay .links .portfolio-icons-inner > .icon:nth-child(5),
.hover-fade .gallery-item:is(:hover, .hover-effect) .overlay .overlay-content-inner a.icon:nth-child(5){-webkit-transition:opacity 0.5s 0.2s, background-color 0.3s 0s, color 0.3s 0s, -webkit-transform 0.4s 0.2s;transition:opacity 0.5s 0.2s, background-color 0.3s 0s, color 0.3s 0s, transform 0.4s 0.2s;}
.hover-fade .portfolio-item .image .links .caption .title, .hover-fade .portfolio-item .image .links .caption .categories, .products.hover-fade.title-on-hover .portfolio-item .image .links .caption .product-info{opacity:0;top:200px;vertical-align:middle;position:relative;-webkit-transition:-webkit-transform 0s 0.5s, opacity 0.3s 0.1s, top 0.3s 0.1s;transition:transform 0s 0.5s, opacity 0.3s 0.1s, top 0.3s 0.1s;}
.hover-fade .gallery-item .overlay .overlay-content-inner .title{opacity:0;top:200px;display:block;vertical-align:middle;position:relative;margin-top:35px;will-change:transform;-webkit-transform:scale(0);transform:scale(0);-webkit-transition:-webkit-transform 0s 0.5s, opacity 0.3s 0.1s, top 0.3s 0.1s;transition:transform 0s 0.5s, opacity 0.3s 0.1s, top 0.3s 0.1s;}
.hover-fade .portfolio-item:is(:hover, .hover-effect) .image .links .caption .title,
.hover-fade .portfolio-item:is(:hover, .hover-effect) .image .links .caption .categories,
.products.hover-fade.title-on-hover .portfolio-item:is(:hover, .hover-effect) .image .links .caption .product-info{opacity:1;top:0;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:-webkit-transform 0.3s 0.1s, opacity 0.3s 0.1s, top 0s;transition:transform 0.3s 0.1s, opacity 0.3s 0.1s, top 0s;}
.products.hover-fade.title-on-page .portfolio-item.has-rating .image .links .caption .product-info{position:relative;-webkit-transition:padding 0.3s;transition:padding 0.3s;}
.hover-fade .gallery-item:is(:hover, .hover-effect) .overlay .overlay-content-inner .title{opacity:1;top:0;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:-webkit-transform 0.3s 0.1s, opacity 0.3s 0.1s, top 0s;transition:transform 0.3s 0.1s, opacity 0.3s 0.1s, top 0s;}
.hover-fade .portfolio-item .image .links .caption .info{opacity:0;top:200px;display:inline-block;vertical-align:middle;position:relative;will-change:transform;-webkit-transform:scale(0);transform:scale(0);-webkit-transition:-webkit-transform 0s 0.5s, opacity 0.3s 0.1s, top 0.3s 0.1s;transition:transform 0s 0.5s, opacity 0.3s 0.1s, top 0.3s 0.1s;}
.hover-fade .portfolio-item:is(:hover, .hover-effect) .image .links .caption .info{opacity:1;top:0;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:-webkit-transform 0.3s 0.1s, opacity 0.3s 0.1s, top 0s;transition:transform 0.3s 0.1s, opacity 0.3s 0.1s, top 0s;}
.hover-fade .portfolio-item .image .links .caption .description{opacity:1;position:static;}
.portfolio.hover-fade.fullwidth-columns-4 .fullwidth-block .portfolio-item .image .overlay .links .caption .subtitle{opacity:0;top:320px;position:absolute;will-change:transform;-webkit-transform:scale(0);transform:scale(0);-webkit-transition:-webkit-transform 0s 0.5s, opacity 0.3s 0.1s, top 0.3s 0.1s;transition:transform 0s 0.5s, opacity 0.3s 0.1s, top 0.3s 0.1s;}
.portfolio.hover-fade.fullwidth-columns-4 .fullwidth-block .portfolio-item.double-item .image .overlay .links .caption .subtitle{top:350px;}
.portfolio.hover-fade.fullwidth-columns-4 .fullwidth-block .portfolio-item:is(:hover, .hover-effect) .image .overlay .links .caption .subtitle{opacity:1;top:120px;display:block;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:-webkit-transform 0.3s 0.1s, opacity 0.3s 0.1s, top 0s;transition:transform 0.3s 0.1s, opacity 0.3s 0.1s, top 0s;}
.portfolio.hover-fade.fullwidth-columns-4 .fullwidth-block .portfolio-item.double-item:is(:hover, .hover-effect) .image .overlay .links .caption .subtitle{top:150px;}
.hover-fade .portfolio-item .image .overlay .links .portfolio-sharing-pane{opacity:0;margin-top:0;margin-bottom:0;will-change:transform;-webkit-transform:translateY(-1000px);transform:translateY(-1000px);-webkit-transition:opacity 0.3s, margin 0.3s 0.3s, -webkit-transform 0s;transition:opacity 0.3s, margin 0.3s 0.3s, transform 0s;}
.hover-fade .portfolio-item:is(:hover, .hover-effect) .image .overlay .links .portfolio-sharing-pane{visibility:hidden;-webkit-transform:translateY(0);transform:translateY(0);-webkit-transition:opacity 0.5s, -webkit-transform 0s, margin 0.3s;transition:opacity 0.5s, transform 0s, margin 0.3s;}
.hover-fade .portfolio-item:is(:hover, .hover-effect) .image .overlay .links .portfolio-sharing-pane.active{opacity:1;visibility:visible;margin-top:20px;margin-bottom:0;-webkit-transition:opacity 0.5s, margin 0.3s;transition:opacity 0.5s, margin 0.3s;}
.gem-gallery-grid.hover-fade.fullwidth-columns-4 .gallery-item .overlay .overlay-content-inner .subtitle{opacity:0;display:inline-block;vertical-align:middle;top:280px;max-width:70%;overflow:hidden;position:absolute;will-change:transform;-webkit-transform:scale(0);transform:scale(0);-webkit-transition:-webkit-transform 0s 0.5s, opacity 0.3s 0.1s, top 0.3s 0.1s;transition:transform 0s 0.5s, opacity 0.3s 0.1s, top 0.3s 0.1s;}
.gem-gallery-grid.hover-fade.fullwidth-columns-4 .gallery-item.double-item .overlay .overlay-content-inner .subtitle{top:310px;}
.gem-gallery-grid.hover-fade.fullwidth-columns-4 .gallery-item:is(:hover, .hover-effect) .overlay .overlay-content-inner .subtitle{opacity:1;top:80px;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:-webkit-transform 0.3s 0.1s, opacity 0.3s 0.1s, top 0s;transition:transform 0.3s 0.1s, opacity 0.3s 0.1s, top 0s;}
.gem-gallery-grid.hover-fade.fullwidth-columns-4 .gallery-item.double-item:is(:hover, .hover-effect) .overlay .overlay-content-inner .subtitle {
top: 110px;
}