.prv{margin:20px 0 0;border:1px solid #d6dfd0;border-radius:18px;background:#fbfcf8;overflow:hidden;color:#263d31;box-shadow:0 5px 18px #25422a08}.prv summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;cursor:pointer;list-style:none}.prv summary::-webkit-details-marker{display:none}.prv summary::after{content:'+';font-size:23px;line-height:1}.prv[open] summary::after{content:'−'}.prv-title{font-size:18px;font-weight:750}.prv-tag{margin-left:auto;background:#e8eddf;padding:5px 9px;border-radius:99px;color:#53684e;font-size:11px;font-weight:700}.prv .prv-intro{font-size:13px;line-height:1.6;margin:0 20px 14px;color:#687565}.prv-stage{position:relative;margin:0 12px;border:1px solid #e0e6d9;border-radius:12px;overflow:hidden;background:#edf0e9}.prv-surface{height:360px;width:100%;position:relative}.prv-surface canvas,.prv-surface svg{display:block;width:100%;height:100%;outline-offset:-4px}.prv-surface canvas{cursor:grab;touch-action:none}.prv-surface canvas.is-dragging{cursor:grabbing}.prv-mode{position:absolute;top:12px;left:12px;max-width:calc(100% - 24px);font-size:10px;font-weight:750;letter-spacing:.04em;text-transform:uppercase;padding:6px 9px;border-radius:99px;color:#51684d;background:#ffffffdf;pointer-events:none}.prv-tools{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:5px;padding:5px;border:1px solid #d7dfd0;background:#ffffffee;box-shadow:0 3px 12px #233d2710;border-radius:12px;white-space:nowrap}.prv .prv-tools button{appearance:none;min-width:36px;min-height:34px;padding:5px 9px;border:0;border-radius:7px;background:transparent;color:#36503c;font:700 17px/1 system-ui;cursor:pointer}.prv .prv-tools button:last-child{font-size:11px;min-width:70px}.prv .prv-tools button:hover{background:#eaf0e3}.prv .prv-tools button:disabled{opacity:.4;cursor:default}.prv .prv-caption{font-size:12px;font-weight:650;margin:10px 20px 5px;color:#4c624b}.prv .prv-help{font-size:11px;line-height:1.55;margin:0 20px 15px;color:#52634c}.prv-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:17px 20px;border-top:1px solid #e3e8dc}.prv-field{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:11px;font-weight:700;color:#5c6f57}.prv .prv-field input,.prv .prv-field select{width:100%;min-width:0;box-sizing:border-box;height:39px;border:1px solid #d6dece;background:#fff;border-radius:7px;color:#354b37;font:500 12px system-ui;padding:5px 8px}.prv .prv-field input[type=color]{padding:4px;cursor:pointer}.prv .prv-field input[type=color]::-webkit-color-swatch-wrapper{padding:0}.prv .prv-field input[type=color]::-webkit-color-swatch{border:0;border-radius:4px}.prv .prv-field input:disabled{opacity:.4;cursor:default}.prv .prv-field input[type=number]{font-size:14px}.prv-palette{display:flex;align-items:center;gap:8px;padding:0 20px 16px}.prv-palette::before{content:'Wall colour ideas';font-size:10px;color:#7b8674;margin-right:3px}.prv .prv-palette button{appearance:none;width:25px;height:25px;border-radius:50%;padding:0;background:var(--swatch);border:2px solid #fff;box-shadow:0 0 0 1px #d6ddce;cursor:pointer}.prv .prv-palette button[aria-pressed=true]{box-shadow:0 0 0 2px #4c6b50}.prv .prv-note{font-size:11px;line-height:1.65;margin:0;padding:13px 20px;background:#f0f3e9;color:#52634c;border-top:1px solid #e2e8d9}.prv button:focus-visible,.prv select:focus-visible,.prv input:focus-visible,.prv summary:focus-visible,.prv canvas:focus-visible{outline:3px solid #d3a76f;outline-offset:3px}@media(max-width:760px){.prv-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.prv-surface{height:330px}.prv summary{padding:16px}.prv-title{font-size:16px}.prv-tag{font-size:9px}.prv .prv-intro,.prv .prv-caption,.prv .prv-help{margin-left:16px;margin-right:16px}.prv-controls{padding:16px}.prv-palette{padding-left:16px;padding-right:16px}}@media(max-width:430px){.prv-surface{height:300px}.prv-tag{display:none}.prv-stage{margin:0 8px}.prv-palette{gap:7px}.prv-palette::before{font-size:9px}.prv .prv-palette button{width:23px;height:23px}}
.prv-surface canvas{touch-action:pan-y}.prv-presets{display:flex;gap:7px;margin:0 20px 2px}.prv .prv-presets button{flex:1;min-height:38px;padding:8px 12px;border:1px solid #d3ddcb;border-radius:8px;background:#fff;color:#4a6246;font:650 12px system-ui;cursor:pointer}.prv .prv-presets button[aria-pressed=true]{background:#36553e;color:#fff;border-color:#36553e}.prv-advanced{margin:0 12px 16px;border:1px solid #e0e6d8;border-radius:10px;background:#fff}.prv-advanced>summary{font-size:12px;font-weight:700;padding:12px 15px}.prv-advanced>summary::after{content:"+"}.prv-advanced[open]>summary::after{content:"−"}.prv-advanced .prv-controls{padding:15px;border-top:1px solid #e4e9de}.prv-empty{padding:24px;background:#f1f4eb;border-radius:12px;font:14px system-ui;color:#63745c}@media(max-width:760px){.prv-presets{margin-left:16px;margin-right:16px}}
@media(max-width:760px){
  .prv-tools{position:relative;bottom:auto;left:auto;transform:none;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));width:calc(100% - 16px);box-sizing:border-box;margin:0 8px 8px;gap:2px;padding:3px;white-space:normal}
  .prv .prv-tools button,.prv .prv-tools button:last-child{min-width:0;width:100%;min-height:44px;padding:5px 2px;white-space:normal;overflow-wrap:anywhere;line-height:1.15}
  .prv .prv-tools button:nth-child(n+5){font-size:10px}
  .prv .prv-field input,.prv .prv-field select{height:44px;min-height:44px;font-size:16px}
  .prv .prv-presets button{min-height:44px}
  .prv-advanced>summary{min-height:44px;box-sizing:border-box}
  .prv-palette{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 10px}
  .prv-palette::before{grid-column:1/-1;font-size:11px;margin:0}
  .prv .prv-palette button{width:44px;height:44px;justify-self:center}
}

