/* MOSKITIERY V1: wyłącznie elementy produktu wewnątrz oryginalnej sceny V50.
   Nie zmienia wyglądu strony, nagłówka, przycisków, kart ani koszyka plis. */
.mosquito-overlay{position:absolute!important;inset:0!important;z-index:5!important;overflow:hidden;--mos-frame:#f5f4ee;--mesh-open:100%;pointer-events:none}
.mos-mesh{position:absolute;inset:2.3%;z-index:1;background-image:repeating-linear-gradient(0deg,rgba(29,40,35,.25) 0 1px,transparent 1px 4px),repeating-linear-gradient(90deg,rgba(29,40,35,.23) 0 1px,transparent 1px 4px);background-size:4px 4px;opacity:.32;filter:contrast(1.02);box-shadow:inset 0 0 13px rgba(20,36,29,.1)}
.mos-profile{position:absolute;display:block;z-index:6;background:linear-gradient(90deg,rgba(255,255,255,.38),transparent 33%,rgba(0,0,0,.18) 100%),var(--mos-frame);border:1px solid rgba(12,21,17,.24);box-shadow:0 1px 4px rgba(9,20,15,.23),inset 0 0 1px rgba(255,255,255,.7)}
.mos-left{left:0;top:0;bottom:0;width:2.6%}.mos-right{right:0;top:0;bottom:0;width:2.6%}
.mos-top{left:0;right:0;top:0;height:2.2%}.mos-bottom{left:0;right:0;bottom:0;height:2.2%}
.mos-door-handle,.mos-door-hinge,.mos-cassette,.mos-rollbar,.mos-folds{display:none;position:absolute;z-index:7}
.mosquito-overlay[data-type="drzwiowa"] .mos-left,.mosquito-overlay[data-type="drzwiowa"] .mos-right{width:3.5%}
.mosquito-overlay[data-type="drzwiowa"] .mos-top,.mosquito-overlay[data-type="drzwiowa"] .mos-bottom{height:2.9%}
.mosquito-overlay[data-type="drzwiowa"] .mos-door-handle{display:block;right:3%;top:46%;height:13%;width:2.7%;background:linear-gradient(#b1b7b6,#3e494b);box-shadow:0 1px 4px #0005;border-radius:4px}
.mosquito-overlay[data-type="drzwiowa"] .mos-door-hinge{display:block;left:0;top:20%;width:4.7%;height:8%;background:linear-gradient(90deg,#bcc3c0,#68736f,#d4d8d5);box-shadow:0 1px 3px #0004}
.mosquito-overlay[data-type="drzwiowa"] .mos-door-hinge.b{top:auto;bottom:20%}
.mosquito-overlay[data-type="plisowana"] .mos-mesh{width:var(--mesh-open);right:auto;inset:2.3% auto 2.3% 2%;overflow:hidden}
.mosquito-overlay[data-type="plisowana"] .mos-folds{display:block;inset:2.3% auto 2.3% 2%;width:var(--mesh-open);background:repeating-linear-gradient(90deg,transparent 0,rgba(255,255,255,.26) 4px,rgba(18,35,25,.22) 8px,transparent 12px);box-shadow:inset -9px 0 11px #0002;opacity:.78}
.mosquito-overlay[data-type="plisowana"] .mos-right{right:auto;left:calc(var(--mesh-open) - 3%);min-width:7px;width:3%;box-shadow:2px 0 8px #0004}
.mosquito-overlay[data-type="plisowana"] .mos-top,.mosquito-overlay[data-type="plisowana"] .mos-bottom{height:1.8%}
.mosquito-overlay[data-type="rolowana"] .mos-cassette,.mosquito-overlay[data-type="dachowa"] .mos-cassette{display:block;left:0;right:0;top:0;height:6.5%;border:1px solid #1c2b2533;border-radius:2px 2px 5px 5px;background:linear-gradient(180deg,#ffffff65,transparent 30%,#0000002c),var(--mos-frame);box-shadow:0 3px 4px #0002}
.mosquito-overlay[data-type="rolowana"] .mos-mesh{bottom:auto;height:var(--mesh-open)}
.mosquito-overlay[data-type="rolowana"] .mos-rollbar{display:block;left:1%;right:1%;height:2.4%;top:calc(var(--mesh-open) - 1%);background:var(--mos-frame);box-shadow:0 2px 6px #0004}
.mosquito-overlay[data-type="rolowana"] .mos-top,.mosquito-overlay[data-type="dachowa"] .mos-top{display:none}
.mosquito-overlay[data-type="dachowa"] .mos-bottom{height:5.2%}
.mosquito-overlay[data-type="dachowa"] .mos-left,.mosquito-overlay[data-type="dachowa"] .mos-right{width:3%}
.window-scene.mos-back .mosquito-overlay{transform:scaleX(-1)}
.window-scene.mos-back .mos-mesh{opacity:.43}
.window-scene.mos-close .scene-window{opacity:0!important}
.window-scene .mos-close-view{display:none;position:absolute;inset:13% 10%;z-index:15;align-items:center;justify-content:center;flex-direction:column;gap:6px;background:rgba(255,255,255,.92);border-radius:15px;box-shadow:0 8px 25px #0003;padding:13px}
.window-scene.mos-close .mos-close-view{display:flex}
.mos-close-view img{display:block;width:100%;height:85%;object-fit:contain}
.mos-close-view span{font-size:12px;font-weight:800;color:#1c493b}
.mos-type-options{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.mos-type-options .lux-option-image{height:clamp(125px,14vw,185px)!important;background:linear-gradient(180deg,#f9faf8,#edf2ed)!important;display:flex;align-items:center;justify-content:center}
.mos-type-drawing{position:relative;display:block;width:43%;height:87%;max-width:110px;border:7px solid #566158;outline:2px solid #303d35;box-shadow:7px 9px 13px #11281922, inset 0 0 12px #11332033;background:linear-gradient(145deg,#c1d5c5,#e5efe2)}
.mos-type-mesh{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 2px,#203a3033 2px 3px),repeating-linear-gradient(0deg,transparent 0 2px,#203a3033 2px 3px);background-size:3px 3px;opacity:.75}
.mos-type-accent{position:absolute;top:45%;right:-7px;height:19%;width:6px;border-radius:3px;background:#9aa8a0;box-shadow:0 0 3px #0005}
.mos-card-pleat{border-color:#9a8e7c;width:58%;max-width:135px}.mos-card-pleat .mos-type-mesh{background:repeating-linear-gradient(90deg,#809b87aa 0 2px,#c3cbbb 4px 6px,#6b856e99 9px 12px);opacity:.73}
.mos-card-roll::before{content:"";position:absolute;left:-9px;right:-9px;top:-13px;height:16px;background:#5e6c60;border-radius:5px}
.mos-card-roof{transform:perspective(240px) rotateX(13deg) rotate(-8deg)}
.mos-card-door{height:94%;width:36%}.mos-card-door::after{content:"";position:absolute;right:0;left:0;top:48%;height:3px;background:#657a6c}
.mos-color-placeholder{width:100%;height:100%;background:#fff;display:flex;align-items:center;justify-content:center}
.mos-swatch-profile{display:block;width:77%;height:48%;border:1px solid #a6a9a2;border-radius:6px;background:linear-gradient(177deg,#fff6,transparent 30%,#0004),var(--profile-hex);box-shadow:0 4px 8px #0002,inset 0 0 0 4px #fff3}
.mos-dimensions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:12px 0 10px}
.mos-dimensions label,.mos-qty>label{display:grid;gap:9px;color:#335b49;font-size:12px;font-weight:750}
.mos-dimensions input,.mos-qty input{max-width:100%;min-width:0;min-height:51px;border:1px solid #d7e5d9;border-radius:10px;padding:8px 12px;font-weight:700;font-size:17px;background:#fff;color:#183e31}
.mos-measure-hint{font-size:11px;color:#597365;line-height:1.6;margin:6px 0 19px}
.mos-qty{padding:16px 0;border-top:1px solid #e6ede5;display:flex;align-items:center;justify-content:space-between;gap:15px}
.mos-qty-box{display:flex;align-items:center;gap:5px}.mos-qty-box input{width:66px;text-align:center;padding:8px}
.mos-qty-box button{background:#eef6ef;border:1px solid #d8e6db;border-radius:10px;height:48px;width:46px;font-weight:850;font-size:19px;color:#1b5c47}
.mos-inline-quote{color:#1b5944;font-weight:750;line-height:1.5;font-size:13px;padding:11px 14px;background:#f1f8f2;border-radius:10px;min-height:40px}
.lux-pick img{object-fit:contain!important;background:white}
@media(max-width:450px){.mos-dimensions{gap:9px}.mos-dimensions input{font-size:15px;padding:8px}.mos-type-options .lux-option-image{height:116px!important}}
@media print{.site-header,.lux-helpbar,.hero-heading,.columns,.lux-final-action-row,.lux-footer-v135,.lux-checkout-steps,.lux-v32-example{display:none!important}#finalBox{display:block!important;border:0!important;box-shadow:none!important}}

/* Oryginalna podpowiedź do przesuwania listew plisy nie dotyczy moskitier. */
.window-scene[data-scene-version="17"] .lux-drag-hint{display:none!important}

/* ==============================================================
   V2 – osobne fotograficzne sceny dla pięciu mechanizmów.
   Nie dotyka kart, logo, nagłówka, kolorystyki ani układu kreatora.
   Ramkowa pozostaje bez jakichkolwiek zmian (oryginalne V1).
   Wspólne tło drzwi balkonowych dla drzwiowej i rolowanej, ale
   dwie odrębne warstwy mechanizmu: zawiasy / kaseta roll-up.
   ============================================================== */
.window-scene[data-scene-version="17"][data-mos-scene="drzwiowa"]{
  background-image:url("visual-mos-v2/drzwiowa.webp")!important;
}
.window-scene[data-scene-version="17"][data-mos-scene="plisowana"]{
  background-image:url("visual-mos-v2/plisowana.webp")!important;
}
.window-scene[data-scene-version="17"][data-mos-scene="rolowana"]{
  background-image:url("visual-mos-v2/rolowana.webp")!important;
}
.window-scene[data-scene-version="17"][data-mos-scene="dachowa"]{
  background-image:url("visual-mos-v2/dachowa.webp")!important;
}
/* In V1 the static window aperture was matched to the small fixed window.
   Each of these new photographs needs its own correctly positioned work area. */
.window-scene[data-scene-version="17"][data-mos-scene="drzwiowa"] .scene-window{
  left:7.0%!important;top:7.5%!important;width:49.5%!important;height:84.0%!important;
}
.window-scene[data-scene-version="17"][data-mos-scene="plisowana"] .scene-window{
  left:10.8%!important;top:10.2%!important;width:80.0%!important;height:80.2%!important;
}
.window-scene[data-scene-version="17"][data-mos-scene="rolowana"] .scene-window{
  left:7.0%!important;top:7.5%!important;width:84.0%!important;height:84.0%!important;
}
/* Roof: screen on the adjacent WALL plane, not in the sash. The independent
   perspective-correct wall installation replaces the 2D rectangle. */
.window-scene[data-scene-version="17"][data-mos-scene="dachowa"] .scene-window{display:none!important}
.mos-roof-wall{display:none;position:absolute;inset:0;width:100%;height:100%;z-index:8;pointer-events:none}
.window-scene[data-mos-scene="dachowa"] .mos-roof-wall{display:block}
.mos-roof-profile{fill:var(--mos-frame);stroke:rgba(18,26,24,.58);stroke-width:2;stroke-linejoin:round}
.mos-roof-cassette{fill:var(--mos-frame);stroke:rgba(19,28,25,.5);stroke-width:2;stroke-linejoin:round}
.mos-roof-bottom{stroke-width:1.5}
.window-scene.mos-close .mos-roof-wall{display:none}
/* Hinged balcony screen: a narrow, properly proportioned hinged leaf,
   full height with handle and a middle reinforcement crossbar. */
.mosquito-overlay[data-type="drzwiowa"]:after{
  content:"";position:absolute;left:0;right:0;top:55%;height:1.5%;z-index:8;
  background:linear-gradient(#ffffff4d,transparent 35%,#0003),var(--mos-frame);
  box-shadow:0 1px 3px #0005;border-block:1px solid #161d1a34;
}
.mosquito-overlay[data-type="drzwiowa"] .mos-door-handle{right:3%;top:48%;height:9%;width:5%}
.mosquito-overlay[data-type="drzwiowa"] .mos-door-hinge{width:7%;height:5%;top:17%}
.mosquito-overlay[data-type="drzwiowa"] .mos-door-hinge.b{bottom:17%}
/* Allow roll-down preview for roof, same principle as regular roller screen. */
.window-scene[data-mos-scene="rolowana"] .mosquito-overlay .mos-mesh{inset:7% 2.3% auto 2.3%;height:calc(var(--mesh-open) * .91)}
.window-scene[data-mos-scene="rolowana"] .mosquito-overlay .mos-rollbar{top:calc(7% + var(--mesh-open) * .91 - 1%)}
/* In the balcony window the cassette is fixed to the top of the reveal,
   not mistaken for a second PVC window sash. */
.window-scene[data-mos-scene="rolowana"] .mosquito-overlay .mos-cassette{height:7.3%;z-index:9}

/* The layout of the 5 product tiles is unchanged; only the V1 schematic
   drawings inside the photo slots are replaced by real photographic views. */
.mos-type-options .lux-option-image .mos-type-photo{
  display:block;width:100%;height:100%;object-fit:cover;object-position:center;
  border-radius:7px;filter:none;
}

/* ==============================================================
   V3 PHOTO-CONSISTENCY FIX: retain initial V1 visual layout, remove
   V2's oversized duplicated polygon profile, rough black grid and
   floating aluminium rectangle. Photographs carry realistic product.
   ============================================================== */
.window-scene[data-mos-scene="dachowa"] .mos-roof-wall{display:none!important}
.window-scene[data-mos-scene="dachowa"] .scene-window{display:none!important}
.window-scene[data-mos-scene="drzwiowa"] .scene-window,
.window-scene[data-mos-scene="plisowana"] .scene-window,
.window-scene[data-mos-scene="rolowana"] .scene-window{opacity:0!important;pointer-events:none!important}
.window-scene[data-mos-scene="drzwiowa"] .mosquito-overlay,
.window-scene[data-mos-scene="plisowana"] .mosquito-overlay,
.window-scene[data-mos-scene="rolowana"] .mosquito-overlay{opacity:0!important}
/* Distinguish photographed selectable net colours on fixed V1 preview. */
.mosquito-overlay[data-mesh="czarna"] .mos-mesh{opacity:.48;filter:contrast(1.2)}
/* The first window's scene and its current user-selected profile colours remain untouched. */
/* Step content uses existing options, frames and typography; only interior descriptions differ. */
.mos-text-option{min-height:92px!important;text-align:left!important;display:flex!important;align-items:center!important;padding:14px 16px!important;position:relative}
.mos-text-option-body{display:grid;gap:6px;padding-right:12px;text-align:left}
.mos-text-option-body strong{color:#173e32;font-size:15px;line-height:1.3}
.mos-text-option-body small{font-size:12px;color:#627b6c;line-height:1.5}
.mos-special-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.mos-special-options.mos-mesh-choice .mos-text-option{min-height:135px!important}
.mos-static-info{display:flex;gap:14px;padding:22px;border:1px solid #d6e6d8;border-radius:14px;background:#f7faf7;margin:18px 0}
.mos-info-icon{flex:0 0 35px;height:35px;display:grid;place-items:center;background:#1c5843;border-radius:50%;color:white;font-weight:900}
.mos-static-info>div{display:grid;gap:7px}.mos-static-info strong{font-size:15px;color:#173e32}.mos-static-info small{color:#627668;font-size:12px}
.mos-guidance{margin:18px 0 8px;padding:14px 16px;background:#f8f5ed;border-left:3px solid #bb8b45;border-radius:0 9px 9px 0;color:#5d675c;font-size:12px;line-height:1.6}
.mos-custom-height{padding:18px 0}.mos-custom-height[hidden]{display:none}.mos-custom-height label{display:grid;gap:9px;font-size:12px;font-weight:700;color:#345b48}.mos-custom-height input{width:180px;height:51px;border:1px solid #d4e4d9;border-radius:10px;padding:8px 12px;font-weight:700}
.progress-labels{display:flex;flex-wrap:wrap;gap:6px!important}
.progress-labels span{font-size:10px}
@media(max-width:650px){.mos-special-options{grid-template-columns:1fr}.mos-text-option{min-height:75px!important}}
/* V3: Pre-rendered photographic scenes don't support fake animation.
   Hide the old V1 partial-opening tool rather than expose an inert slider. */
#luxPreciseControls{display:none!important}
