/* www3D.site — первый экран страницы отеля: окно 3D-тура + лента фото; рукописный призыв и эффект CLICK (v8.39). Углы фото — не больше 4 px */
.stg{position:relative;min-width:0}
.stg-scr{position:relative;aspect-ratio:4/3;border-radius:4px;overflow:hidden;background:#0f2d36;box-shadow:0 30px 70px -20px rgba(0,0,0,.6)}
.stg-scr iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.stg-load{position:absolute;inset:0;display:grid;place-items:center;color:#9cb9c2;font-weight:600;background:#0f2d36}
/* заставка тура: фото, затемнение и рукописный призыв */
.stg-go{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;border:0;margin:0;background:#0b2229;cursor:pointer;color:#fff}
.stg-go img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.62);transition:filter .4s,transform .8s}
.stg-go:hover img{filter:brightness(.5);transform:scale(1.03)}
.stg-go::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 55%,rgba(5,16,22,.15),rgba(5,16,22,.55))}
.stg-cta{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:14px;width:max-content;max-width:92%}
.stg-ico{display:grid;place-items:center;width:74px;height:74px;border-radius:50%;background:#ff6a3d;color:#fff;font-size:26px;padding-left:5px;box-shadow:0 0 0 0 rgba(255,106,61,.6);animation:stgPulse 2.2s ease-out infinite}
@keyframes stgPulse{0%{box-shadow:0 0 0 0 rgba(255,106,61,.55)}70%{box-shadow:0 0 0 22px rgba(255,106,61,0)}100%{box-shadow:0 0 0 0 rgba(255,106,61,0)}}
/* рукописный призыв с рукописным подчёркиванием, как на странице для отельеров */
.hwl,.stg-w{position:relative;display:inline-block;font-family:'Caveat','Onest',cursive;font-weight:700;font-size:clamp(28px,3vw,40px);line-height:1.05;color:#fff;text-decoration:none;padding-bottom:.22em;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 16' preserveAspectRatio='none'%3E%3Cpath d='M3 11 C 60 4, 140 3, 297 8 M30 14 C 110 9, 200 9, 270 12' fill='none' stroke='%23ff6a3d' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") left bottom/100% .36em no-repeat;border:0;cursor:pointer;transform:rotate(-1.5deg);transform-origin:left}
button.hwl{background-color:transparent;padding-left:0;padding-right:0;padding-top:0}
.light .hwl{color:var(--fgl,#14303a)}
.hwl:hover{color:#ffd2c2}.light .hwl:hover{color:var(--acd,#c4461f)}

/* эффект CLICK: линия копит заряд (голубой → салатовый → оранжевый → алый), взрыв искр, ярлык CLICK */
.fx-bar{position:absolute;left:0;bottom:-6px;height:3px;width:0;border-radius:2px;pointer-events:none;background:#3ab8ff;box-shadow:0 0 6px #3ab8ff}
.btn .fx-bar{left:14px;bottom:5px}
.fx-on>.fx-bar{width:100%;transition:width var(--ct,3.8s) linear;animation:w3heat var(--ct,3.8s) linear forwards}
.btn.fx-on>.fx-bar{width:calc(100% - 28px)}
.fx-boom>.fx-bar{width:100%;animation:none;background:#ff1f3d;box-shadow:0 0 14px #ff1f3d,0 0 30px #ff7a00}
.btn.fx-boom>.fx-bar{width:calc(100% - 28px)}
@keyframes w3heat{0%,48%{background:#3ab8ff;box-shadow:0 0 6px #3ab8ff}52%,80%{background:#7dff3a;box-shadow:0 0 8px #7dff3a}84%,91%{background:#ff7a00;box-shadow:0 0 10px #ff7a00}95%,100%{background:#ff1f3d;box-shadow:0 0 14px #ff1f3d}}
.fx-spark{position:absolute;left:100%;top:calc(100% + 5px);width:6px;height:6px;border-radius:50%;background:var(--sc,#ff7a00);box-shadow:0 0 8px var(--sc,#ff7a00);pointer-events:none;animation:w3spark .7s ease-out forwards;z-index:5}
@keyframes w3spark{from{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.2);opacity:0}}
.fx-jmi{position:absolute;right:-.2em;bottom:80%;left:auto;top:auto;margin:0;padding:6px 12px;border-radius:4px;background:linear-gradient(135deg,#3cc4ff,#1a8cff);color:#fff;font:800 13px/1 'Onest',system-ui,sans-serif;letter-spacing:.06em;white-space:nowrap;text-shadow:none;box-shadow:0 6px 20px rgba(26,140,255,.55),0 0 0 1px rgba(255,255,255,.35) inset;pointer-events:none;z-index:9;transform-origin:50% 100%;animation:w3jin .45s cubic-bezier(.2,1.6,.4,1) forwards,w3jbeat .7s ease-in-out .45s infinite}
.btn .fx-jmi{right:-10px;bottom:72%}
.btn .fx-spark{left:calc(100% - 14px);top:calc(100% - 5px)}
/* ярлык CLICK садится на конец линии, в пределах надписи */
.fx-jmi{transform-origin:100% 100%}
@keyframes w3jin{from{transform:scale(0) rotate(-20deg);opacity:0}to{transform:scale(1) rotate(-6deg);opacity:1}}
@keyframes w3jbeat{0%,100%{transform:scale(1) rotate(-6deg)}50%{transform:scale(1.15) rotate(4deg)}}
.fx-on.lv{animation:w3shk .14s infinite}
@keyframes w3shk{0%,100%{translate:0 0}25%{translate:1px -.6px}75%{translate:-1px .6px}}

/* лента фото под окном */
.stg-th{display:flex;gap:10px;margin-top:12px;overflow-x:auto;scrollbar-width:none;padding:2px 2px 4px}
.stg-th::-webkit-scrollbar{display:none}
.stg-th button{flex:0 0 auto;width:112px;height:78px;padding:0;border:0;border-radius:3px;overflow:hidden;cursor:zoom-in;background:#0f2d36;transition:transform .2s,box-shadow .2s}
.stg-th button:hover,.stg-th button:focus-visible{transform:translateY(-2px);box-shadow:0 0 0 2px #ff6a3d}
.stg-th button img{width:100%;height:100%;object-fit:cover;display:block}
.stg-foot{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:space-between;align-items:baseline;margin-top:8px}
.stg-hint{font-size:14px;color:#9cb9c2;margin:0}
.stg-line{font-size:14px;font-weight:600;color:#edf6f8;text-decoration:none;border-bottom:1.5px solid #ff6a3d;padding-bottom:1px;white-space:nowrap}
.stg :focus-visible{outline:3px solid #5cc8cc;outline-offset:2px}
/* лупа */
.stg-mag{position:fixed;z-index:60;pointer-events:none;opacity:0;transform:scale(.88);transform-origin:50% 100%;transition:opacity .18s,transform .18s;background:#0b2229;border-radius:4px;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.5);display:flex;flex-direction:column;width:max-content;left:0;top:0}
.stg-mag.on{opacity:1;transform:scale(1)}
.stg-mag img{display:block;width:auto;height:auto;max-width:min(360px,calc(100vw - 24px));max-height:46vh}
.stg-mag span{display:block;width:0;min-width:100%;box-sizing:border-box;padding:8px 12px 10px;font:500 12.5px/1.3 'Onest',system-ui,sans-serif;color:#fff}
@media (max-width:760px){.stg-scr{aspect-ratio:4/3.4;border-radius:4px}.stg-th button{width:96px;height:68px}.stg-ico{width:62px;height:62px;font-size:22px}.stg-hint{font-size:13px}}
@media (hover:none){.stg-hint{display:none}}
@media (prefers-reduced-motion:reduce){.stg-ico,.fx-jmi{animation:none}.stg-go img{transition:none}}
/* фото на весь экран (общий просмотр) */
.spot img{cursor:zoom-in}
.spot img:focus-visible{outline:3px solid #5cc8cc;outline-offset:-3px}
.zlb{position:fixed;inset:0;z-index:65;background:rgba(5,15,18,.94);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:max(12px,env(safe-area-inset-top,0px)) 12px max(12px,env(safe-area-inset-bottom,0px))}
.zlb[hidden]{display:none}
.zlb figure{margin:0;display:grid;gap:10px;justify-items:center;max-width:min(1400px,100%)}
.zlb img{max-width:100%;max-height:74vh;width:auto;height:auto;border-radius:4px;display:block}
.zlb figcaption{color:#edf6f8;font:500 14px/1.4 'Onest',system-ui,sans-serif;text-align:center}
.zlb-t{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;align-items:center}
.zlb-r{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.zlb-r:empty{display:none}
.zlb button{font:700 15px/1 'Onest',system-ui,sans-serif;border-radius:6px;padding:12px 16px;cursor:pointer;border:1px solid #1c3f4a;background:#0f2d36;color:#edf6f8}
.zlb .zlb-a{background:#ff6a3d;border-color:#ff6a3d;color:#fff}
.zlb .zlb-me{background:#edf6f8;border-color:#edf6f8;color:#0b2229}
.zlb-n{display:flex;gap:10px}
.zlb-n button{min-width:56px}

/* «было → стало»: место под полосу фото над дорогой */
:root{--phh:clamp(130px,16vw,240px)}
.phsp{height:var(--phh)}
