/* kuhniburgas.bg — self-contained enhancements: 3D embed + project photos + lightbox */

/* ---- 3D model-viewer embed ---- */
.mv3d{position:relative;margin:1.6rem 0;border-radius:14px;overflow:hidden;background:#0e0f11;border:1px solid rgba(0,0,0,.08)}
.mv3d-viewer{width:100%;height:min(58vh,460px);display:block;background:#0e0f11;--poster-color:transparent}
.mv3d-label{position:absolute;top:10px;left:12px;z-index:2;font-size:.68rem;letter-spacing:.07em;text-transform:uppercase;color:#fff;background:rgba(0,0,0,.5);padding:5px 11px;border-radius:999px;pointer-events:none}
.mv3d-ar{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);background:#fff;color:#111;border:0;padding:10px 20px;border-radius:999px;font:inherit;font-weight:600;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.mv3d-full{position:absolute;top:10px;right:12px;z-index:2;background:rgba(0,0,0,.5);color:#fff;border:0;width:34px;height:34px;border-radius:9px;cursor:pointer;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center}
.mv3d-full:hover{background:rgba(0,0,0,.7)}
.mv3d.is-full{position:fixed;inset:0;margin:0;z-index:9998;border-radius:0;border:0}
.mv3d.is-full .mv3d-viewer{height:100vh}
body.mv3d-noscroll{overflow:hidden}

/* ---- inserted project photos on service pages ---- */
.proj-shots{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:1.6rem 0}
.proj-shots img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;display:block;cursor:zoom-in}

/* ---- lightbox ---- */
.gallery img,.shot img,.proj-shots img{cursor:zoom-in}
.lb-overlay{position:fixed;inset:0;z-index:10000;background:rgba(9,10,12,.93);display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;transition:opacity .18s ease}
.lb-overlay.is-open{opacity:1}
.lb-overlay img{max-width:96vw;max-height:92vh;border-radius:8px;box-shadow:0 12px 44px rgba(0,0,0,.55)}
.lb-close{position:fixed;top:16px;right:20px;z-index:10001;background:rgba(255,255,255,.14);color:#fff;border:0;width:44px;height:44px;border-radius:50%;font-size:22px;line-height:1;cursor:pointer}
.lb-close:hover{background:rgba(255,255,255,.26)}

/* 3D loader (spinner instead of photo poster — no flash) */
.mv3d-loader{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#0e0f11;transition:opacity .45s ease;z-index:1}
.mv3d-loader.is-hidden{opacity:0;pointer-events:none}
.mv3d-spin{width:34px;height:34px;border-radius:50%;border:3px solid rgba(255,255,255,.2);border-top-color:#fff;animation:mv3dspin .8s linear infinite}
@keyframes mv3dspin{to{transform:rotate(360deg)}}
.mv3d-loader-txt{font-size:.82rem;color:rgba(255,255,255,.75)}
