.studio-page{background:#f3f0e9;color:#151515}.studio-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:end;padding:95px 5vw 60px}.studio-intro h1{font-family:"Playfair Display",serif;font-size:clamp(4rem,8vw,8rem);line-height:.82;margin:18px 0 0;font-weight:500}.studio-intro>p{font-size:1.08rem;line-height:1.75;max-width:620px;margin:0 0 8px}.studio-shell{display:grid;grid-template-columns:340px minmax(0,1fr);min-height:780px;border-top:1px solid #d5d1c8;border-bottom:1px solid #d5d1c8;background:#fff}.studio-library{padding:28px 24px 45px;border-right:1px solid #ddd8cf;background:#faf9f6;overflow:auto}.studio-step{display:grid;grid-template-columns:31px 1fr;gap:10px;padding:21px 0;border-bottom:1px solid #ddd8cf}.studio-step>span{font-size:.72rem;color:#76716a;letter-spacing:.12em}.studio-step h2{font-size:.9rem;text-transform:uppercase;letter-spacing:.1em;margin:0 0 14px}.studio-upload{display:flex;flex-direction:column;border:1px dashed #9d9890;padding:17px;cursor:pointer;background:#fff}.studio-upload input{position:absolute;opacity:0;pointer-events:none}.studio-upload b{font-size:.88rem}.studio-upload small{font-size:.72rem;color:#777;margin-top:4px}.studio-patterns{display:grid;grid-template-columns:1fr 1fr;gap:8px}.studio-pattern{background:#fff;border:1px solid #d7d2ca;padding:7px;text-align:left;cursor:pointer}.studio-pattern.is-selected{border-color:#111;box-shadow:inset 0 0 0 1px #111}.studio-pattern img{width:100%;height:82px;object-fit:contain;background:#eeeae3;display:block}.studio-pattern b{display:block;font-size:.71rem;margin-top:6px}.studio-add{width:100%;margin-top:12px}.studio-finishes{display:grid;grid-template-columns:1fr 1fr;gap:8px}.studio-finish{border:1px solid #cbc6bd;background:#fff;padding:12px 8px;font-weight:600;cursor:pointer}.studio-finish.is-selected{background:#111;color:#fff;border-color:#111}.studio-help{font-size:.73rem;line-height:1.5;color:#77736c;margin:10px 0 0}.studio-workspace{min-width:0;display:flex;flex-direction:column;background:#e8e4dc}.studio-toolbar{min-height:58px;display:flex;align-items:center;gap:8px;padding:10px 16px;background:#fff;border-bottom:1px solid #d5d1c8;overflow-x:auto}.studio-toolbar button{white-space:nowrap;border:1px solid #cbc6bd;background:#fff;padding:9px 12px;font:600 .74rem "DM Sans",sans-serif;cursor:pointer}.studio-toolbar button:disabled{opacity:.35;cursor:not-allowed}.studio-canvas-wrap{flex:1;padding:24px;display:grid;place-items:center;overflow:auto}.studio-canvas{position:relative;width:min(100%,1100px);aspect-ratio:16/10;background:#d8d3ca;overflow:hidden;box-shadow:0 24px 70px rgba(30,25,18,.18);touch-action:none}.studio-background{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:none;background:#111}.studio-empty{position:absolute;inset:0;display:grid;place-content:center;text-align:center;padding:30px;color:#77716a}.studio-empty span{width:58px;height:58px;border:1px solid #9d9890;border-radius:50%;display:grid;place-items:center;font-size:2rem;margin:0 auto 16px}.studio-empty h2{font-family:"Playfair Display",serif;font-size:2rem;margin:0}.studio-empty p{margin:8px 0 0}.studio-object{position:absolute;left:38%;top:20%;width:180px;height:360px;transform-origin:center;cursor:grab;touch-action:none;filter:drop-shadow(0 14px 12px rgba(0,0,0,.24))}.studio-object:active{cursor:grabbing}.studio-object img{width:100%;height:100%;object-fit:fill;pointer-events:none;display:block}.studio-object[data-finish="glossy"] img{filter:brightness(1.12) contrast(1.05);opacity:.96}.studio-object[data-finish="matte"] img{filter:brightness(.78) contrast(1.1)}.studio-object.is-selected{outline:2px solid #ffbd00;outline-offset:3px}.studio-handle{position:absolute;width:18px;height:18px;border-radius:50%;background:#ffbd00;border:2px solid #111;z-index:5}.studio-resize{right:-12px;bottom:-12px;cursor:nwse-resize}.studio-rotate{left:50%;top:-34px;transform:translateX(-50%);cursor:grab}.studio-bottom-bar{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:14px 18px;background:#fff;border-top:1px solid #d5d1c8}.studio-bottom-bar p{margin:0;font-size:.78rem;color:#666}.studio-bottom-bar>div{display:flex;gap:10px}.studio-bottom-bar .button{padding:12px 18px;font-size:.75rem}.studio-download{border-color:#111;color:#111;background:#fff}.studio-note{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end}.studio-note h2{font-size:clamp(2.6rem,5vw,5.6rem);line-height:.95;margin:14px 0 0}.studio-note>p{font-size:1.05rem;line-height:1.75;max-width:620px}.studio-realistic-note{position:fixed;inset:auto 18px 18px auto;max-width:360px;background:#111;color:#fff;padding:18px 20px;z-index:50;box-shadow:0 15px 50px rgba(0,0,0,.28);font-size:.86rem;line-height:1.55}
@media(max-width:980px){.studio-intro,.studio-note{grid-template-columns:1fr;gap:28px}.studio-shell{grid-template-columns:1fr}.studio-library{border-right:0;border-bottom:1px solid #ddd8cf}.studio-patterns{grid-template-columns:repeat(3,1fr)}.studio-workspace{min-height:680px}}
@media(max-width:620px){.studio-intro{padding:70px 20px 40px}.studio-intro h1{font-size:4.2rem}.studio-library{padding:18px 16px 30px}.studio-patterns{grid-template-columns:1fr 1fr}.studio-canvas-wrap{padding:10px}.studio-toolbar{padding:8px}.studio-bottom-bar{align-items:flex-start;flex-direction:column}.studio-bottom-bar>div{width:100%}.studio-bottom-bar .button{flex:1;padding:11px 8px}.studio-note{padding-left:20px;padding-right:20px}.studio-object{width:110px;height:220px}}


/* Product library expansion */
.studio-product-groups{display:grid;gap:22px;max-height:640px;overflow:auto;padding-right:6px}
.studio-product-group h3{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;color:#666}
.studio-pattern small{display:block;font-size:.68rem;font-weight:600;color:#777;margin-top:3px}
.studio-pattern img{aspect-ratio:1/1;object-fit:cover}
@media (max-width:900px){.studio-product-groups{max-height:none}.studio-patterns{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Exact LatticeSmart catalog categories */
.studio-product-groups{gap:10px;max-height:620px}
.studio-product-group{border:1px solid #d7d2ca;background:#fff}
.studio-product-group summary{list-style:none;display:grid;grid-template-columns:78px 1fr;gap:12px;align-items:center;padding:8px;cursor:pointer;position:relative}
.studio-product-group summary::-webkit-details-marker{display:none}
.studio-product-group summary::after{content:'+';position:absolute;right:13px;top:50%;transform:translateY(-50%);font-size:1.25rem;font-weight:400}
.studio-product-group[open] summary::after{content:'−'}
.studio-product-group summary>img{width:78px;height:62px;object-fit:cover;background:#eeeae3}
.studio-product-group summary span{display:flex;flex-direction:column;padding-right:22px}
.studio-product-group summary b{font-size:.76rem;line-height:1.25}
.studio-product-group summary small{font-size:.66rem;color:#777;margin-top:4px}
.studio-product-group>.studio-patterns{padding:10px;border-top:1px solid #e3dfd7}
.studio-product-group h3{display:none}
.studio-pattern b{font-size:.69rem}
.studio-pattern img{height:78px;aspect-ratio:auto;object-fit:contain}

/* Compact accordion product library — panel images only */
.studio-product-groups{display:grid;gap:10px}
.studio-product-group{border:1px solid #d7d2ca;background:#fff}
.studio-product-group summary{list-style:none;cursor:pointer;padding:14px 38px 14px 14px;font-size:.78rem;font-weight:700;line-height:1.25;letter-spacing:.035em;position:relative}
.studio-product-group summary::-webkit-details-marker{display:none}
.studio-product-group summary::after{content:"+";position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:1.15rem;font-weight:500}
.studio-product-group[open] summary::after{content:"−"}
.studio-product-group[open] summary{border-bottom:1px solid #e2ded7}
.studio-product-group .studio-patterns{padding:10px;display:grid;grid-template-columns:1fr 1fr;gap:9px}
.studio-pattern{border:1px solid #ded9d1;background:#faf9f6;padding:7px;cursor:grab;text-align:center;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.studio-pattern:hover{border-color:#111;transform:translateY(-1px);box-shadow:0 5px 16px rgba(0,0,0,.08)}
.studio-pattern:active{cursor:grabbing}
.studio-pattern.is-selected{border-color:#ffbd00;box-shadow:inset 0 0 0 1px #ffbd00}
.studio-pattern img{width:100%;height:108px;object-fit:contain;background:#e9e6df;display:block}
.studio-pattern b{display:block;margin-top:7px;font-size:.72rem;line-height:1.2}
.studio-pattern small{display:none}
@media(max-width:980px){.studio-product-group .studio-patterns{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.studio-product-group .studio-patterns{grid-template-columns:1fr 1fr}.studio-pattern img{height:96px}}

/* Clickable photo upload canvas */
.studio-empty { cursor: pointer; user-select: none; }
.studio-empty:hover span, .studio-empty:focus span { transform: scale(1.08); border-color: #111; }
.studio-empty:focus { outline: 2px solid #f5bd16; outline-offset: -8px; }
.studio-canvas-wrap.is-file-over { outline: 4px solid #f5bd16; outline-offset: -4px; }
.studio-canvas-wrap.is-file-over .studio-empty { background: rgba(245,189,22,.12); }

/* AI result */
.studio-ai-modal { position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center; padding: 24px; background: rgba(0,0,0,.72); }
.studio-ai-dialog { position: relative; width: min(1100px, 96vw); max-height: 94vh; overflow: auto; background: #f7f4ed; padding: clamp(22px,4vw,48px); box-shadow: 0 30px 90px rgba(0,0,0,.35); }
.studio-ai-dialog h2 { margin: 4px 0 22px; font-family: 'Playfair Display', serif; font-size: clamp(32px,4vw,56px); }
.studio-ai-dialog > img { display: block; width: 100%; max-height: 66vh; object-fit: contain; background: #ddd8ce; }
.studio-ai-close { position: absolute; right: 16px; top: 10px; border: 0; background: transparent; font-size: 38px; line-height: 1; cursor: pointer; }
.studio-ai-disclaimer { margin: 16px 0; color: #5f5b55; font-size: 14px; }
.studio-ai-actions { display: flex; justify-content: flex-end; gap: 12px; flex-wrap: wrap; }
