.pmnsim{--c:#ff4fa8;--i:1;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(340px,1fr);gap:0;background:#07060f;color:#fff;align-items:start}
.pmnsim fieldset{border:0;margin:0;padding:0;min-width:0}
.pmnsim__stage{position:sticky;top:var(--pmn-top,70px);height:calc(100svh - var(--pmn-top,70px));overflow:hidden;background:#0b0a12;isolation:isolate}
.pmnsim__stage::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(90% 85% at 50% 42%,transparent 40%,rgb(0 0 0/.62))}
.pmnsim__stage[data-scene=brique]{background:linear-gradient(rgb(0 0 0/.34) 2px,transparent 2px) 0 0/100% 34px,repeating-linear-gradient(90deg,rgb(0 0 0/.34) 0 2px,transparent 2px 92px) 0 0/184px 34px,repeating-linear-gradient(90deg,rgb(0 0 0/.34) 0 2px,transparent 2px 92px) 46px 34px/184px 34px,#2a1a1c}
.pmnsim__stage[data-scene=brique]{background:linear-gradient(rgb(0 0 0/.42) 2px,transparent 2px) 0 0/100% 32px,linear-gradient(90deg,rgb(0 0 0/.42) 2px,transparent 2px) 0 0/92px 64px,linear-gradient(90deg,rgb(0 0 0/.42) 2px,transparent 2px) 46px 32px/92px 64px,#2c1b1d}
.pmnsim__stage[data-scene=beton]{background:radial-gradient(60% 50% at 30% 20%,rgb(255 255 255/.05),transparent),radial-gradient(50% 60% at 80% 70%,rgb(0 0 0/.25),transparent),#26262c}
.pmnsim__stage[data-scene=bois]{background:repeating-linear-gradient(90deg,#1d1512 0 52px,#120c0a 52px 55px,#231914 55px 104px,#120c0a 104px 107px)}
.pmnsim__stage[data-scene=noir]{background:#0b0a12}
.pmnsim__stage[data-scene=photo]{background:#000}
.pmnsim__photo{position:absolute;inset:0;background-size:cover;background-position:center}
.pmnsim__glow{position:absolute;left:50%;top:0;width:10px;height:10px;border-radius:50%;background:var(--c);filter:blur(60px);opacity:calc(var(--i)*.5);pointer-events:none;mix-blend-mode:screen;transition:background-color .35s,opacity .35s;transform:translate(-50%,-50%)}
.pmnsim__sofa{position:absolute;z-index:1;bottom:0;left:50%;transform:translateX(-50%);fill:#14121f;stroke:rgb(255 255 255/.18);stroke-width:.6;opacity:0;transition:opacity .4s,width .4s;pointer-events:none}
.pmnsim[data-view=scale] .pmnsim__sofa{opacity:1}
.pmnsim__sign{position:absolute;z-index:2;left:50%;top:0;transform:translate(calc(-50% + var(--x,0px)),calc(-50% + var(--y,0px)));cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}
.pmnsim__sign:active{cursor:grabbing}
.pmnsim__txt{white-space:pre;line-height:1.14;text-align:center;font-family:var(--f);font-size:var(--fs,100px)}
.pmnsim__plate,.pmnsim__halo{position:absolute;inset:0}
.pmnsim__plate{color:transparent;-webkit-text-stroke:.3em rgb(255 255 255/.1);stroke-linejoin:round;opacity:0;transition:opacity .3s}
.pmnsim[data-support=contour] .pmnsim__plate{opacity:1}
.pmnsim__rect{position:absolute;inset:-.16em -.2em;font-size:var(--fs,100px);border-radius:.08em;background:rgb(255 255 255/.06);box-shadow:inset 0 0 0 1px rgb(255 255 255/.2),0 .05em .2em rgb(0 0 0/.5);opacity:0;transition:opacity .3s}
.pmnsim[data-support=rect] .pmnsim__rect{opacity:1}
.pmnsim__halo{color:var(--c);opacity:var(--i);text-shadow:0 0 .04em var(--c),0 0 .1em var(--c),0 0 .22em var(--c),0 0 .5em var(--c);transition:color .35s,text-shadow .35s,opacity .3s}
.pmnsim__core{position:relative;color:color-mix(in srgb,var(--c) 14%,#fff);text-shadow:0 0 .02em #fff;transition:color .35s}
.pmnsim[data-off] .pmnsim__halo{opacity:0}.pmnsim[data-off] .pmnsim__glow{opacity:0}.pmnsim[data-off] .pmnsim__core{color:rgb(255 255 255/.5);text-shadow:0 .01em .02em rgb(0 0 0/.8)}
.pmnsim__sign.flick{animation:pmnsimF .55s steps(1) both}
@keyframes pmnsimF{0%{opacity:.2}15%{opacity:1}25%{opacity:.35}40%{opacity:1}55%{opacity:.6}70%,100%{opacity:1}}
.pmnsim__dim{position:absolute;z-index:3;left:16px;top:16px;margin:0;padding:.4em .85em;border-radius:999px;background:rgb(7 6 15/.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:.85rem;font-weight:600}
.pmnsim__tools{position:absolute;z-index:3;left:16px;right:16px;bottom:16px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.pmnsim__tool,.pmnsim__seg,.pmnsim__dimmer,.pmnsim__photosize{min-height:44px;border-radius:999px;background:rgb(7 6 15/.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;border:1px solid rgb(255 255 255/.16);font-size:.85rem;font-weight:600}
.pmnsim__tool{display:inline-flex;align-items:center;gap:8px;padding:0 14px;cursor:pointer}
.pmnsim__tool i{width:30px;height:18px;border-radius:9px;background:var(--c);position:relative;box-shadow:0 0 10px var(--c);transition:.25s}.pmnsim__tool i::after{content:'';position:absolute;top:2px;left:14px;width:14px;height:14px;border-radius:50%;background:#fff;transition:.25s}.pmnsim__tool[aria-pressed=false] i{background:#3a3850;box-shadow:none}.pmnsim__tool[aria-pressed=false] i::after{left:2px}
.pmnsim__seg{display:inline-flex;padding:3px}.pmnsim__seg button{border:0;background:none;color:#fff;font:inherit;padding:0 12px;border-radius:999px;cursor:pointer;min-height:36px}.pmnsim__seg button[aria-pressed=true]{background:#fff;color:#07060f}
.pmnsim__dimmer,.pmnsim__photosize{display:inline-flex;align-items:center;gap:8px;padding:0 14px}.pmnsim__dimmer input,.pmnsim__photosize input{width:96px;accent-color:var(--c)}
.pmnsim__photosize{position:absolute;z-index:3;right:16px;top:16px}.pmnsim__photosize[hidden]{display:none}
.pmnsim__panel{padding:clamp(24px,3vw,44px) clamp(16px,3vw,40px) 120px;border-left:1px solid rgb(255 255 255/.08);min-width:0}
.pmnsim__h{font-size:clamp(2rem,3.2vw,3rem);line-height:1.05;margin:0 0 .25em}
.pmnsim__lead{margin:0 0 28px;color:#c9c5de}
.pmnsim__step{margin:0 0 28px!important}
.pmnsim__l{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:0;font-weight:700;font-size:1.05rem}.pmnsim__l b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--c);color:#07060f;font-size:.8rem;transition:background-color .3s;flex:none}.pmnsim__l em{font-style:normal;font-weight:500;color:#c9c5de}
.pmnsim textarea{display:block;width:100%;box-sizing:border-box;min-height:84px;padding:14px 16px;border-radius:16px;border:1.5px solid rgb(255 255 255/.28);background:#100e22;color:#fff;font:inherit;font-size:1.1rem;line-height:1.35;resize:vertical}.pmnsim textarea:focus{outline:0;border-color:var(--c);box-shadow:0 0 0 1px var(--c),0 0 18px color-mix(in srgb,var(--c) 45%,transparent)}.pmnsim textarea::placeholder{color:#9b97b5;opacity:1}
.pmnsim__hint{margin:8px 0 0;font-size:.85rem;color:#c9c5de}.pmnsim__hint.warn{color:#ffd93b}
.pmnsim__fonts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.pmnsim__fonts button{height:62px;padding:0 8px;border-radius:14px;border:1.5px solid rgb(255 255 255/.16);background:#100e22;color:#fff;cursor:pointer;font-size:1.3rem;line-height:1.1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;transition:border-color .2s,box-shadow .2s}
.pmnsim button[aria-pressed=true].pmnsim__o,.pmnsim__fonts button[aria-pressed=true],.pmnsim__sizes button[aria-pressed=true]{border-color:var(--c);box-shadow:0 0 0 1px var(--c),0 0 16px color-mix(in srgb,var(--c) 50%,transparent)}
.pmnsim__cols{display:flex;flex-wrap:wrap;gap:10px}
.pmnsim__cols button{width:44px;height:44px;border-radius:50%;border:0;background:var(--s);cursor:pointer;box-shadow:0 0 10px var(--s);transition:transform .15s,box-shadow .2s}.pmnsim__cols button[aria-pressed=true]{outline:2px solid #fff;outline-offset:3px;box-shadow:0 0 18px var(--s)}.pmnsim__cols button:hover{transform:scale(1.08)}
.pmnsim__sizes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.pmnsim__sizes button{min-height:66px;padding:8px 4px;border-radius:14px;border:1.5px solid rgb(255 255 255/.16);background:#100e22;color:#fff;font:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.pmnsim__sizes b{font-size:1rem}.pmnsim__sizes span{font-size:.8rem;color:#c9c5de}.pmnsim__sizes button:disabled{opacity:.35;cursor:not-allowed}
.pmnsim__opts{display:grid;gap:8px}.pmnsim__opts--w{grid-template-columns:repeat(4,minmax(0,1fr))}
.pmnsim__o{min-height:44px;padding:10px 14px;border-radius:14px;border:1.5px solid rgb(255 255 255/.16);background:#100e22;color:#fff;font:inherit;text-align:left;cursor:pointer;display:flex;justify-content:space-between;gap:10px;align-items:center}.pmnsim__o small{color:#c9c5de;font-size:.82rem;white-space:nowrap}.pmnsim__opts--w .pmnsim__o{justify-content:center;text-align:center;padding:10px 4px;font-size:.88rem}
.pmnsim__up{display:flex;align-items:center;justify-content:center;min-height:48px;margin-top:8px;border:1.5px dashed rgb(255 255 255/.35);border-radius:14px;cursor:pointer;font-weight:600;font-size:.92rem;text-align:center;padding:8px}.pmnsim__up:hover{border-color:var(--c)}.pmnsim__up input{position:absolute;width:1px;height:1px;opacity:0}.pmnsim__up:focus-within{outline:2px solid #fff;outline-offset:2px}
.pmnsim__logo{margin:0 0 16px}.pmnsim__logo a{color:#fff;font-weight:700}
.pmnsim__ok{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.88rem;color:#c9c5de}.pmnsim__ok li::before{content:'✓ ';color:var(--c)}
.pmnsim__buy{position:fixed;z-index:20;right:0;bottom:0;width:calc(40% - 0px);min-width:340px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px clamp(16px,3vw,40px) calc(12px + env(safe-area-inset-bottom));background:rgb(7 6 15/.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--c);box-shadow:0 -10px 28px -14px var(--c)}
.pmnsim__buy div{min-width:0;display:flex;flex-direction:column}.pmnsim__buy strong{font-size:1.45rem;line-height:1.1}.pmnsim__buy span{font-size:.8rem;color:#c9c5de;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pmnsim__buy .pmn-btn{flex:none;background:var(--c);color:#07060f;box-shadow:0 0 18px var(--c);transition:background-color .3s,box-shadow .3s;border:0;cursor:pointer;font:inherit;font-weight:700}.pmnsim__buy .pmn-btn[disabled]{opacity:.5;cursor:wait}
.pmnsim__err{position:fixed;z-index:21;right:16px;bottom:92px;margin:0;padding:10px 14px;border-radius:12px;background:#ff2d3f;color:#fff;font-size:.9rem;max-width:320px}.pmnsim__err[hidden]{display:none}
[data-template*=simulateur] shopify-chat::part(activator){bottom:92px}
@media (max-width:899px){.pmnsim{grid-template-columns:minmax(0,1fr)}.pmnsim__stage{height:46svh;z-index:5;box-shadow:0 10px 26px rgb(0 0 0/.6)}.pmnsim__panel{border-left:0;padding:22px 16px 130px}.pmnsim__h{font-size:1.9rem}.pmnsim__lead{margin-bottom:20px}.pmnsim__buy{width:100%;min-width:0}.pmnsim__dim{left:10px;top:10px;font-size:.78rem}.pmnsim__tools{left:10px;right:10px;bottom:10px;gap:6px}.pmnsim__dimmer span{display:none}.pmnsim__dimmer{flex:1;padding:0 10px}.pmnsim__dimmer input{width:100%;min-width:40px}.pmnsim__tool{padding:0 10px}.pmnsim__tool span{display:none}.pmnsim__seg button{padding:0 10px}.pmnsim__photosize{top:10px;right:10px;padding:0 10px}.pmnsim__photosize span{display:none}.pmnsim__fonts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (prefers-reduced-motion:reduce){.pmnsim__sign.flick{animation:none}}
