/* MK Detailing V257 - ekran startowy 3D (bez bibliotek, działa na każdym telefonie) */
.splash-screen.splash3d{background:#030306;padding:0;cursor:pointer}
.splash-screen.splash3d::before{display:none}
.splash3d-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.splash3d-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 70% 60% at 50% 46%,transparent 40%,rgba(0,0,0,.75) 100%)}
.splash-screen.splash3d .splash-enter{width:min(92vw,760px);background:none;border:0;box-shadow:none;padding:0;gap:0;z-index:2;display:grid;justify-items:center;cursor:pointer;color:#fff}
.splash-screen.splash3d .splash-enter>img,.splash-screen.splash3d .splash-lines{display:none!important}

.s3d-stage{position:relative;width:min(78vw,560px);aspect-ratio:856/695;perspective:1100px;perspective-origin:50% 40%;margin-bottom:clamp(10px,3vh,28px)}
.s3d-rig{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .12s linear;will-change:transform}
.s3d-intro .s3d-rig{animation:s3dIntro 1.6s cubic-bezier(.16,.84,.24,1) both}
@keyframes s3dIntro{from{opacity:0;transform:translateZ(-900px) rotateY(-70deg) rotateX(18deg)}60%{opacity:1}to{opacity:1;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}}
.s3d-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;backface-visibility:visible;pointer-events:none;user-select:none;-webkit-user-drag:none}
.s3d-layer.depth{filter:brightness(.32) saturate(1.3)}
.s3d-layer.front{filter:none}
.s3d-glow{position:absolute;inset:12% 10%;border-radius:50%;background:radial-gradient(closest-side,rgba(255,30,50,.38),rgba(255,30,50,0));transform:translateZ(-40px);pointer-events:none}
.s3d-shine{position:absolute;inset:0;pointer-events:none;-webkit-mask:url("assets/logo-3d-v257.webp") center/contain no-repeat;mask:url("assets/logo-3d-v257.webp") center/contain no-repeat;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.75) 48%,rgba(255,255,255,.15) 54%,transparent 62%) -160% 0/250% 100% no-repeat;animation:s3dShine 4.2s ease-in-out 1.4s infinite;mix-blend-mode:screen}
@keyframes s3dShine{0%{background-position:-160% 0}45%,100%{background-position:160% 0}}
.s3d-floor{position:absolute;left:8%;right:8%;bottom:-6%;height:26%;transform:rotateX(78deg) translateZ(-40px);background:radial-gradient(ellipse at center,rgba(255,30,50,.45),rgba(255,30,50,0) 70%);pointer-events:none}
.s3d-reflect{position:absolute;left:0;right:0;top:100%;height:34%;overflow:hidden;opacity:.16;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,#000,transparent 70%);mask-image:linear-gradient(180deg,#000,transparent 70%)}
.s3d-reflect img{width:100%;height:auto;transform:scaleY(-1)}
.s3d-cta{display:inline-flex;align-items:center;gap:12px;padding:15px 26px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(10,10,16,.62);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font:900 clamp(.78rem,2.6vw,.92rem)/1 Inter,system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase;box-shadow:0 0 0 0 rgba(255,34,56,.5);animation:s3dPulse 2.2s ease-out 1.6s infinite}
.s3d-cta i{font-style:normal;color:#ff2a40;font-size:1.1em;transition:transform .25s}
.splash-enter:hover .s3d-cta i,.splash-enter:focus-visible .s3d-cta i{transform:translateX(5px)}
.s3d-intro .s3d-cta{animation:s3dFade .6s ease 1.1s both,s3dPulse 2.2s ease-out 1.8s infinite}
@keyframes s3dFade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes s3dPulse{0%{box-shadow:0 0 0 0 rgba(255,34,56,.45)}70%{box-shadow:0 0 0 18px rgba(255,34,56,0)}100%{box-shadow:0 0 0 0 rgba(255,34,56,0)}}
.s3d-tag{margin-top:14px;color:rgba(255,255,255,.55);font:700 clamp(.62rem,2.2vw,.74rem)/1.4 Inter,system-ui,sans-serif;letter-spacing:.28em;text-transform:uppercase}
.s3d-intro .s3d-tag{animation:s3dFade .6s ease 1.35s both}
.splash-enter:focus-visible{outline:none}
.splash-enter:focus-visible .s3d-cta{outline:2px solid #ff2a40;outline-offset:4px}

/* wejście: wlot w tunel */
.splash-screen.splash3d.s3d-warp .s3d-rig{animation:none;transition:transform .75s cubic-bezier(.6,0,.9,.4),opacity .75s ease;transform:translateZ(900px) rotateX(0) rotateY(0);opacity:0}
.splash-screen.splash3d.s3d-warp .s3d-cta,.splash-screen.splash3d.s3d-warp .s3d-tag{transition:opacity .25s;opacity:0!important;animation:none}
.s3d-flash{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.9),rgba(255,40,60,.5) 30%,transparent 65%);opacity:0}
.s3d-warp .s3d-flash{animation:s3dFlash .8s ease-in .35s both}
@keyframes s3dFlash{0%{opacity:0}60%{opacity:1}100%{opacity:0}}

/* nie zasłaniamy intra przyciskami pływającymi */
body.splash-active .mk-help-fab,body.splash-active .mini-detailer-floating,body.splash-active .floating-phone,body.splash-active .floating-top{opacity:0!important;pointer-events:none!important}

@media (prefers-reduced-motion:reduce){.s3d-intro .s3d-rig,.s3d-shine,.s3d-cta,.s3d-tag{animation:none!important;opacity:1!important}.s3d-rig{transition:none}}
@media (max-width:600px){.s3d-stage{width:84vw}.s3d-cta{padding:14px 20px;letter-spacing:.16em}}
/* neutralizacja starych reguł .splash-enter img ze styles-v119.css */
.splash-screen.splash3d .splash-enter .s3d-layer{position:absolute!important;inset:0;z-index:auto;width:100%!important;height:100%!important;max-height:none!important;border-radius:0!important;box-shadow:none!important;transition:none!important}
.splash-screen.splash3d .splash-enter .s3d-reflect img{position:static!important;z-index:auto;width:100%!important;max-height:none!important;border-radius:0!important;box-shadow:none!important;transition:none!important}
.splash-screen.splash3d .splash-enter:hover img{transform:none}
.splash-screen.splash3d .splash-enter:hover .s3d-layer.depth{filter:brightness(.32) saturate(1.3)}
.splash-screen.splash3d .splash-enter .s3d-reflect img{transform:scaleY(-1)!important}