/* A generous room viewport with colour choices close at hand. The more specific
   workspace selectors also preserve this sizing after the colour-panel styles. */
.designer-workspace .prv{margin-top:0}
.designer-workspace .prv-heading{padding:11px 16px 3px}
.designer-workspace .prv-heading .prv-title{flex:1}
.designer-workspace .prv-heading .prv-editor{margin:0}
.designer-workspace .prv-heading .prv-editor-viewbar{display:flex;align-items:center;gap:18px}
.designer-workspace .prv-heading .prv-editor-viewmodes{margin:0}
.designer-workspace .prv .prv-intro{margin:0 16px 10px;font-size:12px;line-height:1.5}
.designer-workspace .prv-studio{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:14px;padding:0 10px;align-items:start}
.designer-workspace .prv-studio .prv-stage{margin:0;align-self:start}
.designer-workspace .prv-studio .prv-surface{height:clamp(420px,calc(100dvh - 240px),740px)}
.designer-workspace .prv-studio .prv-paint-panel{padding:14px}
@media(min-width:1001px) and (max-width:1200px){
 .designer-workspace .prv-studio{grid-template-columns:minmax(0,1fr) 200px;gap:12px}
}
@media(max-width:1000px){
 .designer-workspace .prv-studio{display:flex;flex-direction:column;gap:12px}
 .designer-workspace .prv-studio .prv-stage,.designer-workspace .prv-studio .prv-paint-panel{width:100%;box-sizing:border-box}
 .designer-workspace .prv-studio .prv-surface{height:clamp(420px,calc(100dvh - 190px),660px)}
 .designer-workspace .prv-studio .prv-paint-controls{grid-template-columns:1.2fr 1fr 1fr}
 .designer-workspace .prv-studio .prv-paint-controls>.prv-field:first-child{grid-column:auto}
 .designer-workspace .prv .prv-studio .prv-paint-palette{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible}
 .designer-workspace .prv .prv-colour-advanced .prv-paint-controls{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
 .designer-workspace .prv-heading{padding:9px 12px 3px}
 .designer-workspace .prv-heading{flex-wrap:wrap;gap:5px 12px}
 .designer-workspace .prv-heading .prv-editor-mount{order:3;flex-basis:100%}
 .designer-workspace .prv-heading .prv-editor{margin:0 0 8px}
 .designer-workspace .prv-heading .prv-editor-viewbar{gap:8px}
 .designer-workspace .prv-heading .prv-editor-light{flex-direction:row;max-width:130px}
 .designer-workspace .prv-heading .prv-editor-light>span{display:none}
 .designer-workspace .prv-heading .prv-editor-light select{width:130px;max-width:130px}
 .designer-workspace .prv-studio{padding:0 6px;gap:10px}
 .designer-workspace .prv-studio .prv-surface{height:clamp(320px,52dvh,440px)}
 .designer-workspace .prv-studio .prv-paint-panel{padding:11px 12px}
 .designer-workspace .prv-studio .prv-paint-controls{grid-template-columns:1fr 1fr}
 .designer-workspace .prv-studio .prv-paint-controls>.prv-field:first-child{grid-column:1/-1}
}
@media(max-width:639px){
 .designer-workspace .prv .prv-studio .prv-paint-palette{display:flex;gap:6px;overflow-x:auto;overscroll-behavior-x:contain;padding:10px 1px 6px;scrollbar-width:thin}
 .designer-workspace .prv .prv-studio .prv-paint-palette button{flex:0 0 56px;min-height:59px;max-width:none}
}

/* Keep the existing camera actions readable without suggesting a colour reset. */
.designer-workspace .prv .prv-tools button:nth-last-child(-n+2){font-size:12px;line-height:1.2}
@media(min-width:761px){.designer-workspace .prv .prv-tools button:nth-last-child(-n+2){min-width:68px}}
@media(max-width:760px){.designer-workspace .prv .prv-tools button:nth-last-child(-n+2){font-size:11px;min-width:0;padding-inline:2px}}


