.configurator-shell.v32{--v32-neon:#ff4fd8;--v32-board:rgba(255,255,255,.06)}
.configurator-shell.v32 [hidden]{display:none!important}
.configurator-shell.v32 .neon-render-canvas,.configurator-shell.v32 .backboard-render-canvas{display:none!important}
.configurator-shell.v32 .sign-measure-wrap{isolation:isolate}
.configurator-shell.v32 .backboard-contour-canvas{position:absolute;inset:10% 7% 14%;width:86%;height:76%;z-index:2;pointer-events:none;filter:drop-shadow(0 7px 10px rgba(0,0,0,.24));overflow:visible}
.configurator-shell.v32 .v32-vector-stage{position:absolute;inset:10% 8% 14%;z-index:5;display:grid;place-items:center;pointer-events:none}
.configurator-shell.v32 .v32-vector-preview{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 0 5px color-mix(in srgb,var(--v32-neon) 80%,transparent)) drop-shadow(0 0 16px color-mix(in srgb,var(--v32-neon) 50%,transparent))}
.configurator-shell.v32 .v32-raster-preview{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;transition:opacity .2s ease,filter .2s ease}
.configurator-shell.v32 .v32-dynamic-preview{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 0 5px rgba(255,255,255,.72)) drop-shadow(0 0 14px rgba(94,185,255,.56)) drop-shadow(0 0 30px rgba(255,64,188,.25));transition:opacity .2s ease,filter .2s ease}
.configurator-shell.v32.is-full-color .v32-outline-text{animation:v32-rainbow-pulse 1.8s linear infinite}
@keyframes v32-rainbow-pulse{0%{filter:hue-rotate(0deg) drop-shadow(0 0 5px var(--v32-neon)) drop-shadow(0 0 15px var(--v32-neon))}100%{filter:hue-rotate(360deg) drop-shadow(0 0 5px var(--v32-neon)) drop-shadow(0 0 15px var(--v32-neon))}}
@media(prefers-reduced-motion:reduce){.configurator-shell.v32.is-full-color .v32-outline-text{animation:none}}
.configurator-shell.v32 .v32-vector-preview path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.configurator-shell.v32 .v32-outline-text{position:absolute;inset:10% 7% 14%;z-index:5;display:flex;align-items:center;justify-content:center;text-align:center;white-space:pre;line-height:1.08;font-size:clamp(64px,7.8vw,132px);color:transparent;-webkit-text-fill-color:transparent;-webkit-text-stroke:2px var(--v32-neon);paint-order:stroke;filter:drop-shadow(0 0 5px var(--v32-neon)) drop-shadow(0 0 15px color-mix(in srgb,var(--v32-neon) 55%,transparent));pointer-events:none;overflow:visible;padding:3%}
.configurator-shell.v32 .v32-outline-text[data-empty="1"]{opacity:.24;-webkit-text-stroke-color:#8390a4;filter:none}
.configurator-shell.v32 .v32-outline-text.quick-single{opacity:1;color:var(--v32-neon);-webkit-text-fill-color:var(--v32-neon);-webkit-text-stroke:0 transparent;filter:drop-shadow(0 0 3px var(--v32-neon)) drop-shadow(0 0 10px var(--v32-neon)) drop-shadow(0 0 22px color-mix(in srgb,var(--v32-neon) 52%,transparent))}
.configurator-shell.v32 .backboard-preview{z-index:2;display:flex!important;align-items:center;justify-content:center;text-align:center;white-space:pre;line-height:1.08;transition:all .22s ease;opacity:1!important;background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(80,220,245,.025));border:1px solid rgba(200,225,235,.25);pointer-events:none}
.configurator-shell.v32 .backboard-preview[data-style="rectangle"]{inset:12% 3% 16%;border-radius:16px}
.configurator-shell.v32 .backboard-preview[data-style="square"]{inset:auto;left:50%;top:48%;width:min(68%,430px);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:18px}
.configurator-shell.v32 .backboard-preview[data-style="circle"]{inset:auto;left:50%;top:48%;width:min(67%,420px);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%}
.configurator-shell.v32 .backboard-preview[data-style="contour"]{display:none!important}
.configurator-shell.v32 .backboard-preview[data-style="contour"][data-colour="frosted"]{color:rgba(8,10,13,.82);-webkit-text-fill-color:rgba(8,10,13,.82);-webkit-text-stroke:25px rgba(2,3,5,.84);filter:drop-shadow(0 4px 4px rgba(0,0,0,.38))}
.configurator-shell.v32 .backboard-preview[data-colour="frosted"]{background:linear-gradient(145deg,rgba(7,9,12,.94),rgba(26,29,34,.88))!important;border-color:rgba(255,255,255,.13)!important;box-shadow:inset 0 0 24px rgba(255,255,255,.035),0 8px 30px rgba(0,0,0,.35)}
.configurator-shell.v32 .backboard-preview[data-colour="black"]{background:#000!important;opacity:1!important}
.configurator-shell.v32 .backboard-preview[data-colour="composite"]{background:linear-gradient(135deg,#20252c,#080b0f)!important;border-color:#7b8795!important;opacity:.9!important}
.configurator-shell.v32 .backboard-preview[data-colour="pvc"]{background:#eef2f2e8!important;border-color:#fff!important;opacity:.86!important}
.configurator-shell.v32 .backboard-material-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.configurator-shell.v32 .backboard-material-grid .board-colour{min-height:104px}.configurator-shell.v32 .backboard-material-grid .board-colour span,.configurator-shell.v32 .backboard-material-grid .board-colour small{display:block}.configurator-shell.v32 .backboard-material-grid .board-colour small{color:#7f8996;font-size:10px;margin-top:2px}.configurator-shell.v32 .board-colour i.composite{background:linear-gradient(135deg,#454d59,#0c1016)}.configurator-shell.v32 .board-colour i.pvc{background:#f4f7f7}.configurator-shell.v32 .three-segment-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.configurator-shell.v32 .wire-choice-row{display:grid;grid-template-columns:140px 1fr;gap:14px;align-items:center}.configurator-shell.v32 .wire-choice-row label{position:relative}.configurator-shell.v32 .wire-choice-row input{width:100%;height:48px;border:1px solid #303641;background:#0a0d12;color:#fff;border-radius:13px;padding:0 14px 0 45px;font:inherit;text-align:center;direction:ltr}.configurator-shell.v32 .wire-choice-row label span{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#7f8996;font-size:11px}.configurator-shell.v32 .wire-choice-row small{color:#87909b;line-height:1.8}
.configurator-shell.v32 .font-filter-tabs{overflow-x:auto;padding:2px 1px 8px;scrollbar-width:thin;flex-wrap:nowrap}
.configurator-shell.v32 .font-filter-tabs button{flex:0 0 auto}
.configurator-shell.v32 .font-card-grid.curated-fonts{grid-template-columns:repeat(3,minmax(0,1fr));max-height:510px;overflow:auto;padding:5px 6px 10px;scrollbar-width:thin;gap:10px}
.configurator-shell.v32 .font-card{min-height:112px;padding:16px 9px 11px;position:relative;background:linear-gradient(145deg,#0c1016,#090c11);border-color:#29313c;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.configurator-shell.v32 .font-card:hover{border-color:#647487;background:#101721;transform:translateY(-2px)}
.configurator-shell.v32 .font-card.active{border-color:#42e9fb;background:radial-gradient(circle at 50% 35%,rgba(52,242,255,.12),transparent 60%),#0c141b;box-shadow:0 0 0 2px rgba(52,242,255,.08),0 10px 28px rgba(0,0,0,.28)}
.configurator-shell.v32 .font-card-sample{font-size:31px;line-height:1.25;min-height:52px;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#f9fbff;text-shadow:0 0 1px rgba(255,255,255,.45);transition:color .18s,text-shadow .18s}
.configurator-shell.v32 .font-card.active .font-card-sample{color:#fff;text-shadow:0 0 5px rgba(52,242,255,.8),0 0 15px rgba(52,242,255,.38)}
.configurator-shell.v32 .font-card small{display:block;margin-top:5px;color:#7f8997;letter-spacing:.01em}
.configurator-shell.v32 .font-card-image-sample img{display:block;width:100%;height:42px;object-fit:contain;filter:brightness(1.1)}
.configurator-shell.v32 .font-card[data-monoline="1"]{background:linear-gradient(145deg,rgba(52,242,255,.08),rgba(255,255,255,.018));border-color:rgba(52,242,255,.23)}
.configurator-shell.v32 .font-card[data-monoline="1"]:after{content:'REAL 1-LINE';position:absolute;top:6px;left:7px;font-size:8px;letter-spacing:.05em;color:#65f7a8;background:rgba(101,247,168,.08);border:1px solid rgba(101,247,168,.2);border-radius:999px;padding:1px 5px}
.configurator-shell.v32 .font-card.incompatible{display:none!important}
.configurator-shell.v32 .font-card.filtered-out{display:none!important}
.configurator-shell.v32 .style-choice[disabled]{opacity:.45;cursor:not-allowed}
.configurator-shell.v32 .style-choice.active:after{content:'فعال';position:absolute;top:9px;right:10px;padding:2px 8px;border-radius:999px;background:#34f2ff;color:#031014;font-size:10px;font-weight:900;box-shadow:0 0 14px rgba(52,242,255,.35)}
.configurator-shell.v32 .style-choice{position:relative}
.configurator-shell.v32 .v32-font-count{display:inline-flex;align-items:center;gap:5px;color:#8f9bad;font-size:11px;margin-top:7px}
.configurator-shell.v32 .v32-font-count b{color:#fff}
.configurator-shell.v32 .v32-style-note{margin:10px 0 0;padding:9px 11px;border:1px solid rgba(52,242,255,.15);border-radius:11px;background:rgba(52,242,255,.04);font-size:11px;color:#aeb9c8}
.configurator-shell.v32 .v32-style-note strong{color:#fff}
.configurator-shell.v32 .v32-inline-warning{margin-top:10px;padding:10px 12px;border-radius:11px;background:rgba(255,194,68,.08);border:1px solid rgba(255,194,68,.22);color:#ffd77a;font-size:12px}
.configurator-shell.v32 .v32-inline-warning[hidden]{display:none}
.configurator-shell.v32 .stage-status-row .status-pill.warn{color:#ffd77a;border-color:rgba(255,194,68,.28);background:rgba(255,194,68,.08)}
.configurator-shell.v32 .stage-status-row .status-pill.error{color:#ff8e8e;border-color:rgba(255,107,107,.3);background:rgba(255,107,107,.08)}
.configurator-shell.v32 .live-price-top strong.is-pending,.configurator-shell.v32 [data-live-price-secondary].is-pending{font-size:13px;color:#aeb6c4}
.configurator-shell.v32 .premium-studio{height:720px;min-height:620px;background:linear-gradient(180deg,#17191d 0 72%,#0b0d10 72% 100%);border:1px solid #2b2d31;box-shadow:0 34px 90px rgba(0,0,0,.52),inset 0 1px 0 rgba(255,255,255,.04);overflow:hidden}
.configurator-shell.v32 .premium-studio .studio-wall-texture{inset:0 0 28% 0;opacity:1;background:radial-gradient(circle at 18% 24%,rgba(255,52,199,.14),transparent 24%),radial-gradient(circle at 82% 18%,rgba(40,224,255,.16),transparent 25%),radial-gradient(ellipse at 50% 12%,rgba(255,220,174,.10),transparent 37%),linear-gradient(90deg,transparent 0 14%,rgba(255,255,255,.035) 14.2%,transparent 14.5% 49.7%,rgba(255,255,255,.025) 50%,transparent 50.3% 85.5%,rgba(255,255,255,.035) 85.8%,transparent 86%),linear-gradient(180deg,#20232a,#11151c)}
.configurator-shell.v32 .premium-studio .studio-wall-texture:before,.configurator-shell.v32 .premium-studio .studio-wall-texture:after{content:"";position:absolute;top:0;width:2px;height:100%;background:linear-gradient(transparent,rgba(218,188,148,.22),transparent);box-shadow:0 0 34px rgba(255,207,146,.17)}
.configurator-shell.v32 .premium-studio .studio-wall-texture:before{left:14%}.configurator-shell.v32 .premium-studio .studio-wall-texture:after{right:14%}
.configurator-shell.v32 .premium-studio .studio-floor{height:28%;background:linear-gradient(165deg,#17191d,#08090b 70%);border-top:1px solid rgba(236,202,158,.12)}
.configurator-shell.v32 .premium-studio .studio-floor:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(100deg,transparent 0 95px,rgba(255,255,255,.018) 96px,transparent 98px);opacity:.8}
.configurator-shell.v32 .premium-studio .studio-console{width:48%;height:96px;left:26%;bottom:60px;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,#644a39,#38291f);box-shadow:0 30px 45px rgba(0,0,0,.55),inset 0 1px rgba(255,224,190,.14)}
.configurator-shell.v32 .premium-studio .studio-console:before{left:7%;right:7%;top:18px;height:1px;background:rgba(255,225,195,.15);box-shadow:0 34px rgba(0,0,0,.2)}
.configurator-shell.v32 .premium-studio .studio-console i{width:9px;height:60px;bottom:-56px;background:#211811;box-shadow:0 8px 12px #0008}
.configurator-shell.v32 .premium-studio .studio-ambient{opacity:.18;filter:blur(85px)}
.configurator-shell.v32 .premium-studio .ambient-a{background:#ffb066;left:-2%;top:4%}.configurator-shell.v32 .premium-studio .ambient-b{background:#39aef4;right:-4%;top:20%;opacity:.1}
.configurator-shell.v32 .room-light.premium-studio{background:linear-gradient(180deg,#ded8cf 0 72%,#a6978a 72%);border-color:#d8d0c5}
.configurator-shell.v32 .room-light.premium-studio .studio-wall-texture{background:radial-gradient(ellipse at 50% 7%,rgba(255,255,255,.8),transparent 44%),linear-gradient(90deg,transparent 14%,rgba(117,91,70,.11) 14.2%,transparent 14.5% 85.5%,rgba(117,91,70,.11) 85.8%,transparent 86%),linear-gradient(#eee9e2,#d4cbc0)}
.configurator-shell.v32 .room-light.premium-studio .studio-floor{background:linear-gradient(160deg,#baaa9b,#8e7d70)}
.configurator-shell.v32 .room-glass.premium-studio{background:linear-gradient(155deg,#1b2931,#526b74 48%,#122028);border-color:#58707a}
.configurator-shell.v32 .room-glass.premium-studio .studio-wall-texture{background:linear-gradient(112deg,rgba(255,255,255,.16),transparent 28%,rgba(120,213,242,.08) 29%,transparent 65%),linear-gradient(90deg,transparent 49.8%,rgba(255,255,255,.13) 50%,transparent 50.2%),radial-gradient(circle at 70% 20%,rgba(113,210,241,.2),transparent 30%)}
.configurator-shell.v32 .room-mockup[data-room="light"] .v32-outline-text{filter:drop-shadow(0 0 4px var(--v32-neon)) drop-shadow(0 0 11px color-mix(in srgb,var(--v32-neon) 45%,transparent))}
.configurator-shell.v32 .room-mockup[data-room="glass"] .v32-outline-text{filter:drop-shadow(0 0 4px var(--v32-neon)) drop-shadow(0 0 18px color-mix(in srgb,var(--v32-neon) 65%,transparent))}
.configurator-shell.v32 .premium-swatch.full-color i{background:conic-gradient(#ff334d,#ffb52e,#f5ff62,#4cff63,#32e3e8,#2f72ff,#8a52ff,#ff4fd8,#ff334d);box-shadow:0 0 15px rgba(107,210,255,.65)}
.configurator-shell.v32 .premium-swatch.full-color span{color:#fff;font-weight:800}
.configurator-shell.v32 .size-input-row{display:grid;grid-template-columns:1fr 112px;gap:14px;align-items:center}
.configurator-shell.v32 .size-input-row label{position:relative}
.configurator-shell.v32 .size-input-row label input{width:100%;height:44px;border:1px solid #303641;background:#090c11;color:#fff;border-radius:12px;padding:0 38px 0 10px;text-align:center;font:inherit;direction:ltr}
.configurator-shell.v32 .size-input-row label span{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#778291;font-size:10px}
.configurator-shell.v32 .suggested-size-row{margin-top:12px;padding:11px;border:1px solid rgba(52,242,255,.15);background:rgba(52,242,255,.035);border-radius:13px}
.configurator-shell.v32 .suggested-size-row>small{display:block;color:#8d99a9;margin-bottom:7px}
.configurator-shell.v32 .suggested-size-row>div{display:flex;flex-wrap:wrap;gap:7px}
.configurator-shell.v32 .suggested-size-row button{border:1px solid rgba(52,242,255,.28);background:#0b141a;color:#8cefff;border-radius:999px;padding:6px 12px;cursor:pointer}
.configurator-shell.v32 .configurator-checkout-bar{box-shadow:0 -18px 45px rgba(0,0,0,.22)}
@media(max-width:1100px){.configurator-shell.v32 .font-card-grid.curated-fonts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.configurator-shell.v32 .font-card-grid.curated-fonts{grid-template-columns:repeat(2,minmax(0,1fr));max-height:410px}.configurator-shell.v32 .font-card{min-height:98px}.configurator-shell.v32 .font-card-sample{font-size:25px;min-height:45px}.configurator-shell.v32 .v32-outline-text{font-size:clamp(46px,14vw,86px)}.configurator-shell.v32 .premium-studio{height:540px;min-height:500px}.configurator-shell.v32 .premium-studio .studio-console{width:62%;left:19%;bottom:50px}.configurator-shell.v32 .backboard-material-grid,.configurator-shell.v32 .three-segment-cards{grid-template-columns:1fr 1fr}.configurator-shell.v32 .wire-choice-row{grid-template-columns:1fr}.configurator-shell.v32 .size-input-row{grid-template-columns:1fr 92px}}
.configurator-shell.v32 .backboard-preview[data-style="contour"][data-colour]{background:transparent!important;border:0!important;box-shadow:none}
.configurator-shell.v32 .backboard-preview[data-style="contour"][data-colour="black"],.configurator-shell.v32 .backboard-preview[data-style="contour"][data-colour="frosted"],.configurator-shell.v32 .backboard-preview[data-style="contour"][data-colour="composite"]{color:rgba(7,9,12,.9);-webkit-text-fill-color:rgba(7,9,12,.9);-webkit-text-stroke-color:rgba(4,5,7,.92);filter:drop-shadow(0 4px 4px rgba(0,0,0,.4))}.configurator-shell.v32 .backboard-preview[data-style="contour"][data-colour="pvc"]{color:rgba(238,242,244,.92);-webkit-text-fill-color:rgba(238,242,244,.92);-webkit-text-stroke-color:rgba(238,242,244,.92)}

/* V53 — photographic studio and persistent compact mobile preview */
.configurator-shell.v32 .room-dark.premium-studio{background:#0a0c10}.configurator-shell.v32 .room-dark.premium-studio .studio-wall-texture{inset:0;background-image:linear-gradient(rgba(2,5,9,.06),rgba(2,5,9,.12)),url("../images/studio/neon-room-wall-v1.5cbc3c3cbdda.webp");background-size:cover;background-position:center center;opacity:1}
.configurator-shell.v32 .room-dark.premium-studio .studio-wall-texture:before,.configurator-shell.v32 .room-dark.premium-studio .studio-wall-texture:after{display:none}.configurator-shell.v32 .room-dark.premium-studio .studio-floor,.configurator-shell.v32 .room-dark.premium-studio .studio-console,.configurator-shell.v32 .room-dark.premium-studio .studio-ambient{opacity:0;pointer-events:none}
@media(max-width:700px){.configurator-shell.v32 .configurator-stage-column{position:sticky!important;top:64px!important;z-index:30;padding:7px 0 9px;background:linear-gradient(180deg,#080b11 92%,transparent);box-shadow:0 14px 28px rgba(0,0,0,.28)}.configurator-shell.v32 .premium-toolbar{margin:0 4px 6px}.configurator-shell.v32 .premium-toolbar .live-price-top span{display:none}.configurator-shell.v32 .premium-toolbar .live-price-top strong{font-size:15px}.configurator-shell.v32 .premium-studio{height:235px!important;min-height:235px!important;border-radius:17px}.configurator-shell.v32 .sign-measure-wrap{left:10%;right:12%;top:9%;bottom:18%}.configurator-shell.v32 .premium-room-presets,.configurator-shell.v32 .stage-status-row{display:none}.configurator-shell.v32 .v32-outline-text{font-size:clamp(34px,11vw,62px)}}

/* V55 — physical preview frame and mobile-safe centering */
.configurator-shell.v32 .sign-measure-wrap{
  left:8%;right:8%;top:15%;height:48%;
  overflow:hidden;border:1px solid rgba(126,223,236,.38);
  border-radius:20px;background:rgba(2,5,9,.28);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),0 14px 34px rgba(0,0,0,.22)
}
.configurator-shell.v32 .v32-vector-stage{inset:7% 6% 8%;overflow:hidden}
.configurator-shell.v32 .v32-raster-preview,
.configurator-shell.v32 .v32-dynamic-preview,
.configurator-shell.v32 .v32-vector-preview{
  width:100%;height:100%;max-width:100%;max-height:100%;
  object-fit:contain;object-position:center 56%;overflow:hidden
}
.configurator-shell.v32.is-not-executable .sign-measure-wrap{
  border-color:rgba(255,107,107,.72);
  box-shadow:inset 0 0 0 1px rgba(255,107,107,.12),0 0 26px rgba(255,80,100,.09)
}
@media(max-width:700px){
  .configurator-shell.v32 .configurator-stage-column{position:relative!important;top:auto!important;z-index:2}
  .configurator-shell.v32 .premium-studio{height:330px!important;min-height:330px!important}
  .configurator-shell.v32 .sign-measure-wrap{left:5%;right:5%;top:12%;height:60%;border-radius:15px}
  .configurator-shell.v32 .v32-vector-stage{inset:6%}
  .configurator-shell.v32 .stage-status-row{display:flex;flex-direction:column;align-items:stretch;padding:8px 2px}
  .configurator-shell.v32 .dimension-summary{text-align:center}
}

/* V56 — restore original room and add real bedroom/storefront preview photos */
.configurator-shell.v32 .room-mockup.premium-studio{
  background-size:cover!important;
  background-position:center!important;
}
.configurator-shell.v32 .room-light.premium-studio{
  background:linear-gradient(180deg,#ded8cf 0 72%,#a6978a 72%)!important;
  border-color:#d8d0c5!important;
}
.configurator-shell.v32 .room-light.premium-studio .studio-wall-texture{
  inset:0 0 28% 0!important;
  background:
    radial-gradient(ellipse at 50% 7%,rgba(255,255,255,.82),transparent 44%),
    linear-gradient(90deg,transparent 14%,rgba(117,91,70,.11) 14.2%,transparent 14.5% 85.5%,rgba(117,91,70,.11) 85.8%,transparent 86%),
    linear-gradient(#eee9e2,#d4cbc0)!important;
  opacity:1!important;
}
.configurator-shell.v32 .room-light.premium-studio .studio-floor{
  opacity:1!important;
  background:linear-gradient(160deg,#baaa9b,#8e7d70)!important;
}
.configurator-shell.v32 .room-light.premium-studio .studio-console,
.configurator-shell.v32 .room-light.premium-studio .studio-ambient{
  opacity:1!important;
  pointer-events:auto!important;
}
.configurator-shell.v32 .room-dark.premium-studio{
  background-image:
    linear-gradient(180deg,rgba(3,5,10,.08),rgba(3,5,10,.26)),
    url("../images/studio/text-room-bedroom.3a9fdc7e1bd4.webp")!important;
  background-size:cover!important;
  background-position:center center!important;
  border-color:rgba(108,235,255,.22)!important;
}
.configurator-shell.v32 .room-glass.premium-studio{
  background-image:
    linear-gradient(180deg,rgba(4,7,12,.04),rgba(4,7,12,.22)),
    url("../images/studio/text-room-storefront-glass.220a1d39ed3c.webp")!important;
  background-size:cover!important;
  background-position:center center!important;
  border-color:rgba(126,231,255,.28)!important;
}
.configurator-shell.v32 .room-dark.premium-studio .studio-wall-texture,
.configurator-shell.v32 .room-glass.premium-studio .studio-wall-texture{
  inset:0!important;
  background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.18))!important;
  opacity:1!important;
}
.configurator-shell.v32 .room-dark.premium-studio .studio-wall-texture:before,
.configurator-shell.v32 .room-dark.premium-studio .studio-wall-texture:after,
.configurator-shell.v32 .room-glass.premium-studio .studio-wall-texture:before,
.configurator-shell.v32 .room-glass.premium-studio .studio-wall-texture:after{
  display:none!important;
}
.configurator-shell.v32 .room-dark.premium-studio .studio-floor,
.configurator-shell.v32 .room-dark.premium-studio .studio-console,
.configurator-shell.v32 .room-dark.premium-studio .studio-ambient,
.configurator-shell.v32 .room-glass.premium-studio .studio-floor,
.configurator-shell.v32 .room-glass.premium-studio .studio-console,
.configurator-shell.v32 .room-glass.premium-studio .studio-ambient{
  opacity:0!important;
  pointer-events:none!important;
}
.configurator-shell.v32 .sign-measure-wrap{
  background:rgba(2,5,9,.10)!important;
  backdrop-filter:blur(.6px);
}
.configurator-shell.v32 .room-light.premium-studio .sign-measure-wrap{
  background:rgba(255,255,255,.08)!important;
}
.configurator-shell.v32 .room-dark.premium-studio .sign-measure-wrap{
  left:19%;right:19%;top:12%;height:34%;
}
.configurator-shell.v32 .room-glass.premium-studio .sign-measure-wrap{
  left:21%;right:21%;top:18%;height:43%;
}
.configurator-shell.v32 .thumb-light{
  background:linear-gradient(#eee9e2 62%,#a6978a 62%)!important;
}
.configurator-shell.v32 .thumb-dark{
  background-image:url("../images/studio/text-room-bedroom.3a9fdc7e1bd4.webp")!important;
  background-size:cover!important;
  background-position:center!important;
}
.configurator-shell.v32 .thumb-glass{
  background-image:url("../images/studio/text-room-storefront-glass.220a1d39ed3c.webp")!important;
  background-size:cover!important;
  background-position:center!important;
}
@media(max-width:700px){
  .configurator-shell.v32 .room-dark.premium-studio .sign-measure-wrap,
  .configurator-shell.v32 .room-glass.premium-studio .sign-measure-wrap{
    left:7%;right:7%;top:10%;height:58%;
  }
}

/* V57 — real living room preset and normal page scrolling */
.configurator-shell.v32 .configurator-stage-column{
  position:relative!important;
  top:auto!important;
  z-index:2!important;
}
.configurator-shell.v32 .room-light.premium-studio{
  background-image:
    linear-gradient(180deg,rgba(3,5,10,.05),rgba(3,5,10,.24)),
    url("../images/studio/neon-room-wall-v1.5cbc3c3cbdda.webp")!important;
  background-size:cover!important;
  background-position:center center!important;
  border-color:rgba(126,231,255,.22)!important;
}
.configurator-shell.v32 .room-light.premium-studio .studio-wall-texture{
  inset:0!important;
  background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.16))!important;
  opacity:1!important;
}
.configurator-shell.v32 .room-light.premium-studio .studio-wall-texture:before,
.configurator-shell.v32 .room-light.premium-studio .studio-wall-texture:after{
  display:none!important;
}
.configurator-shell.v32 .room-light.premium-studio .studio-floor,
.configurator-shell.v32 .room-light.premium-studio .studio-console,
.configurator-shell.v32 .room-light.premium-studio .studio-ambient{
  opacity:0!important;
  pointer-events:none!important;
}
.configurator-shell.v32 .room-light.premium-studio .sign-measure-wrap{
  left:18%;
  right:18%;
  top:13%;
  height:38%;
  background:rgba(2,5,9,.08)!important;
}
.configurator-shell.v32 .thumb-light{
  background-image:url("../images/studio/neon-room-wall-v1.5cbc3c3cbdda.webp")!important;
  background-size:cover!important;
  background-position:center!important;
}
@media(max-width:700px){
  .configurator-shell.v32 .room-light.premium-studio .sign-measure-wrap{
    left:7%;right:7%;top:10%;height:58%;
  }
}

/* V58 — keep the live preview in view while editing on desktop */
@media(min-width:701px){
  .configurator-shell.v32 .configurator-stage-column{
    position:sticky!important;
    top:82px!important;
    align-self:start;
    z-index:12!important;
  }
}

/* V59 — proportional backboard frames and cleaner studio base */
.configurator-shell.v32 .backboard-preview[data-style="rectangle"]{
  inset:auto!important;
  left:50%!important;
  top:50%!important;
  width:var(--board-fit-w,min(72%,520px))!important;
  height:var(--board-fit-h,min(36%,230px))!important;
  transform:translate(-50%,-50%)!important;
  border-radius:16px!important;
}
.configurator-shell.v32 .backboard-preview[data-style="square"]{
  width:min(var(--board-fit-square,360px),78%)!important;
  max-height:78%!important;
}
.configurator-shell.v32 .backboard-preview[data-style="circle"]{
  width:min(var(--board-fit-circle,380px),80%)!important;
  max-height:80%!important;
}
.configurator-shell.v32 .room-mockup.premium-studio{
  background-color:#070a10!important;
}
.configurator-shell.v32 .room-mockup.premium-studio:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:22%;
  background:linear-gradient(180deg,rgba(5,7,10,0),rgba(5,7,10,.72) 48%,rgba(5,7,10,.92));
  pointer-events:none;
  z-index:1;
}
.configurator-shell.v32 .sign-measure-wrap,
.configurator-shell.v32 .mockup-presets{
  z-index:3;
}

/* V60 — AI text-from-font reference card */
.configurator-shell.v32 .ai-font-inline-panel{
  margin:10px 0 12px;
  border:1px solid rgba(52,242,255,.18);
  border-radius:18px;
  background:
    radial-gradient(circle at 12% 0,rgba(52,242,255,.10),transparent 34%),
    radial-gradient(circle at 90% 0,rgba(255,79,216,.10),transparent 38%),
  rgba(5,10,17,.72);
  overflow:hidden;
}
.configurator-shell.v32 .ai-font-inline-panel[hidden]{display:none!important}
.configurator-shell.v32 .ai-font-inline-panel>summary{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:12px;
  cursor:pointer;
  list-style:none;
}
.configurator-shell.v32 .ai-font-inline-panel>summary::-webkit-details-marker{display:none}
.configurator-shell.v32 .ai-font-inline-panel>summary strong{
  display:block;
  color:#f7fdff;
  font-size:.94rem;
}
.configurator-shell.v32 .ai-font-inline-panel>summary small{
  display:block;
  margin-top:2px;
  color:#94a7b5;
  line-height:1.75;
  font-size:.75rem;
}
.configurator-shell.v32 .ai-font-inline-panel>summary em{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(255,211,106,.12);
  color:#ffe28a;
  font-style:normal;
  font-size:.78rem;
  font-weight:900;
  white-space:nowrap;
  box-shadow:inset 0 0 0 1px rgba(255,211,106,.22);
}
.configurator-shell.v32 .ai-inline-badge{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:14px;
  background:linear-gradient(135deg,#34f2ff,#ff6bd6);
  color:#061017;
  font-weight:1000;
  box-shadow:0 0 18px rgba(52,242,255,.26),0 0 18px rgba(255,79,216,.16);
}
.configurator-shell.v32 .ai-font-inline-panel>.ai-font-body{
  padding:12px;
}
.configurator-shell.v32 .ai-font-copy strong{
  display:flex;
  align-items:center;
  gap:10px;
}
.configurator-shell.v32 .ai-coin-icon{
  color:#ffe06a;
  margin-left:4px;
  text-shadow:0 0 10px rgba(255,211,106,.55);
}
.configurator-shell.v32 .ai-font-step{
  border-color:rgba(255,79,216,.28)!important;
  background:
    radial-gradient(circle at 12% 18%,rgba(255,79,216,.12),transparent 36%),
    radial-gradient(circle at 88% 18%,rgba(52,242,255,.12),transparent 34%),
    rgba(6,10,17,.72)!important;
}
.configurator-shell.v32 .ai-font-body{
  display:grid;
  gap:16px;
}
.configurator-shell.v32 .ai-font-copy{
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  padding:14px 16px;
  background:rgba(255,255,255,.035);
}
.configurator-shell.v32 .ai-font-copy strong{color:#fff;font-size:1rem}
.configurator-shell.v32 .ai-font-copy p{margin:6px 0 0;color:#b8c5d7;line-height:1.9}
.configurator-shell.v32 .ai-font-grid{
  display:grid;
  grid-template-columns:1.15fr 1fr .75fr;
  gap:12px;
}
.configurator-shell.v32 .ai-font-grid label{
  display:grid;
  gap:7px;
  color:#dce7f7;
  font-size:.88rem;
}
.configurator-shell.v32 .ai-font-grid input,
.configurator-shell.v32 .ai-font-grid select{
  min-height:46px;
  border:1px solid rgba(103,216,255,.24);
  border-radius:14px;
  background:rgba(2,7,14,.78);
  color:#fff;
  padding:0 13px;
}
.configurator-shell.v32 .ai-font-grid input[type=file]{
  padding:10px;
  direction:ltr;
}
.configurator-shell.v32 .ai-font-action-row{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.configurator-shell.v32 .ai-font-submit{
  box-shadow:0 0 22px rgba(255,79,216,.18),0 0 18px rgba(52,242,255,.14);
}
.configurator-shell.v32 .ai-font-status{
  color:#b9eefe;
  border:1px solid rgba(52,242,255,.22);
  border-radius:14px;
  padding:10px 12px;
  background:rgba(52,242,255,.06);
}
.configurator-shell.v32 .ai-font-status.is-error{
  color:#ffd5dc;
  border-color:rgba(255,51,79,.35);
  background:rgba(255,51,79,.08);
}
.configurator-shell.v32 .ai-font-loading{
  display:flex;
  align-items:center;
  gap:10px;
  color:#e8f8ff;
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  padding:12px 14px;
  background:rgba(255,255,255,.04);
}
.configurator-shell.v32 .ai-font-loading[hidden]{display:none!important}
.configurator-shell.v32 .ai-font-loading i{
  width:18px;
  height:18px;
  border-radius:50%;
  border:2px solid rgba(52,242,255,.25);
  border-top-color:#34f2ff;
  animation:aiFontSpin .85s linear infinite;
}
@keyframes aiFontSpin{to{transform:rotate(360deg)}}
.configurator-shell.v32 .ai-font-result{
  display:grid;
  grid-template-columns:150px 1fr;
  gap:14px;
  align-items:center;
  padding:12px;
  border-radius:18px;
  border:1px solid rgba(52,242,255,.22);
  background:linear-gradient(135deg,rgba(52,242,255,.07),rgba(255,79,216,.06));
}
.configurator-shell.v32 .ai-font-result[hidden]{display:none!important}
.configurator-shell.v32 .ai-font-result img{
  width:150px;
  aspect-ratio:1;
  object-fit:contain;
  border-radius:14px;
  background:#02050a;
  border:1px solid rgba(255,255,255,.08);
}
.configurator-shell.v32 .ai-font-result strong{color:#fff;font-size:1.02rem}
.configurator-shell.v32 .ai-font-result p{margin:5px 0 12px;color:#b8c5d7}
@media(max-width:760px){
  .configurator-shell.v32 .ai-font-inline-panel>summary{
    grid-template-columns:auto minmax(0,1fr);
  }
  .configurator-shell.v32 .ai-font-inline-panel>summary em{
    grid-column:1/3;
    justify-self:start;
  }
  .configurator-shell.v32 .ai-font-grid{grid-template-columns:1fr}
  .configurator-shell.v32 .ai-font-result{grid-template-columns:1fr}
  .configurator-shell.v32 .ai-font-result img{width:100%;max-height:260px}
}


/* V65 — safe text inputs + per-sign multi pricing */
.configurator-shell.v32 [data-single-text-panel],
.configurator-shell.v32 .multi-text-composer,
.configurator-shell.v32 .multi-text-inputs,
.configurator-shell.v32 .config-step .step-body{
  min-width:0;
  max-width:100%;
}
.configurator-shell.v32 #config-text{
  display:block;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  resize:vertical;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.configurator-shell.v32 .multi-text-inputs input{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.configurator-shell.v32 .multi-price-breakdown{
  margin-top:14px;
  padding:14px;
  border:1px solid rgba(52,242,255,.18);
  border-radius:16px;
  background:rgba(4,12,18,.62);
}
.configurator-shell.v32 .multi-price-breakdown-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:10px;
}
.configurator-shell.v32 .multi-price-breakdown-head strong{display:block;color:#fff}
.configurator-shell.v32 .multi-price-breakdown-head small{display:block;margin-top:3px;color:#8fa5b3}
.configurator-shell.v32 .multi-price-breakdown-head>span{color:#7cf4ff;font-weight:900;white-space:nowrap}
.configurator-shell.v32 .multi-price-items{display:grid;gap:10px}
.configurator-shell.v32 .multi-price-item{
  border:1px solid rgba(255,255,255,.09);
  border-radius:14px;
  padding:12px;
  background:rgba(255,255,255,.025);
}
.configurator-shell.v32 .multi-price-item.not-ready{border-color:rgba(255,183,77,.28)}
.configurator-shell.v32 .multi-price-item-title{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-bottom:9px;
}
.configurator-shell.v32 .multi-price-item-title span{
  color:#7cf4ff;
  font-size:.78rem;
  font-weight:900;
}
.configurator-shell.v32 .multi-price-item-title strong{
  color:#fff;
  font-size:.95rem;
  overflow-wrap:anywhere;
}
.configurator-shell.v32 .multi-price-item-main{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.configurator-shell.v32 .multi-price-item-main>div,
.configurator-shell.v32 .multi-price-admin-row>span{
  padding:9px 10px;
  border-radius:11px;
  background:rgba(255,255,255,.035);
}
.configurator-shell.v32 .multi-price-item-main small,
.configurator-shell.v32 .multi-price-admin-row small{
  display:block;
  color:#8193a2;
  font-size:.7rem;
  margin-bottom:3px;
}
.configurator-shell.v32 .multi-price-item-main b{color:#f5fbff}
.configurator-shell.v32 .multi-price-admin-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:8px;
  padding-top:8px;
  border-top:1px dashed rgba(255,211,106,.18);
}
.configurator-shell.v32 .multi-price-admin-row b{color:#ffe083;font-size:.82rem}
.configurator-shell.v32 .multi-price-admin-total{
  margin-top:10px;
  padding:10px 12px;
  border-radius:12px;
  color:#ffe083;
  background:rgba(255,211,106,.07);
  border:1px solid rgba(255,211,106,.18);
  font-weight:900;
}
@media(max-width:700px){
  .configurator-shell.v32 .multi-price-breakdown-head{display:block}
  .configurator-shell.v32 .multi-price-breakdown-head>span{display:block;margin-top:7px;white-space:normal}
  .configurator-shell.v32 .multi-price-item-title{align-items:flex-start;flex-direction:column;gap:3px}
  .configurator-shell.v32 .multi-price-item-main,
  .configurator-shell.v32 .multi-price-admin-row{grid-template-columns:1fr}
}


/* V66 — customer screenshot panel + private admin panel */
.configurator-shell.v32 .multi-customer-panel{
  padding:14px;
  border-radius:16px;
  border:1px solid rgba(52,242,255,.28);
  background:linear-gradient(180deg,rgba(8,19,27,.96),rgba(5,13,19,.96));
  box-shadow:0 12px 28px rgba(0,0,0,.22);
}
.configurator-shell.v32 .multi-customer-panel .multi-price-breakdown-head{
  padding-bottom:10px;
  border-bottom:1px solid rgba(52,242,255,.12);
}
.configurator-shell.v32 .multi-customer-panel .multi-price-item{
  background:#0d141c;
  border-color:rgba(255,255,255,.10);
}
.configurator-shell.v32 .multi-customer-panel .multi-price-item-main b{
  font-size:1rem;
}
.configurator-shell.v32 .multi-admin-panel{
  margin-top:14px;
  padding:14px;
  border-radius:16px;
  border:1px solid rgba(255,211,106,.30);
  background:linear-gradient(180deg,rgba(28,24,10,.34),rgba(15,13,7,.24));
}
.configurator-shell.v32 .multi-admin-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.configurator-shell.v32 .multi-admin-panel-head strong{
  display:block;
  color:#ffe083;
}
.configurator-shell.v32 .multi-admin-panel-head small{
  display:block;
  margin-top:3px;
  color:#ab9b68;
}
.configurator-shell.v32 .multi-admin-panel-head>span{
  color:#ffe083;
  font-weight:900;
  white-space:nowrap;
}
.configurator-shell.v32 .multi-admin-items{
  display:grid;
  gap:10px;
}
.configurator-shell.v32 .multi-admin-item{
  padding:12px;
  border-radius:14px;
  border:1px solid rgba(255,211,106,.14);
  background:rgba(255,211,106,.035);
}
.configurator-shell.v32 .multi-admin-item .multi-price-item-title span,
.configurator-shell.v32 .multi-admin-item .multi-price-item-title strong{
  color:#ffe083;
}
.configurator-shell.v32 .multi-admin-item .multi-price-admin-row{
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top-color:rgba(255,211,106,.15);
}
@media(max-width:700px){
  .configurator-shell.v32 .multi-admin-panel-head{display:block}
  .configurator-shell.v32 .multi-admin-panel-head>span{display:block;margin-top:7px;white-space:normal}
  .configurator-shell.v32 .multi-admin-item .multi-price-admin-row{grid-template-columns:1fr 1fr}
}


/* V67 — two explicit sizing modes for multi-sign text */
.configurator-shell.v32 .multi-size-mode{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:14px;
}
.configurator-shell.v32 .multi-size-mode button{
  min-height:72px;
  padding:11px 13px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  background:rgba(255,255,255,.025);
  color:#eaf6fb;
  cursor:pointer;
  text-align:right;
}
.configurator-shell.v32 .multi-size-mode button strong,
.configurator-shell.v32 .multi-size-mode button small{display:block}
.configurator-shell.v32 .multi-size-mode button small{
  margin-top:4px;
  color:#8297a4;
  line-height:1.6;
  font-size:.73rem;
}
.configurator-shell.v32 .multi-size-mode button.active{
  border-color:#34f2ff;
  background:rgba(52,242,255,.09);
  box-shadow:0 0 0 1px rgba(52,242,255,.10),0 0 20px rgba(52,242,255,.06);
}
.configurator-shell.v32 .multi-size-mode button.active strong{color:#76f6ff}
.configurator-shell.v32 .per-item-size-panel{
  padding:13px;
  border:1px solid rgba(52,242,255,.18);
  border-radius:16px;
  background:rgba(5,14,20,.58);
}
.configurator-shell.v32 .per-item-size-head{
  margin-bottom:10px;
}
.configurator-shell.v32 .per-item-size-head strong,
.configurator-shell.v32 .per-item-size-head small{display:block}
.configurator-shell.v32 .per-item-size-head strong{color:#f7fcff}
.configurator-shell.v32 .per-item-size-head small{margin-top:3px;color:#8397a5}
.configurator-shell.v32 .per-item-size-grid{display:grid;gap:9px}
.configurator-shell.v32 .per-item-size-row{
  display:grid;
  grid-template-columns:minmax(130px,1fr) minmax(110px,.72fr) minmax(110px,.72fr);
  gap:9px;
  align-items:end;
  padding:10px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:13px;
  background:rgba(255,255,255,.025);
}
.configurator-shell.v32 .per-item-size-title span,
.configurator-shell.v32 .per-item-size-title b{display:block}
.configurator-shell.v32 .per-item-size-title span{color:#6eefff;font-size:.72rem;font-weight:900}
.configurator-shell.v32 .per-item-size-title b{margin-top:3px;color:#fff;overflow-wrap:anywhere}
.configurator-shell.v32 .per-item-size-row label{
  position:relative;
  display:grid;
  gap:4px;
}
.configurator-shell.v32 .per-item-size-row label>span{color:#899dab;font-size:.7rem}
.configurator-shell.v32 .per-item-size-row input{
  width:100%;
  min-width:0;
  height:42px;
  box-sizing:border-box;
  padding:0 10px 0 34px;
  border:1px solid #2d3944;
  border-radius:10px;
  background:#080d12;
  color:#fff;
  direction:ltr;
  text-align:center;
  font:inherit;
}
.configurator-shell.v32 .per-item-size-row label i{
  position:absolute;
  left:9px;
  bottom:13px;
  color:#718491;
  font-size:.64rem;
  font-style:normal;
}
@media(max-width:700px){
  .configurator-shell.v32 .multi-size-mode{grid-template-columns:1fr}
  .configurator-shell.v32 .per-item-size-row{grid-template-columns:1fr 1fr}
  .configurator-shell.v32 .per-item-size-title{grid-column:1/-1}
}


/* V68 — customer installation photo with numbered draggable text markers */
.configurator-shell.v32 .room-custom.premium-studio{
  background:#030609!important;
  border-color:rgba(52,242,255,.28)!important;
}
.configurator-shell.v32 .room-custom.premium-studio .studio-wall-texture,
.configurator-shell.v32 .room-custom.premium-studio .studio-floor,
.configurator-shell.v32 .room-custom.premium-studio .studio-console,
.configurator-shell.v32 .room-custom.premium-studio .studio-ambient{
  opacity:0!important;
  pointer-events:none!important;
}
.configurator-shell.v32 .custom-installation-stage{
  position:absolute;
  inset:0;
  z-index:12;
  overflow:hidden;
  border-radius:inherit;
  background:#020407;
}
.configurator-shell.v32 .custom-installation-stage>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  pointer-events:none;
  user-select:none;
}
.configurator-shell.v32 .custom-installation-marker-layer{
  position:absolute;
  z-index:4;
  touch-action:none;
  cursor:crosshair;
}
.configurator-shell.v32 .installation-marker-group{
  position:absolute;
  z-index:5;
  transform:translate(-50%,-50%);
  cursor:grab;
  touch-action:none;
  user-select:none;
}
.configurator-shell.v32 .installation-marker-group:active{cursor:grabbing}
.configurator-shell.v32 .installation-marker-pin{
  position:absolute;
  left:50%;
  bottom:calc(100% + 8px);
  transform:translateX(-50%);
  width:28px;
  height:28px;
  padding:0;
  border:2px solid rgba(255,255,255,.94);
  border-radius:50%;
  background:#18cfe0;
  color:#031014;
  box-shadow:0 4px 14px rgba(0,0,0,.45),0 0 14px rgba(52,242,255,.55);
  font:900 13px/1 sans-serif;
  cursor:grab;
}
.configurator-shell.v32 .installation-marker-text{
  --marker-neon:#34f2ff;
  display:block;
  min-width:max-content;
  max-width:min(360px,48vw);
  padding:4px 8px;
  border-radius:8px;
  color:var(--marker-neon);
  font-size:clamp(22px,3vw,48px);
  font-weight:700;
  line-height:1.1;
  text-align:center;
  white-space:nowrap;
  text-shadow:
    0 0 3px rgba(255,255,255,.88),
    0 0 8px var(--marker-neon),
    0 0 20px var(--marker-neon);
  transition:opacity .18s ease,filter .18s ease;
  pointer-events:none;
}
.configurator-shell.v32 .installation-marker-text[data-style="double"]{
  color:transparent;
  -webkit-text-stroke:1.4px var(--marker-neon);
}
.configurator-shell.v32 .installation-marker-text.is-off{
  color:#e2e6eb;
  -webkit-text-stroke-color:#e2e6eb;
  text-shadow:none;
  opacity:.72;
}
.configurator-shell.v32 .custom-installation-empty{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  color:#dffbff;
  text-align:center;
  pointer-events:none;
}
.configurator-shell.v32 .custom-installation-empty strong{font-size:1rem}
.configurator-shell.v32 .custom-installation-empty span{font-size:.78rem;color:#8ca1ae}
.configurator-shell.v32 .custom-installation-tip{
  position:absolute;
  z-index:8;
  top:10px;
  left:50%;
  transform:translateX(-50%);
  max-width:calc(100% - 24px);
  padding:7px 11px;
  border:1px solid rgba(52,242,255,.22);
  border-radius:999px;
  background:rgba(2,8,12,.82);
  color:#d9faff;
  font-size:.72rem;
  text-align:center;
  backdrop-filter:blur(8px);
  pointer-events:none;
}
.configurator-shell.v32 .custom-installation-tip b{color:#69f2ff}
.configurator-shell.v32 .custom-room-thumb .thumb-custom{
  position:relative;
  display:block;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 42%,rgba(52,242,255,.16),transparent 36%),
    linear-gradient(145deg,#17242c,#070c11)!important;
}
.configurator-shell.v32 .custom-room-thumb .thumb-custom:before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:22px;
  height:15px;
  transform:translate(-50%,-45%);
  border:2px solid #77f2ff;
  border-radius:4px;
}
.configurator-shell.v32 .custom-room-thumb .thumb-custom:after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:6px;
  height:6px;
  transform:translate(-50%,-45%);
  border:2px solid #77f2ff;
  border-radius:50%;
}
.configurator-shell.v32 .custom-installation-controls{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:8px;
  padding:8px 10px;
  border:1px solid rgba(52,242,255,.13);
  border-radius:12px;
  background:rgba(3,10,15,.78);
}
.configurator-shell.v32 .custom-installation-controls button{
  border:1px solid rgba(52,242,255,.20);
  border-radius:9px;
  padding:7px 10px;
  background:rgba(52,242,255,.06);
  color:#dffcff;
  font:inherit;
  font-size:.72rem;
  cursor:pointer;
}
.configurator-shell.v32 .custom-installation-controls span{
  margin-inline-start:auto;
  color:#94aab7;
  font-size:.72rem;
}
.configurator-shell.v32 .premium-room-presets{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
@media(max-width:700px){
  .configurator-shell.v32 .premium-room-presets{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(88px,1fr));
    gap:6px;
    overflow-x:auto;
    padding-bottom:4px;
  }
  .configurator-shell.v32 .premium-room-presets .mockup-thumb{
    min-width:88px;
    font-size:.67rem;
  }
  .configurator-shell.v32 .custom-installation-controls{
    flex-wrap:wrap;
  }
  .configurator-shell.v32 .custom-installation-controls span{
    flex:1 0 100%;
    margin:0;
    text-align:center;
  }
  .configurator-shell.v32 .installation-marker-text{
    max-width:55vw;
    font-size:clamp(18px,7vw,34px);
  }
  .configurator-shell.v32 .custom-installation-tip{
    top:7px;
    border-radius:10px;
    font-size:.65rem;
  }
}


/* V69 — real raster neon on custom photo + safe navigation/scale controls */
.configurator-shell.v32.is-custom-installation .configurator-stage-column{
  position:sticky!important;
  top:76px!important;
  align-self:flex-start!important;
  z-index:30!important;
}
.configurator-shell.v32 .room-custom.premium-studio{
  height:min(68vh,640px)!important;
  min-height:420px!important;
  max-height:640px!important;
}
.configurator-shell.v32 .custom-installation-exit{
  position:absolute;
  z-index:15;
  top:10px;
  right:10px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  padding:7px 11px;
  background:rgba(2,8,12,.82);
  color:#fff;
  font:inherit;
  font-size:.72rem;
  cursor:pointer;
  backdrop-filter:blur(8px);
}
.configurator-shell.v32 .installation-marker-group{
  min-width:90px;
  max-width:72%;
}
.configurator-shell.v32 .installation-marker-render{
  width:100%;
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
}
.configurator-shell.v32 .installation-marker-render img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  filter:
    drop-shadow(0 0 3px rgba(255,255,255,.72))
    drop-shadow(0 0 8px rgba(52,242,255,.40));
  pointer-events:none;
  user-select:none;
}
.configurator-shell.v32 .installation-marker-render>span{
  display:block;
  padding:5px 8px;
  border-radius:8px;
  background:rgba(3,8,12,.72);
  color:#b9d0da;
  font-size:.68rem;
  white-space:nowrap;
}
.configurator-shell.v32 .installation-marker-size-controls{
  position:absolute;
  left:50%;
  top:calc(100% + 7px);
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:4px;
  padding:3px 5px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(2,7,11,.86);
  box-shadow:0 5px 14px rgba(0,0,0,.32);
  white-space:nowrap;
}
.configurator-shell.v32 .installation-marker-size-controls button{
  width:25px;
  height:25px;
  padding:0;
  display:grid;
  place-items:center;
  border:0;
  border-radius:50%;
  background:rgba(52,242,255,.12);
  color:#80f7ff;
  font:900 16px/1 sans-serif;
  cursor:pointer;
}
.configurator-shell.v32 .installation-marker-size-controls em{
  min-width:36px;
  color:#d9edf3;
  font-size:.62rem;
  font-style:normal;
  text-align:center;
}
.configurator-shell.v32 .custom-scene-switches{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.configurator-shell.v32 .custom-scene-switches button{
  border-color:rgba(255,255,255,.14);
}
.configurator-shell.v32 .custom-scene-switches button.active{
  border-color:#34f2ff;
  color:#77f4ff;
  background:rgba(52,242,255,.10);
}
.configurator-shell.v32 .room-custom .installation-marker-text{
  display:none!important;
}
@media(max-width:700px){
  .configurator-shell.v32.is-custom-installation .configurator-stage-column{
    position:sticky!important;
    top:64px!important;
    align-self:flex-start!important;
    z-index:40!important;
  }
  .configurator-shell.v32 .room-custom.premium-studio{
    height:min(48vh,430px)!important;
    min-height:300px!important;
  }
  .configurator-shell.v32 .custom-installation-exit{
    top:7px;
    right:7px;
    padding:6px 9px;
  }
  .configurator-shell.v32 .installation-marker-group{
    min-width:70px;
  }
  .configurator-shell.v32 .installation-marker-size-controls{
    top:calc(100% + 5px);
  }
}


/* V70 — use the selected live font on customer installation photos */
.configurator-shell.v32 .installation-marker-group{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
}
.configurator-shell.v32 .installation-marker-font-preview{
  --marker-neon:var(--v32-neon,#34f2ff);
  display:inline-block;
  position:relative;
  color:transparent;
  -webkit-text-fill-color:transparent;
  -webkit-text-stroke:2px var(--marker-neon);
  paint-order:stroke;
  white-space:pre;
  line-height:1.08;
  font-size:clamp(30px,4vw,58px);
  text-align:center;
  filter:
    drop-shadow(0 0 4px var(--marker-neon))
    drop-shadow(0 0 12px color-mix(in srgb,var(--marker-neon) 60%,transparent));
  transform:scale(var(--marker-scale,1));
  transform-origin:center center;
  transition:transform .12s ease,opacity .18s ease,filter .18s ease;
  pointer-events:none;
}
.configurator-shell.v32 .installation-marker-font-preview.quick-single{
  color:var(--marker-neon)!important;
  -webkit-text-fill-color:var(--marker-neon)!important;
  -webkit-text-stroke:0 transparent!important;
  filter:
    drop-shadow(0 0 3px var(--marker-neon))
    drop-shadow(0 0 9px var(--marker-neon))
    drop-shadow(0 0 20px color-mix(in srgb,var(--marker-neon) 48%,transparent));
}
.configurator-shell.v32 .installation-marker-font-preview.is-off{
  color:#d7dce5!important;
  -webkit-text-fill-color:transparent!important;
  -webkit-text-stroke-color:#d7dce5!important;
  filter:none!important;
  opacity:.55;
}
.configurator-shell.v32 .installation-marker-font-preview.quick-single.is-off{
  color:#d7dce5!important;
  -webkit-text-fill-color:#d7dce5!important;
  -webkit-text-stroke:0 transparent!important;
}
.configurator-shell.v32 .installation-marker-size-controls{
  z-index:9;
  pointer-events:auto;
}
.configurator-shell.v32 .installation-marker-size-controls button{
  pointer-events:auto;
  touch-action:manipulation;
}
@media(max-width:700px){
  .configurator-shell.v32 .installation-marker-font-preview{
    font-size:clamp(24px,7vw,44px);
  }
}


/* V85 — clean multi-phrase preview: each phrase gets its own cell.
   Server line-art remains pricing/metrage-only and never replaces this layer. */
.configurator-shell.v32 .multi-clean-live-preview{
  position:absolute;
  inset:5% 4% 6%;
  z-index:6;
  display:grid;
  gap:clamp(18px,3.2vw,42px);
  align-items:center;
  justify-items:center;
  pointer-events:none;
  overflow:visible;
  padding:3%;
}
.configurator-shell.v32 .multi-clean-live-preview.layout-two_one{
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(0,1fr));
}
.configurator-shell.v32 .multi-clean-live-preview.layout-two_one .multi-clean-live-cell:nth-child(3),
.configurator-shell.v32 .multi-clean-live-preview.layout-two_one .multi-clean-live-cell:nth-child(4){
  grid-column:1/-1;
}
.configurator-shell.v32 .multi-clean-live-preview.layout-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(0,1fr));
}
.configurator-shell.v32 .multi-clean-live-preview.layout-stack{
  grid-template-columns:1fr;
  grid-auto-rows:minmax(0,1fr);
}
.configurator-shell.v32 .multi-clean-live-preview.layout-row{
  grid-template-columns:repeat(var(--multi-count,1),minmax(0,1fr));
  grid-template-rows:1fr;
}
.configurator-shell.v32 .multi-clean-live-preview.layout-row .multi-clean-live-cell:only-child{
  grid-column:1/-1;
}
.configurator-shell.v32 .multi-clean-live-cell{
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
  padding:8px 12px;
}
.configurator-shell.v32 .multi-clean-live-text{
  display:inline-block;
  width:max-content;
  max-width:none;
  white-space:nowrap;
  line-height:1.04;
  text-align:center;
  transform-origin:center;
  font-synthesis:none;
  unicode-bidi:plaintext;
}
.configurator-shell.v32 .multi-clean-live-text.is-full-color{
  animation:v32-multi-rainbow 4.5s linear infinite;
}
@keyframes v32-multi-rainbow{
  from{background-position:0% 50%}
  to{background-position:220% 50%}
}
.configurator-shell.v32.is-multi-composition .sign-measure-wrap{
  left:4%;
  right:4%;
  top:8%;
  height:64%;
}
.configurator-shell.v32.is-multi-composition .backboard-preview[data-style="rectangle"]{
  inset:3% 2% 4%;
}
.configurator-shell.v32.is-multi-composition .v32-outline-text,
.configurator-shell.v32.is-multi-composition .v32-vector-stage{
  display:none!important;
}
@media(max-width:700px){
  .configurator-shell.v32.is-multi-composition .sign-measure-wrap{
    left:4%;
    right:4%;
    top:5%;
    bottom:auto;
    height:72%;
  }
  .configurator-shell.v32 .multi-clean-live-preview{
    inset:3%;
    gap:12px;
    padding:2%;
  }
  .configurator-shell.v32 .multi-clean-live-cell{
    padding:4px 6px;
  }
}
@media(prefers-reduced-motion:reduce){
  .configurator-shell.v32 .multi-clean-live-text.is-full-color{animation:none}
}


/* V74 — customer-facing price + sign info above text preview */
.configurator-shell.v32 .live-price-top strong:not(.is-pending),
.configurator-shell.v32 [data-live-price-secondary]:not(.is-pending){
  color:#48df88!important;
  text-shadow:0 0 18px rgba(72,223,136,.12);
}
.configurator-shell.v32 .text-stage-order-summary{
  display:grid;
  grid-template-columns:minmax(220px,.9fr) minmax(0,1.4fr);
  gap:10px;
  align-items:stretch;
  margin:0 0 10px;
  padding:10px;
  border:1px solid rgba(76,238,243,.16);
  border-radius:16px;
  background:
    radial-gradient(circle at 85% 12%,rgba(76,238,243,.06),transparent 36%),
    linear-gradient(145deg,rgba(6,17,25,.94),rgba(7,12,18,.98));
}
.configurator-shell.v32 .text-stage-order-summary-title{
  display:flex;
  min-height:64px;
  flex-direction:column;
  justify-content:center;
  padding:10px 12px;
  border:1px solid rgba(76,238,243,.12);
  border-radius:12px;
  background:rgba(255,255,255,.018);
}
.configurator-shell.v32 .text-stage-order-summary-title>span{
  margin-bottom:4px;
  color:#55edf4;
  font-size:10px;
  font-weight:900;
}
.configurator-shell.v32 .text-stage-order-summary-title>strong{
  color:#f4fbff;
  font-size:15px;
  line-height:1.55;
}
.configurator-shell.v32 .text-stage-order-summary-chips{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}
.configurator-shell.v32 .text-stage-order-summary-chips>span{
  display:flex;
  min-width:0;
  min-height:64px;
  flex-direction:column;
  justify-content:center;
  padding:9px 10px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:12px;
  background:rgba(3,9,15,.62);
}
.configurator-shell.v32 .text-stage-order-summary-chips small{
  margin-bottom:4px;
  color:#8195a4;
  font-size:9px;
}
.configurator-shell.v32 .text-stage-order-summary-chips b{
  overflow:hidden;
  color:#edfaff;
  font-size:12px;
  line-height:1.55;
  text-overflow:ellipsis;
  white-space:nowrap;
}
@media(max-width:900px){
  .configurator-shell.v32 .text-stage-order-summary{
    grid-template-columns:1fr;
  }
}
@media(max-width:600px){
  .configurator-shell.v32 .text-stage-order-summary{
    padding:8px;
    gap:7px;
  }
  .configurator-shell.v32 .text-stage-order-summary-title{
    min-height:54px;
  }
  .configurator-shell.v32 .text-stage-order-summary-title>strong{
    font-size:13px;
  }
  .configurator-shell.v32 .text-stage-order-summary-chips{
    grid-template-columns:1fr 1fr 1fr;
    gap:5px;
  }
  .configurator-shell.v32 .text-stage-order-summary-chips>span{
    min-height:54px;
    padding:7px;
  }
  .configurator-shell.v32 .text-stage-order-summary-chips small{
    font-size:8px;
  }
  .configurator-shell.v32 .text-stage-order-summary-chips b{
    font-size:10px;
  }
}
