/* ===================== Design Your Home — gate + studio ===================== */
/* GATE */
.gate-wrap{max-width:520px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:42px 38px;text-align:center}
.gate-ic{width:66px;height:66px;border-radius:50%;background:var(--cream);display:grid;place-items:center;margin:0 auto 18px;color:var(--gold);font-size:30px}
.gate-wrap h2{font-size:28px;margin-bottom:8px}
.gate-wrap p.lead{font-size:15.5px;margin:0 auto 24px}
.gate-form .field{margin-bottom:14px;text-align:start}
.gate-form input{width:100%;padding:14px 16px;border:1.5px solid var(--line);border-radius:11px;font-family:inherit;font-size:16px;background:var(--cream);direction:ltr;text-align:start}
.gate-form input:focus{outline:none;border-color:var(--gold)}
.gate-form .phone-row{display:flex;align-items:stretch;gap:8px}
.gate-form .cc{display:grid;place-items:center;padding:0 14px;background:var(--navy);color:#fff;border-radius:11px;font-weight:600;font-size:15px;direction:ltr}
.gate-form .phone-row input{flex:1}
.gate-btn{width:100%;justify-content:center;margin-top:6px}
.gate-err{color:var(--red);font-size:13.5px;margin-top:10px;min-height:18px;font-weight:500}
.gate-trust{font-size:12.5px;color:var(--muted);margin-top:16px;line-height:1.6}

/* STUDIO */
.studio{display:none}
.studio.live{display:block}
.studio-shell{display:grid;grid-template-columns:280px 1fr;gap:20px;margin-top:10px;background:var(--navy);border-radius:20px;padding:20px;box-shadow:var(--shadow)}
.pl-side{color:#fff;max-height:760px;overflow:auto;padding-inline-end:6px}
.pl-side h4{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-soft);margin:18px 0 10px}
.pl-side h4:first-child{margin-top:0}
.chip-row{display:flex;flex-wrap:wrap;gap:8px}
.chip-row button{flex:1 0 calc(50% - 8px);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:#fff;border-radius:10px;padding:10px 6px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:.2s}
body.ar .chip-row button{font-family:var(--ar)}
.chip-row button.active,.chip-row button:hover{background:var(--gold);color:#1c2a3a;border-color:var(--gold)}
.preset-row button,.floor-row button{flex:1 0 calc(50% - 8px)}
.swatch{display:flex;gap:8px;flex-wrap:wrap}
.swatch button{width:38px;height:38px;border-radius:9px;border:2px solid rgba(255,255,255,.25);cursor:pointer;flex:0 0 auto;padding:0}
.swatch button.active{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold)}
.cat-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.cat-tabs button{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:#fff;border-radius:20px;padding:6px 12px;font-size:11.5px;cursor:pointer;font-family:inherit;transition:.2s}
body.ar .cat-tabs button{font-family:var(--ar)}
.cat-tabs button.active{background:var(--gold);color:#1c2a3a;border-color:var(--gold)}
.palette{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.palette .item{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:8px 4px 6px;text-align:center;cursor:grab;transition:.18s}
.palette .item:hover{background:rgba(196,160,82,.25);border-color:var(--gold)}
.palette .item svg{width:30px;height:30px}
.palette .item span{display:block;font-size:9.5px;margin-top:3px;color:rgba(255,255,255,.82);line-height:1.2}

.pl-stage-wrap{display:flex;flex-direction:column}
.pl-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;align-items:center}
.pl-toolbar button{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:8px;padding:8px 13px;font-size:12.5px;font-weight:500;cursor:pointer;font-family:inherit;transition:.2s}
body.ar .pl-toolbar button{font-family:var(--ar)}
.pl-toolbar button:hover{background:var(--gold);color:#1c2a3a;border-color:var(--gold)}
.pl-toolbar .count{font-size:12px;color:rgba(255,255,255,.7);margin-inline-start:auto;white-space:nowrap}
.stage-outer{background:#fff;border-radius:12px;overflow:hidden;border:2px solid rgba(255,255,255,.15);position:relative}
.stage-scaler{transform-origin:top left}
#stage{position:relative;background:#fff center/contain no-repeat;overflow:hidden;touch-action:none}
#stage.floor-warm{background-blend-mode:multiply;background-color:#f3e9d8}
#stage.floor-grey{background-blend-mode:multiply;background-color:#e9ebed}
#stage.floor-wood{background-blend-mode:multiply;background-color:#e7d3b3}
.fitem{position:absolute;cursor:move;display:grid;place-items:center;filter:drop-shadow(0 3px 6px rgba(0,0,0,.22));user-select:none;touch-action:none}
.fitem svg{width:100%;height:100%;pointer-events:none}
.fitem.sel{outline:2px dashed var(--gold);outline-offset:3px;border-radius:4px;z-index:5}
.fitem .lbl{position:absolute;bottom:-15px;left:50%;transform:translateX(-50%);font-size:9px;color:#26415f;background:rgba(255,255,255,.88);padding:0 4px;border-radius:3px;white-space:nowrap;pointer-events:none}
.empty-note{position:absolute;inset:0;display:grid;place-items:center;color:#9aa6b3;font-size:14px;text-align:center;padding:30px;pointer-events:none}
.studio-foot{display:flex;justify-content:center;margin-top:24px}

@media(max-width:880px){
  .studio-shell{grid-template-columns:1fr;gap:16px}
  .pl-side{max-height:none;order:2}
  .palette{grid-template-columns:repeat(4,1fr)}
}
