/* A single shared room: five companions on the rug and five places on the bench. */
body[data-current-view="dressing"] #dressingPage>.dress-salon{position:absolute;inset:0;isolation:isolate;overflow:hidden;background:#59301f;color:#fff7e9}
.dress-salon-background{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
.dress-salon::after{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(25,12,8,.5),transparent 20%,transparent 75%,rgba(29,13,9,.42))}
.dress-salon-header{position:absolute;z-index:20;top:clamp(14px,2.7vh,32px);left:clamp(18px,3vw,48px);right:clamp(18px,3vw,48px);display:flex;justify-content:space-between;align-items:start;gap:20px;pointer-events:none}
.dress-salon-header>div{max-width:480px;padding:12px 20px 15px;border:1px solid rgba(255,231,189,.42);border-radius:20px;background:rgba(51,28,20,.74);box-shadow:0 12px 30px rgba(27,13,8,.2);backdrop-filter:blur(9px)}
.dress-salon-header small{font:800 10px/1.2 system-ui,sans-serif;letter-spacing:.18em;color:#f3d29e}
.dress-salon-header h1{margin:5px 0 0;font:700 clamp(25px,2.6vw,42px)/1.05 Georgia,serif;text-shadow:0 3px 12px #2f170d}
.dress-salon-count{padding:11px 17px;border:1px solid rgba(255,231,189,.45);border-radius:999px;background:rgba(51,28,20,.78);backdrop-filter:blur(9px);font:800 clamp(11px,1vw,14px)/1.3 system-ui,sans-serif;white-space:nowrap}
.dress-salon-scene{position:absolute;inset:0;z-index:3}
.dress-salon-companion,.dress-salon-future{position:absolute;z-index:var(--z);left:var(--x);top:var(--y);width:var(--w);box-sizing:border-box;transform:translate(-50%,-100%) rotate(var(--tilt));transform-origin:center 85%}
.dress-salon-companion{display:flex;flex-direction:column;align-items:center;justify-content:end;min-height:150px;padding:0;border:0;background:none;color:#fff7e7;cursor:pointer;filter:drop-shadow(0 10px 8px rgba(25,11,7,.45));transition:filter .2s ease,scale .2s ease}
.dress-salon-companion:hover{scale:1.07;filter:drop-shadow(0 16px 12px rgba(25,11,7,.6))}
.dress-salon-companion:focus-visible{outline:3px solid #ffdf96;outline-offset:5px;border-radius:16px}
.dress-salon-image{display:block;max-width:100%;width:100%;max-height:clamp(120px,26vh,250px);height:auto;object-fit:contain;object-position:center bottom;pointer-events:none;user-select:none;animation:salon-breathe 5s ease-in-out infinite}
.dress-salon-companion:nth-child(2n) .dress-salon-image{animation-delay:-2s}
.dress-salon-companion:nth-child(3n) .dress-salon-image{animation-delay:-3.5s}
.dress-salon-companion[style*="--z:3"] .dress-salon-image{max-height:clamp(100px,18vh,170px)}
.dress-salon-companion.is-locked .dress-salon-image{filter:brightness(.68) saturate(.65);opacity:.86}
.dress-salon-name{position:relative;z-index:2;max-width:130%;margin-top:-3px;padding:5px 10px;border:1px solid rgba(255,224,171,.6);border-radius:999px;background:rgba(56,31,21,.82);box-shadow:0 5px 12px rgba(26,12,7,.25);font:800 clamp(10px,.9vw,14px)/1.1 system-ui,sans-serif;text-align:center;white-space:nowrap;pointer-events:none}
.dress-salon-lock{position:absolute;z-index:3;right:11%;top:12%;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(35,26,22,.9);font-size:16px;box-shadow:0 4px 9px #25150b88;pointer-events:none}
.dress-salon-companion .dress-room-heart{position:absolute;z-index:4;left:60%;top:0;pointer-events:none}
.dress-salon-tooltip{position:absolute;z-index:8;top:100%;left:50%;width:max-content;max-width:min(235px,28vw);padding:8px 10px;border-radius:10px;background:rgba(43,25,19,.95);color:#fff2d9;font:600 11px/1.3 system-ui,sans-serif;text-align:center;box-shadow:0 7px 18px #1b0c0b88;transform:translateX(-50%);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s}
.dress-salon-companion:hover .dress-salon-tooltip,.dress-salon-companion:focus-visible .dress-salon-tooltip{opacity:1;visibility:visible}
.dress-salon-future{display:grid;place-items:center;gap:3px;min-height:80px;padding:10px;border:1px dashed rgba(255,225,171,.72);border-radius:50% 50% 18px 18px;background:linear-gradient(rgba(88,52,38,.35),rgba(43,25,17,.72));box-shadow:0 8px 14px #26150d55;text-align:center;pointer-events:none}
.dress-salon-future>span{font:700 clamp(25px,3vw,48px)/1 Georgia,serif;color:#ffe1aa}
.dress-salon-future small{font:800 clamp(8px,.75vw,11px)/1.1 system-ui,sans-serif;color:#ffebca;white-space:nowrap}
.dress-salon-message{position:absolute;z-index:25;bottom:clamp(12px,2vh,26px);left:50%;width:max-content;max-width:calc(100% - 30px);margin:0;padding:9px 15px;border:1px solid rgba(255,225,175,.44);border-radius:999px;background:rgba(43,24,18,.78);color:#fff1d8;font:700 12px/1.35 system-ui,sans-serif;text-align:center;transform:translateX(-50%);backdrop-filter:blur(8px)}
.dress-salon-companion.is-character-tapped .dress-salon-image{animation:salon-jump .9s ease-in-out}
.dress-salon-companion.is-character-tapped .dress-room-heart{animation:companion-heart .9s ease-out}
.dress-salon-companion.is-locked-shake{animation:salon-shake .45s ease-in-out}
@keyframes salon-breathe{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-4px) rotate(1deg)}}
@keyframes salon-jump{0%,100%{transform:translateY(0) scale(1)}25%{transform:translateY(3%) scale(1.06,.93)}55%{transform:translateY(-13%) scale(.98,1.07)}78%{transform:translateY(-3%) scale(1.03,.98)}}
@keyframes salon-shake{0%,100%{transform:translate(-50%,-100%) rotate(var(--tilt))}25%{transform:translate(calc(-50% - 6px),-100%) rotate(var(--tilt))}75%{transform:translate(calc(-50% + 6px),-100%) rotate(var(--tilt))}}
@media(max-width:1100px){.dress-salon-companion{width:calc(var(--w) * 1.1)}.dress-salon-name{font-size:10px;padding:4px 7px}.dress-salon-future{width:calc(var(--w) * 1.1)}}
@media(max-width:780px){body[data-current-view="dressing"] #dressingPage>.dress-salon{bottom:78px;overflow:auto}.dress-salon-background{position:fixed;inset:0;width:100%;height:100%;object-fit:cover}.dress-salon-header{position:relative;top:auto;left:auto;right:auto;padding:16px 14px 0}.dress-salon-header>div{padding:9px 12px}.dress-salon-header h1{font-size:23px}.dress-salon-count{padding:9px 10px;font-size:10px}.dress-salon-scene{position:relative;inset:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:28px 8px;min-height:0;padding:110px 18px 70px}.dress-salon-companion,.dress-salon-future{position:relative;top:auto;left:auto;width:100%!important;min-height:150px;transform:rotate(var(--tilt))}.dress-salon-image,.dress-salon-companion[style*="--z:3"] .dress-salon-image{max-height:145px}.dress-salon-future{min-height:115px}.dress-salon-message{position:sticky;bottom:12px;margin:0 auto 16px;transform:none;left:auto}}
@media(max-width:500px){.dress-salon-scene{grid-template-columns:repeat(2,minmax(0,1fr));padding:90px 22px 60px;gap:28px 18px}.dress-salon-header h1{font-size:21px}.dress-salon-header small{font-size:8px}.dress-salon-count{font-size:9px}.dress-salon-companion{min-height:140px}.dress-salon-image,.dress-salon-companion[style*="--z:3"] .dress-salon-image{max-height:135px}.dress-salon-name{font-size:11px}.dress-salon-future{min-height:115px}.dress-salon-tooltip{max-width:165px}}
@media(prefers-reduced-motion:reduce){.dress-salon-image,.dress-salon-companion.is-character-tapped .dress-salon-image,.dress-salon-companion.is-character-tapped .dress-room-heart,.dress-salon-companion.is-locked-shake{animation:none}.dress-salon-companion{transition:none}}

/* Collection des missions et des jeux : les costumes restent visibles à gagner. */
.dress-items .dress-special-outfit{background:linear-gradient(145deg,#f2e9ff,#e2f7f4);border-color:#bd9fea}
.dress-special-outfit.is-locked{opacity:1}
.dress-special-outfit.is-locked img{filter:none;opacity:.78}
.dress-special-outfit strong{color:#573481}

.dress-items .dress-halloween-outfit{background:linear-gradient(145deg,#ffe2ac,#efd7ff);border-color:#d98b32}

.dress-background-picker{position:absolute;right:22px;top:100px;z-index:24;width:210px;border:1px solid #ffe0a688;border-radius:14px;background:#2e1c1aee;padding:10px;color:#fff1d9}.dress-background-picker summary{cursor:pointer;font-weight:800}.dress-background-picker>div{display:grid;gap:8px;margin-top:9px}.dress-background-picker button{display:grid;gap:4px;border:1px solid #cfaa7488;border-radius:9px;background:#fff0d9;color:#47291f;padding:7px;cursor:pointer}.dress-background-picker button:disabled{opacity:.65;cursor:default}.dress-background-picker img{width:100%;height:65px;object-fit:cover;border-radius:6px}.dress-background-picker button span{font-size:10px}.dress-background-picker button[aria-pressed="true"]{outline:2px solid #ffcb67}@media(max-width:780px){.dress-background-picker{top:100px;right:15px;width:160px}}
