.tp-tour-door{--mint:#8ee3c9;--amber:#ffb567;display:block;position:relative;isolation:isolate;justify-self:end;box-sizing:border-box;width:100%;max-width:820px;min-width:0;padding:25px 28px 20px;border:1px solid #a5d3ca32;border-radius:24px;color:#f1f5f2;text-decoration:none!important;overflow:hidden;background:radial-gradient(ellipse at 75% 28%,#37605852,transparent 59%),linear-gradient(130deg,#172b32,#0a1821 80%);box-shadow:0 24px 65px #0004,inset 0 1px #d7fff015;transition:border-color .35s,box-shadow .35s}
.tp-tour-door:hover{border-color:#acdbc969;box-shadow:0 26px 75px #0005,inset 0 1px #d7fff022}
.tp-tour-door:focus{outline:none}
.tp-tour-door:focus-visible .tp-portal-badge{outline:2px solid var(--amber);outline-offset:3px}
.tp-tour-door.is-entering .tp-portal-badge{outline:none}
.tp-portal-header{display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;z-index:3}
.tp-door-copy{display:block;min-width:0;text-align:left}
.tp-door-kicker{display:flex;align-items:center;gap:8px;color:#bdd2ca;font:500 9px/1.3 system-ui;letter-spacing:2px}
.tp-door-kicker>i{width:5px;height:5px;flex:none;border-radius:50%;background:var(--amber);box-shadow:0 0 12px #ffb56777}
.tp-door-copy>strong{display:block;margin-top:10px;font-size:clamp(22px,2vw,31px);line-height:1.14;letter-spacing:-.7px;font-weight:550;color:#f5f4ed}
.tp-door-copy>strong>span{display:block;color:#ffd8a5;font-weight:650}
.tp-door-offer{display:block;max-width:440px;margin-top:9px;color:#b5c7bc;font-size:10px;line-height:1.5}
.tp-door-meta{display:flex;align-items:center;gap:10px;margin-top:11px;font-size:10px;letter-spacing:.2px;color:#a4bab5}
.tp-door-meta>i{width:3px;height:3px;border-radius:50%;background:#738f89}
.tp-portal-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;flex:none;width:57px;height:72px;border:1px solid #bddbd638;border-radius:18px;background:#12273066;font-size:20px;line-height:1;font-weight:500;letter-spacing:-.6px;color:#d5efdf}
.tp-portal-badge svg{width:15px;height:15px;fill:none;stroke:#9bcbb6;stroke-width:1.7;transition:transform .4s}
.tp-tour-door:hover .tp-portal-badge svg{transform:translate(2px,-2px)}
.tp-door-scene{position:relative;display:block;height:310px;margin:17px -5px 9px;perspective:950px}
.tp-portal-grid{position:absolute;inset:2% -6% 9%;background:linear-gradient(90deg,transparent 49.8%,#b5dccb05 50%,transparent 50.2%),linear-gradient(transparent 49.6%,#b5dccb04 50%,transparent 50.4%);background-size:44px 44px;mask-image:radial-gradient(ellipse at 65% 45%,#000,transparent 73%);pointer-events:none}
.tp-portal-floor{position:absolute;right:0;left:34%;bottom:18px;height:70px;border-radius:50%;background:radial-gradient(ellipse,#c8e8bc20,transparent 67%);transform:rotate(-4deg);box-shadow:0 8px 14px #0001}
.tp-portal-floor:before{content:"";position:absolute;inset:13% -10%;border:1px solid #b8ddc713;border-radius:50%;transform:scaleY(.6)}
.tp-portal-sources{position:absolute;z-index:3;left:1%;top:7%;bottom:21%;width:34%;display:flex;flex-direction:column;justify-content:space-between}
.tp-flow-card{display:flex;align-items:center;gap:10px;min-width:0;position:relative;padding:8px 0;border:0;background:none;box-shadow:none;animation:none;transform:none}
.tp-flow-card>i{display:grid;place-items:center;flex:none;width:29px;height:29px;border-radius:9px;box-shadow:inset 0 1px #fff3,0 4px 12px #0002;font:650 12px system-ui;color:#fff}
.tp-flow-wb>i{background:linear-gradient(135deg,#a746a0,#673393)}
.tp-flow-ozon>i{background:linear-gradient(135deg,#2988fc,#1553c0)}
.tp-flow-ym>i{background:linear-gradient(135deg,#ffe074,#dab141);color:#362c14}
.tp-flow-site>i{background:linear-gradient(135deg,#4d9780,#306254);font-size:19px}
.tp-flow-card>span{display:flex;flex-direction:column;gap:4px;min-width:0}
.tp-flow-card strong{font-size:clamp(10px,1vw,14px);line-height:1.1;font-weight:550;color:#e7efe9}
.tp-flow-card small{font-size:8px;line-height:1.35;color:#93aca7}
.tp-portal-flow{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}
.tp-source-lines{fill:none;stroke:#9acdb831;stroke-width:1;stroke-linecap:round;stroke-linejoin:round}
.tp-flow-hub{fill:#213d37;stroke:#9dd8b675;stroke-width:1.5}
.tp-cargo-route{fill:none;stroke:#e0b37b55;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.tp-portal-parcel{animation:tp-portal-delivery 8s linear infinite;animation-play-state:paused;filter:drop-shadow(0 3px 4px #0005);transform:translate(255px,172px)}
.tp-tour-door.is-active .tp-portal-parcel{animation-play-state:running}
.tp-parcel-top{fill:#f8c784}.tp-parcel-front{fill:#d99248}.tp-parcel-side{fill:#b97237}.tp-parcel-tape{fill:none;stroke:#ffe2b2;stroke-width:2}
@keyframes tp-portal-delivery{0%{opacity:0;transform:translate(255px,172px)}8%{opacity:1}30%{transform:translate(278px,196px)}65%{transform:translate(330px,272px)}90%{opacity:1;transform:translate(390px,282px)}100%{opacity:0;transform:translate(390px,282px)}}
.tp-mobile-parcel{display:none}
.tp-door-frame{position:absolute;display:block;z-index:2;left:49%;width:47%;top:10%;bottom:19%;border:5px solid #37504f;border-bottom:5px solid #687e70;border-radius:4px 4px 1px 1px;background:#27423b;box-shadow:0 0 0 1px #b7d5c33f,18px 13px 28px #0005,inset 0 0 16px #ecf6c231;transform:rotateY(-10deg);transform-style:preserve-3d;perspective:650px;transition:transform .7s,box-shadow .7s}
.tp-door-frame:before,.tp-door-frame:after{content:"";position:absolute;z-index:4;top:0;bottom:-4px;width:3px;background:repeating-linear-gradient(135deg,#bca36d 0 6px,#293e37 6px 12px)}
.tp-door-frame:before{left:-9px}.tp-door-frame:after{right:-9px}
.tp-door-lintel{position:absolute;left:-5px;right:-5px;top:-24px;height:20px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #82b79c36;background:#233b38;font:500 6px system-ui;letter-spacing:1.7px;color:#bdcfc0}
.tp-door-lintel>i{width:3px;height:3px;border-radius:50%;background:var(--amber);box-shadow:0 0 7px #ffe3a2}
.tp-door-lintel:before{content:"";position:absolute;left:8%;right:8%;bottom:-2px;height:2px;background:linear-gradient(90deg,transparent,#e6d6a4,transparent);box-shadow:0 4px 19px #ffe4a85e}
.tp-door-interior{position:absolute;inset:0;z-index:0;overflow:hidden;background:linear-gradient(#21372005,#123c2725),url('/sklad-360/warehouse-door-poster.jpg?v=20261009-1') -20% 50%/cover;box-shadow:inset 0 0 30px #0004}
.tp-door-video{display:block;width:100%;height:100%;object-fit:cover;object-position:-20% 50%;transform:scale(1.05);opacity:0;transition:opacity .5s;pointer-events:none}
.tp-door-video.is-playing{opacity:1}
.tp-door-interior:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(#eef5cc05,#1433220e)}
.tp-door-leaf{position:absolute;z-index:2;top:0;bottom:0;width:50%;box-sizing:border-box;border:1px solid #b5c8be58;backface-visibility:hidden;transform-style:preserve-3d;background:repeating-linear-gradient(0deg,transparent 0 34px,#b5c8bf18 35px 36px),linear-gradient(110deg,#61776b,#3c554c 45%,#30483f);box-shadow:inset 1px 0 3px #dfebe032,0 8px 13px #0005;transition:transform 1s cubic-bezier(.2,.8,.2,1)}
.tp-door-left{left:0;transform-origin:left;transform:rotateY(-28deg)}
.tp-door-right{right:0;transform-origin:right;transform:rotateY(28deg)}
.tp-door-window{position:absolute;top:12%;left:13%;right:13%;height:21%;border:3px solid #2b423b;border-radius:3px;background:linear-gradient(128deg,#adcac420,transparent 24% 70%,#deecd613 71% 75%,transparent 76%),#172e28;box-shadow:inset 0 0 11px #081e1b,0 1px #bbd8b95c}
.tp-door-mark{position:absolute;left:16%;top:52%;font:750 clamp(16px,1.8vw,26px)/.9 system-ui;letter-spacing:-.8px;color:#e9edde}
.tp-door-handle{position:absolute;top:47%;height:39px;width:5px;border-radius:4px;background:linear-gradient(90deg,#7b8976,#e4e7ce,#778f7c);box-shadow:2px 2px 4px #0006}
.tp-door-left .tp-door-handle{right:9px}.tp-door-right .tp-door-handle{left:9px}
.tp-door-sticker{position:absolute;left:24%;right:8%;top:63%;padding:7px 4px;border-top:1px solid #b2cdb24a;color:#d0ddcb;font-size:7px;font-weight:600;letter-spacing:1px}
.tp-door-sticker>small{display:block;margin-top:5px;font-size:4px;line-height:1.7;letter-spacing:.5px;opacity:.7}
.tp-door-rivets{position:absolute;inset:4px;pointer-events:none;background:radial-gradient(circle at 0 0,#d7e1c8 0 1px,transparent 1.8px),radial-gradient(circle at 100% 0,#d7e1c8 0 1px,transparent 1.8px),radial-gradient(circle at 0 100%,#899d87 0 1px,transparent 1.8px),radial-gradient(circle at 100% 100%,#899d87 0 1px,transparent 1.8px);opacity:.65}
.tp-tour-door:is(:hover,:focus-visible) .tp-door-left{transform:rotateY(-34deg)}
.tp-tour-door:is(:hover,:focus-visible) .tp-door-right{transform:rotateY(34deg)}
.tp-tour-door.is-entering .tp-door-frame{transform:rotateY(0) scale(1.12);box-shadow:0 0 50px #d6e7b63b}
.tp-tour-door.is-entering .tp-door-left{transform:rotateY(-98deg)}
.tp-tour-door.is-entering .tp-door-right{transform:rotateY(98deg)}
.tp-portal-hint{position:absolute;z-index:3;left:45%;right:0;bottom:1%;display:flex;align-items:center;justify-content:center;gap:12px;font-size:8px;line-height:1.4;color:#b0c5b8}
.tp-portal-hint>i{font-style:normal;font-size:16px;color:#d0e9ca}
.tp-portal-footer{display:block;position:relative;padding-top:14px;border-top:1px solid #9dceb41c}
.tp-order-route{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding-bottom:12px}
.tp-route-stop{display:flex;align-items:center;justify-content:center;gap:7px;color:#7e9d91;transition:color .4s;font-size:10px;line-height:1.2}
.tp-route-stop>b{display:block;width:18px;height:18px;flex:none}
.tp-route-icon{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.tp-route-stop.is-current{color:#f4d2a1}
.tp-route-track{position:absolute;left:0;right:0;bottom:0;height:1px;background:#60867428}
.tp-route-track>i{position:absolute;left:0;top:0;height:1px;width:var(--route-progress,0%);background:linear-gradient(90deg,#91caa5,#eec18c);box-shadow:0 0 5px #c9d99425;transition:width .8s}
.tp-tour-door[data-order-stage="0"] .tp-route-track>i{transition:none}
.tp-route-caption{display:block;text-align:center;margin-top:10px;font-size:9px;line-height:1.45;color:#9bb3a6;min-height:14px}
.tp-tour-disclosure{display:block;text-align:center;margin-top:8px;color:#6b887c;font-size:7px;letter-spacing:.3px}
@media(min-width:1600px){.tp-door-scene{height:340px}.tp-flow-card strong{font-size:14px}.tp-flow-card small{font-size:9px}}
@media(min-width:681px) and (max-height:820px){.tp-door-scene{height:270px}.tp-tour-door{padding-top:22px;padding-bottom:17px}}
@media(max-width:680px){
 .tp-tour-door{padding:20px 18px 16px;border-radius:21px;justify-self:stretch}
 .tp-portal-header{gap:10px;align-items:flex-start}.tp-door-kicker{font-size:7px;letter-spacing:1.4px;gap:6px}.tp-door-copy>strong{font-size:22px;letter-spacing:-.7px;line-height:1.1;margin-top:10px}.tp-door-offer{font-size:9px;line-height:1.45;margin-top:9px}.tp-door-meta{font-size:8px;margin-top:9px;gap:8px}
 .tp-portal-badge{width:42px;height:60px;border-radius:14px;font-size:16px;gap:8px}.tp-portal-badge svg{width:13px;height:13px}
 .tp-door-scene{height:386px;margin:18px -2px 5px}.tp-portal-sources{left:0;right:0;width:auto;top:0;bottom:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 16px}
 .tp-flow-card{gap:8px;padding:5px 0}.tp-flow-card>i{width:24px;height:24px;border-radius:7px;font-size:10px}.tp-flow-site>i{font-size:16px}.tp-flow-card strong{font-size:10px;line-height:1.25}.tp-flow-card small{font-size:7px}.tp-flow-card>span{gap:3px}
 .tp-portal-flow{display:none}.tp-mobile-parcel{display:block;position:absolute;left:calc(50% - 4px);top:93px;width:7px;height:7px;border:1px solid #ffd39366;border-radius:1px;background:linear-gradient(135deg,#f7ca81,#c58941);animation:tp-portal-mobile-delivery 8s linear infinite;animation-play-state:paused;z-index:1}
 .tp-tour-door.is-active .tp-mobile-parcel{animation-play-state:running}.tp-portal-grid{inset:24% -15% 9%;background-size:32px 32px}
 .tp-door-frame{left:16%;width:68%;top:128px;bottom:40px;transform:rotateY(-7deg)}.tp-door-lintel{font-size:5px;letter-spacing:1.4px}.tp-door-mark{font-size:21px}.tp-door-handle{height:37px;width:5px}.tp-door-video{object-position:25% 50%}.tp-door-interior{background-position:25% 50%}.tp-door-sticker{font-size:6px;left:26%;right:8%;padding:6px 2px}.tp-door-sticker>small{font-size:3px}
 .tp-portal-floor{left:5%;right:5%;bottom:23px;height:60px}.tp-portal-hint{left:0;right:0;bottom:2px;font-size:8px}.tp-portal-hint>i{font-size:14px}
 .tp-portal-footer{padding-top:12px}.tp-order-route{gap:3px;padding-bottom:12px}.tp-route-stop{gap:5px;font-size:8px}.tp-route-stop>b{width:15px;height:15px}.tp-route-caption{font-size:8px;min-height:12px;margin-top:9px}.tp-tour-disclosure{font-size:6px;margin-top:7px}
}
@keyframes tp-portal-mobile-delivery{0%{opacity:0;transform:translateY(0)}8%,75%{opacity:1}90%,100%{opacity:0;transform:translateY(34px)}}
@media(prefers-reduced-motion:reduce){.tp-tour-door,.tp-tour-door *{animation:none!important;transition:none!important}.tp-portal-parcel{opacity:1;transform:translate(330px,272px)}.tp-mobile-parcel{opacity:1;transform:translateY(16px)}}

/* Keep video on its own flat plane; only the visible gap is decoded/painted. */
.tp-door-preview{position:absolute;display:block;z-index:1;left:49%;width:47%;top:10%;bottom:19%;border:5px solid transparent;overflow:hidden;pointer-events:none;transition:transform .7s}
.tp-door-backdrop{position:absolute;inset:0;background:url('/sklad-360/warehouse-door-poster.jpg?v=20261009-1') -20% 50%/cover}
.tp-door-preview .tp-door-video{position:absolute;left:41%;top:0;width:18%;height:100%;object-fit:cover;object-position:50% 50%;transform:none}
.tp-door-frame{background:transparent;transform:none;transform-style:flat}
.tp-door-frame .tp-door-interior{background:none}
@media(max-width:680px){.tp-door-preview{left:16%;width:68%;top:128px;bottom:40px}.tp-door-frame{transform:none}.tp-door-backdrop{background-position:25% 50%}}

/* Match the opening frame without moving the video into its 3D layer. */
.tp-tour-door.is-entering .tp-door-preview{transform:scale(1.12)}


/* A fixed dome camera; only the lens moves gently inside its housing. */
.tp-tour-access{position:relative;justify-self:end;min-width:0;width:100%;max-width:820px}
.tp-camera-access{position:absolute;z-index:5;left:calc(100% + 10px);top:6px;display:flex;flex-direction:column;align-items:center;width:170px;color:#d9ece5;text-decoration:none!important;-webkit-tap-highlight-color:transparent}
.tp-camera-art{display:block;width:146px;max-width:100%;height:auto;overflow:visible;filter:drop-shadow(0 7px 12px #0002)}
.tp-camera-gimbal{animation:tp-camera-inspect 8s ease-in-out infinite;transform-origin:90px 78px}
.tp-camera-indicator{animation:tp-camera-signal 3.5s ease-out infinite;transform-origin:119px 51px}
.tp-camera-label{display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;margin-top:1px}
.tp-camera-label strong{font:550 12px/1.45 system-ui;letter-spacing:-.1px;color:#e0ede7}
.tp-camera-action{display:inline-flex;align-items:center;gap:8px;padding-bottom:3px;border-bottom:1px solid #a2c7b733;font:500 10px/1.4 system-ui;color:#ffcc96;transition:color .25s,border-color .25s}
.tp-camera-action>span{display:inline-block;transition:transform .25s}
.tp-camera-label small{display:flex;align-items:center;gap:4px;font:400 8px/1.4 system-ui;color:#99b5a9;white-space:nowrap}
.tp-camera-label small svg{width:10px;height:10px;fill:none;stroke:currentColor;stroke-width:1.4}
.tp-camera-access:hover .tp-camera-action{color:#ffe1b9;border-color:#ffd69b88}
.tp-camera-access:hover .tp-camera-action>span{transform:translate(2px,-2px)}
.tp-camera-access:focus-visible{outline:2px solid #ffbd76;outline-offset:5px;border-radius:16px}
@keyframes tp-camera-inspect{0%,100%{transform:translateX(-7px) rotate(-3deg)}42%,58%{transform:translateX(7px) rotate(3deg)}}
@keyframes tp-camera-signal{0%{opacity:.6;transform:scale(.8)}65%,100%{opacity:0;transform:scale(1.7)}}
@media(max-width:1800px){.tp-tour-access{display:flex;flex-direction:column}.tp-camera-access{order:-1;position:relative;left:auto;top:auto;flex-direction:row;justify-content:flex-end;gap:12px;width:100%;margin:0 0 12px}.tp-camera-art{width:88px;flex:none}.tp-camera-label{align-items:flex-start;gap:5px;text-align:left;margin-top:0;padding-right:4px}.tp-camera-label strong{font-size:12px}.tp-camera-label strong br{display:none}.tp-camera-action{font-size:10px}.tp-camera-label small{font-size:8px}}
@media(max-width:680px){.tp-tour-access{justify-self:stretch}.tp-camera-art{width:72px}.tp-camera-access{gap:9px;margin-bottom:11px}.tp-camera-label strong{font-size:11px}}
@media(prefers-reduced-motion:reduce){.tp-camera-gimbal,.tp-camera-indicator{animation:none}.tp-camera-access *{transition:none!important}}
