/* ===== Лайтбокс: фото по центру экрана, с полями; подпись под фото, кнопка закрытия ===== */
#lightbox{padding:clamp(64px,9vh,96px) clamp(64px,8vw,120px) clamp(72px,11vh,110px);background:rgba(14,14,14,.96);overscroll-behavior:contain}
#lightbox img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 30px 80px rgba(0,0,0,.6)}
#lightbox .lb-cap{bottom:clamp(20px,4vh,40px);font-size:15px}
#lightbox .lb-c{position:absolute;top:clamp(14px,3vh,28px);right:clamp(14px,2vw,28px);width:48px;height:48px;border:0;background:rgba(255,255,255,.1);color:#fff;font-size:30px;line-height:1;cursor:pointer}
#lightbox .lb-c:hover{background:var(--red)}
body:has(#lightbox.on){overflow:hidden}
@media (max-width:700px){#lightbox{padding:64px 12px 84px}#lightbox .lb-n{width:44px;height:44px;font-size:28px;top:auto;bottom:18px;translate:0}#lightbox .lb-p{left:12px}#lightbox .lb-x{right:12px}}

/* mobile: calculator overflow + tap targets */
.calc-g>*,.calc-in,.calc-in label,.calc-o>*{min-width:0}
.calc-in select{width:100%;max-width:100%;box-sizing:border-box}
.seg{max-width:100%}
.seg button{min-width:0;padding-left:4px;padding-right:4px}
.calc-o b{white-space:normal;overflow-wrap:anywhere}
@media(max-width:640px){
 .cl-b{position:relative}
 .cl-b::after{content:"";position:absolute;inset:-8px}
 .led{position:relative}
 .led::after{content:"";position:absolute;inset:-14px -4px}
}

/* интро: фраза */
#pre .ptag{max-width:min(720px,90vw);text-align:center;font-weight:800;font-size:clamp(22px,3.6vw,40px);line-height:1.08;letter-spacing:-.03em;text-transform:uppercase;color:#fff;margin-top:6px}
#pre .ptag span{display:inline-block;opacity:0;transform:translateY(16px);animation:preTag .7s var(--ease) var(--d,.8s) forwards}
#pre .ptag span.r{color:var(--red)}
@keyframes preTag{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

/* плавающие элементы: компактнее и не мешают чтению */
.dock,.hud{transition:opacity .35s,transform .35s var(--ease,ease)}
body.chrome-off .dock,body.chrome-off .hud{opacity:0;transform:translateY(14px);pointer-events:none}
.dock .dk{height:36px;font-size:11px;padding:0 13px 0 10px}
.dock .dk[data-share] span{display:none}
.dock .dk[data-share]{padding:0 11px}
@media(max-width:1280px){.hud .lamps{display:none}}

/* Форма записи: почта и комментарий */
.form input[type=email]{width:100%;padding:15px 16px;border:0;border-bottom:3px solid var(--black);background:#fff;outline:none;font-weight:600;font-size:16px;border-radius:0;transition:border-color .2s,background .2s}
.form textarea{width:100%;padding:14px 16px;border:0;border-bottom:3px solid var(--black);background:#fff;outline:none;font-weight:600;font-size:16px;line-height:1.4;font-family:inherit;border-radius:0;resize:vertical;min-height:84px;transition:border-color .2s}
.form input[type=email]:focus,.form textarea:focus{border-bottom-color:var(--red)}
.form input[type=email].bad{border-bottom-color:var(--red);background:#fff3f3}
.form .opt{font-weight:600;text-transform:none;color:#777;font-size:12px;margin-left:6px}
@media (max-width:700px){body:not(.admin) .form input[type=email],body:not(.admin) .form textarea{font-size:16px;padding:17px 16px}}
