
:root{--ink:#19232b;--muted:#596873;--blue:#1559d9;--coral:#f2674c;--line:#dce2e7;--paper:#f4f6f8}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:15px/1.5 Arial,Helvetica,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #1260de;outline-offset:4px}button:disabled{cursor:not-allowed;opacity:.5}button,a,input,select{touch-action:manipulation}[hidden]{display:none!important}button{color:inherit}a{color:var(--blue)}.topline{background:#17242d;color:#e8f0f7;text-align:center;padding:7px 20px;font-size:12px;letter-spacing:.03em}.topline strong{color:#ffb696}.nav{background:white;padding:20px max(24px,calc((100vw - 1400px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:11px}.brandmark{width:38px;height:38px;background:var(--blue);color:white;font-weight:800;font-size:20px;display:grid;place-items:center;box-shadow:5px 5px 0 #f2674c}.brandname{font-weight:800;letter-spacing:-.6px;font-size:20px}.brandname small{display:block;font-size:10px;letter-spacing:2.1px;font-weight:500;text-transform:uppercase}.navlinks{display:flex;gap:24px;align-items:center;font-size:13px}.navlinks a{text-decoration:none;color:var(--ink)}.navlinks .active{color:var(--blue);font-weight:700}.container{max-width:1448px;padding:0 24px;margin:auto}.intro{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:32px 0 24px}.eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:700;color:var(--blue);margin:0 0 5px}h1{font-size:clamp(30px,3.1vw,44px);letter-spacing:-1.8px;line-height:1.12;margin:0 0 10px}h1 em{color:var(--blue);font-style:normal}.intro p:last-child{color:var(--muted);margin:0;font-size:14px}.steps{display:flex;gap:16px;align-items:center;white-space:nowrap;font-size:12px;color:#697681}.steps b{display:inline-grid;place-items:center;border:1px solid #cbd3dc;border-radius:50%;width:23px;height:23px;margin-right:5px}.steps .current{color:var(--blue);font-weight:700}.steps .current b{background:var(--blue);color:white;border-color:var(--blue)}.materials{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px}.material{position:relative;display:flex;align-items:center;gap:18px;text-align:left;padding:13px 19px;background:#fff;border:1px solid var(--line);border-radius:10px;min-height:91px}.material:hover{border-color:#8faee1}.material[aria-pressed=true]{border:2px solid var(--blue);padding:12px 18px;background:#f3f7ff}.material[aria-pressed=true]:after{content:'✓';position:absolute;right:10px;top:7px;color:var(--blue);font-weight:bold}.material strong{font-size:16px;display:block}.material small{font-size:11px;color:var(--muted)}.sample{width:64px;height:51px;position:relative;flex:none;perspective:180px}.sample img{width:100%;height:100%;object-fit:cover;transform:rotateY(-16deg) rotateZ(-8deg);box-shadow:4px 5px 0 #9c8a6a,6px 7px 7px #23314220}.sample.acrylic img{box-shadow:3px 3px 0 #c5e3ee,5px 5px 0 #a9bcc4,7px 8px 8px #23314225}.sample.aluminum img{box-shadow:2px 2px 0 #a9adb1,4px 5px 5px #23314225}.sample.paper img{border:4px solid white;box-shadow:1px 2px 3px #23314240}.workbench{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(350px,1fr);gap:24px;align-items:start}.visual{position:sticky;top:18px;min-width:0}.visual-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.tabs{display:flex;background:#e7ebf0;padding:4px;border-radius:8px;gap:3px}.tabs button{padding:8px 15px;border:0;background:transparent;border-radius:5px;font-size:12px;font-weight:600;min-height:38px}.tabs button[aria-pressed=true]{background:white;box-shadow:0 1px 5px #21314512;color:var(--blue)}.sizebadge{font-size:12px;font-weight:700;white-space:nowrap}.scene{position:relative;aspect-ratio:3/2;background:#e8dfd1;overflow:hidden;border-radius:12px;isolation:isolate}.room{position:absolute;width:100%;height:100%;inset:0;object-fit:fill;pointer-events:none}.art{position:absolute;left:50%;top:32%;width:41.6667%;transform:translate(-50%,-50%);box-shadow:4px 5px 0 #665b4e,9px 11px 13px #33271d40;touch-action:none;cursor:grab;user-select:none}.art img{width:100%;height:100%;display:block;object-fit:contain;pointer-events:none}.art:active{cursor:grabbing}.art.acrylic{box-shadow:2px 2px 0 #bfd2dc,4px 4px 0 #69808c,8px 10px 14px #19252f33}.art.aluminum{box-shadow:1px 2px 0 #8a9196,5px 7px 12px #19252f40}.art.paper{box-shadow:2px 3px 5px #19252f30}.scene.detail{background:#e8edf2}.scene.detail .room{display:none}.scene.detail .art{cursor:default;box-shadow:2px 6px 20px #19252f24}.scene-label{position:absolute;bottom:14px;left:16px;background:#ffffffdf;color:#3f4b51;padding:5px 9px;border-radius:4px;font-size:10px}.caption{font-size:11px;color:var(--muted);margin:10px 1px 15px}.position{display:flex;align-items:center;gap:16px;border-top:1px solid var(--line);padding-top:14px;font-size:12px}.position label{flex:1;min-width:0}.position input{display:block;width:100%;accent-color:var(--blue);margin-top:8px}.textbutton{background:none;border:0;padding:8px 0;font-size:12px;color:var(--blue);text-decoration:underline;min-height:40px}.ownpanel{background:#fff;padding:16px;margin:0 0 12px;border-radius:9px;border:1px solid var(--line)}.ownpanel label{display:block;font-size:12px;margin-bottom:6px}.ownpanel input[type=file]{font-size:12px;max-width:100%}.ownpanel input[type=number]{width:110px;margin-left:8px}.ownpanel p{font-size:11px;color:var(--muted)}.qualitybar{display:flex;gap:10px;align-items:center;margin-top:18px;padding:14px 16px;background:#e7edf5;border-radius:8px}.qualitybar .symbol{font-size:22px;color:var(--blue)}.qualitybar p{margin:0;font-size:12px}.qualitybar small{display:block;color:var(--muted);font-size:11px}.controls{display:grid;gap:12px;min-width:0}.panel{border:1px solid var(--line);border-radius:10px;background:#fff;padding:20px}.panelhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.panel h2{font-size:15px;margin:0;letter-spacing:-.2px}.number{display:inline-grid;place-items:center;background:#edf2fb;color:var(--blue);border-radius:50%;width:23px;height:23px;font-size:11px;margin-right:8px}.uploadbox{border:1px dashed #90ade0;border-radius:8px;padding:16px;display:flex;gap:12px;align-items:center;background:#f7faff}.filethumb{width:57px;height:43px;object-fit:cover;border-radius:3px}.uploadbox .textbutton{font-weight:700;min-height:0;padding:0}.uploadbox p{font-size:11px;margin:3px 0;color:var(--muted)}.uploadbox div{min-width:0}.filename{overflow-wrap:anywhere;font-size:12px}.fileinput{display:block;width:100%;margin:12px 0 0;font-size:12px}.fileinput::file-selector-button{padding:9px 12px;background:var(--blue);color:white;border:0;border-radius:5px;margin-right:9px;cursor:pointer}.fineprint{font-size:11px;color:var(--muted);margin:10px 0 0}.unit-toggle{display:flex;gap:2px;background:#eff2f5;padding:2px;border-radius:5px}.unit-toggle button{border:0;background:transparent;padding:5px 9px;font-size:11px;border-radius:3px;min-height:30px}.unit-toggle button[aria-pressed=true]{background:var(--ink);color:white}.dimensions{display:grid;grid-template-columns:1fr 24px 1fr;gap:10px;align-items:end}.fieldlabel{font-size:12px;font-weight:600;display:block;margin-bottom:6px}.numfield{display:flex;align-items:center;border:1px solid #cbd4df;border-radius:6px;padding-right:12px}.numfield input{width:100%;min-width:0;border:0;background:none;padding:10px 12px;color:var(--ink);font-size:18px;font-weight:600;outline-offset:-2px}.numfield span{color:var(--muted);font-size:12px}.lock{padding-bottom:13px;text-align:center;color:var(--blue)}.locknote{font-size:11px;color:var(--blue);margin:9px 0 16px}.presets{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.presets button{border:1px solid var(--line);padding:9px 4px;background:#fff;border-radius:6px;font-size:11px;min-height:40px}.presets button[aria-pressed=true]{background:#edf3ff;border-color:var(--blue);color:var(--blue);font-weight:700}.finishgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.finish{position:relative;border:1px solid var(--line);border-radius:7px;padding:13px 8px;background:white;text-align:center;min-height:105px}.finish[aria-pressed=true]{border:2px solid var(--blue);padding:12px 7px;background:#f5f8ff}.finish[aria-pressed=true]:after{content:'✓';position:absolute;right:7px;top:4px;color:var(--blue);font-weight:bold}.swatch{display:block;width:41px;height:33px;margin:0 auto 9px;transform:skewY(-7deg);box-shadow:3px 3px 0 #aab7bd;background:linear-gradient(125deg,#e1eff4,#fff 44%,#c1d8e2 45%,#edf6fb 56%,#bed4e0)}.swatch.brushed{background:repeating-linear-gradient(0deg,#a7afb4 0px,#e0e3e6 1px,#bcc4c9 2px)}.swatch.white{background:#f5f5f1;box-shadow:2px 2px 0 #a9b1b5}.swatch.satin{background:#e9edef;box-shadow:3px 3px 0 #c4d4dc}.swatch.canvas{background:repeating-linear-gradient(0deg,#f5efdf 0px,#e6ddc7 1px,#f5efdf 2px);box-shadow:5px 5px 0 #ae9473}.swatch.matte{background:#fbf8f2;box-shadow:1px 1px 0 #cdd0d2}.finish strong{display:block;font-size:12px}.finish small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.finishinfo{font-size:12px;color:var(--muted);margin:13px 0 0;line-height:1.55}.qtyrow{display:flex;align-items:center;justify-content:space-between;gap:10px}.qtyrow input{width:66px;padding:8px;border:1px solid var(--line);border-radius:5px}.below{padding:30px 0 26px;display:flex;gap:26px;justify-content:space-between;border-bottom:1px solid var(--line)}.below h3{margin:0 0 5px;font-size:15px}.below p{margin:0;font-size:12px;color:var(--muted)}.footer{padding:20px 0 28px;font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:20px}.buybar{position:sticky;bottom:0;z-index:4;background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 25px #14263809;padding:14px max(24px,calc((100vw - 1400px)/2));display:flex;gap:22px;align-items:center;justify-content:space-between}.barproduct{display:flex;align-items:center;gap:12px;min-width:0}.barproduct img{width:48px;height:36px;object-fit:cover;border-radius:3px}.barproduct strong{font-size:13px;display:block}.barproduct small{font-size:11px;color:var(--muted)}.barprice{display:flex;align-items:center;gap:24px}.barprice strong{font-size:14px;display:block;text-align:right}.barprice small{font-size:10px;color:var(--muted);display:block;text-align:right}.primary{border:0;background:var(--blue);color:#fff;border-radius:6px;padding:13px 24px;font-size:13px;font-weight:700;min-height:44px}.primary:hover{background:#1047b2}.error{color:#ac302b;font-size:12px;min-height:0}.error:empty{display:none}.review{border:0;border-radius:14px;padding:28px;max-width:480px;width:calc(100% - 32px);box-shadow:0 20px 80px #10213a44}.review::backdrop{background:#14263888}.review h2{margin:0 0 16px;font-size:24px}.review dl{display:grid;grid-template-columns:100px 1fr;gap:12px;font-size:13px}.review dt{color:var(--muted)}.review dd{margin:0;overflow-wrap:anywhere}.review .notice{background:#f1f5fb;padding:13px;border-radius:7px;font-size:12px;margin:20px 0}.review .primary{width:100%}body.mobile-test{max-width:390px;margin:auto}.demo-tag{color:#7b5220;font-size:10px}.sizeerror{margin:7px 0 0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:1050px){.steps{display:none}.workbench{grid-template-columns:minmax(0,1.35fr) minmax(320px,1fr);gap:18px}.material{padding:13px;gap:12px}.material[aria-pressed=true]{padding:12px}.material small{display:none}.sample{width:50px;height:41px}.panel{padding:16px}.navlinks{gap:15px}.position{flex-wrap:wrap}.position>span{width:100%}}
@media(max-width:760px){.nav{padding:17px 18px}.navlinks{display:none}.container{padding:0 16px}.intro{padding:24px 0 20px}.intro p:last-child{font-size:13px}.materials{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:18px}.material{min-height:72px}.material strong{font-size:14px}.workbench{display:flex;flex-direction:column;gap:18px}.visual{position:static;width:100%}.controls{width:100%}.qualitybar{margin-top:12px}.position{gap:12px}.position>span{display:none}.tabs button{padding:7px 10px}.sizebadge{font-size:10px}.buybar{padding:12px 16px;flex-wrap:wrap;gap:9px}.barproduct{width:100%}.barproduct img{width:35px;height:27px}.barproduct strong{font-size:12px}.barproduct small{display:none}.barprice{width:100%;justify-content:space-between;gap:10px}.barprice strong,.barprice small{text-align:left}.primary{padding:12px 17px}.below{flex-direction:column;gap:18px}.footer{flex-direction:column;gap:8px}.topline{font-size:10px;padding:6px 12px}.brandname{font-size:18px}.scene-label{font-size:9px;bottom:9px;left:9px}.position label{font-size:11px}.panelhead h2{font-size:14px}.caption{font-size:10px}.numfield input{font-size:18px}.finish{min-height:104px}}

/* Optional size guidance stays close to the dimensions it describes. */
.image-check{margin-top:18px;padding:16px;border:1px solid #d9e3eb;border-radius:8px;background:#f5f8fb}
.image-check h3{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin:0 0 9px}
.image-check strong{font-size:14px;display:block}.image-check p{font-size:12px;margin:7px 0 0;line-height:1.55}
.image-check .quality-stats{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.quality-stats:empty{display:none}
.image-check[data-level="soft"]{background:#fff8ee;border-color:#e9c997}.image-check[data-level="soft"] #qualityTitle{color:#764609}
.image-check[data-level="detail"]{background:#f0f7f3;border-color:#c1d8c9}.image-check[data-level="detail"] #qualityTitle{color:#245d3d}
.image-check .quality-options-label{font-weight:700;margin-top:14px}.quality-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}
.quality-options button{padding:10px 8px;border:1px solid #b9c9dc;border-radius:6px;background:#fff;min-height:48px;text-align:left;overflow-wrap:anywhere}
.quality-options button:hover{background:#edf3ff;border-color:var(--blue)}.quality-options strong{font-size:12px;color:var(--blue)}.quality-options small{display:block;font-size:10px;color:var(--muted);margin-top:3px}
.image-check .quality-hint{font-size:10px;color:var(--muted)}.quality-help{margin-top:12px;border-top:1px solid #d4dfe6;padding-top:3px}
.quality-help summary{font-size:12px;font-weight:600;cursor:pointer;padding:10px 0;min-height:44px}.quality-help p{color:var(--muted);margin:0 0 9px}
@media(max-width:420px){.image-check{padding:13px}.quality-options{gap:6px}.quality-options strong{font-size:11px}}

/* Product presentation: CSS geometry reuses the unmodified selected image. */
.art::after,.product-front::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;background:linear-gradient(112deg,transparent 12%,#fff0 22%,#ffffff42 23%,#ffffff10 39%,transparent 40%,transparent 47%,#ffffff50 48%,#ffffff10 63%,transparent 64%);background-size:155% 100%;background-position:var(--reflection-x,50%) center}
.art[data-finish="glossy"]::after,.product-front[data-finish="glossy"]::after{opacity:.85}
.art[data-finish="nonglare"]::after,.product-front[data-finish="nonglare"]::after{opacity:.14;background:linear-gradient(120deg,transparent,#ffffff42 42%,transparent 80%)}
.product-stage{position:relative;aspect-ratio:3/2;overflow:hidden;border-radius:12px;background:radial-gradient(ellipse at 45% 30%,#fff 0%,#f0f2f5 70%,#dfe5eb 100%);perspective:1200px}
.product-object{position:absolute;left:50%;top:47%;transform-style:preserve-3d;transform:translate(-50%,-50%) rotateX(var(--tilt,-8deg)) rotateY(var(--angle,-30deg));will-change:transform}
.product-face{position:absolute;left:0;top:0;backface-visibility:hidden;background:#eee}
.product-front{width:100%;height:100%;transform:translateZ(var(--half-depth));background:white}
.product-front img{width:100%;height:100%;object-fit:contain;display:block;user-select:none;pointer-events:none}
.product-side{height:100%;width:var(--depth);background:linear-gradient(90deg,#70848c,#effaff 37%,#aac9d6 65%,#e0ecf1)}
.product-left{left:calc(var(--depth) / -2);transform:rotateY(-90deg)}
.product-right{left:calc(100% - var(--depth) / 2);transform:rotateY(90deg)}
.product-top,.product-bottom{height:var(--depth);width:100%;background:linear-gradient(#e6f1f5,#80939d)}
.product-top{top:calc(var(--depth) / -2);transform:rotateX(90deg)}
.product-bottom{top:calc(100% - var(--depth) / 2);transform:rotateX(-90deg)}
.product-back{width:100%;height:100%;transform:rotateY(180deg) translateZ(var(--half-depth));background:#d6dadd}
.product-shadow{position:absolute;left:22%;right:22%;bottom:10%;height:5%;border-radius:50%;background:#35475b28;filter:blur(13px)}
.product-object[data-material="aluminum"] .product-side,.product-object[data-material="aluminum"] .product-top,.product-object[data-material="aluminum"] .product-bottom{background:linear-gradient(90deg,#697981,#e6eaed 45%,#85949b)}
.product-object[data-material="paper"] .product-face:not(.product-front){background:#f1eee5}
.angle-controls{display:flex;gap:15px;align-items:center;margin:13px 0;padding:13px 15px;background:#fff;border:1px solid var(--line);border-radius:8px}
.angle-controls label{font-size:12px;flex:1;min-width:0}.angle-controls input{width:100%;display:block;accent-color:var(--blue);margin-top:6px}.angle-controls output{float:right;color:var(--blue);font-variant-numeric:tabular-nums}.angle-controls button{white-space:nowrap}
.visual-head{flex-wrap:wrap}.tabs{flex-wrap:wrap}.tabs button{padding:8px 11px}.sizebadge{margin-left:auto}
@media(max-width:420px){.visual-head{gap:7px}.tabs{width:100%;display:grid;grid-template-columns:repeat(4,1fr)}.tabs button{padding:7px 4px;font-size:10px;min-height:40px}.angle-controls{gap:10px;padding:11px}.angle-controls label{font-size:11px}}
@media(prefers-reduced-motion:reduce){.product-object{will-change:auto}}

/* Close-up camera framing, with the actual uploaded artwork on every visible face. */
.product-stage{background:radial-gradient(ellipse at 35% 26%,#f9f8f5,#ebe9e5 75%,#dfdeda);perspective-origin:50% 50%}
.product-object{top:50%;transform:translate(calc(-50% + var(--pan-x,0px)),calc(-50% + var(--pan-y,0px))) rotateZ(3deg) rotateX(var(--tilt,-5deg)) rotateY(var(--angle,34deg))}
.product-shadow{display:none}
.product-cast-shadow{position:absolute;inset:0;background:#20313a20;transform:translate3d(7px,8px,calc(var(--half-depth) * -1 - 7px));filter:blur(7px);pointer-events:none}
.product-front{box-shadow:inset 0 0 0 1px #ffffff45}
.product-object[data-material="canvas"] .product-front{box-shadow:none;background:transparent}
.product-object[data-material="acrylic"] .product-side{background:linear-gradient(90deg,#536d7870,#d6f1f6 18%,#f8ffffdd 28%,#88b8c599 54%,#e4fbff 75%,#537a8580)}
.product-object[data-material="acrylic"] .product-front{box-shadow:inset 1px 0 0 #ffffffa0,inset -1px 0 0 #769aaf50}
.product-front::after,.art::after{background:linear-gradient(103deg,transparent 16%,#ffffff0a 23%,#ffffff4d 30%,#ffffff08 56%,transparent 64%),linear-gradient(91deg,transparent 0%,transparent 32%,#ffffff5e 32.3%,#ffffff1c 32.9%,transparent 33.3%,transparent 34.4%,#ffffff66 34.6%,transparent 35.2%,transparent 36.6%,#ffffff3b 36.8%,transparent 37.4%,transparent 100%);background-size:135% 100%;background-position:var(--reflection-x,50%) center}
.product-front[data-finish="glossy"]::after{opacity:.8}
.product-front[data-finish="nonglare"]::after{opacity:.13;background:linear-gradient(120deg,transparent,#ffffff42 42%,transparent 80%)}
.angle-controls{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:13px 20px}
.zoom-presets{grid-column:1/-1;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.zoom-presets button{padding:8px 12px;border:1px solid var(--line);border-radius:5px;background:white;font-size:11px;min-height:36px}
.zoom-presets button[aria-pressed=true]{color:var(--blue);background:#edf3ff;border-color:var(--blue)}
.zoom-presets #resetAngle{margin-left:auto;border:0;padding-right:0}
.closeup-hint{margin:0;font-size:11px;color:var(--muted);grid-column:1/-1}
@media(max-width:520px){.angle-controls{grid-template-columns:1fr 1fr}.zoom-control{grid-column:1/-1}.zoom-presets{gap:7px}.zoom-presets button{padding:8px 9px;min-height:40px}.product-stage .scene-label{font-size:9px;max-width:calc(100% - 20px)}}

/* Horizontal rotation only; the print stays upright. */
.product-object{transform:translate(calc(-50% + var(--pan-x,0px)),calc(-50% + var(--pan-y,0px))) rotateY(var(--angle,30deg))}
.product-stage{cursor:grab;touch-action:pan-y pinch-zoom;user-select:none}
.product-cast-shadow{display:none}.product-object[data-closeup="true"] .product-cast-shadow{display:block}
.product-stage.dragging{cursor:grabbing}.product-stage .scene-label{pointer-events:none}
.canvas-stretcher{display:none;position:absolute;inset:0;padding:3%;background:repeating-linear-gradient(2deg,#b59a75 0px,#b59a75 4px,#bea584 5px,#b59a75 8px);box-shadow:inset 0 0 0 1px #877354}
.canvas-stretcher:before{content:"";position:absolute;inset:3%;background:repeating-linear-gradient(0deg,#c9c6bc 0px,#c9c6bc 1px,#cecbc2 2px);box-shadow:inset 3px 3px 6px #59442b42}
.canvas-stretcher span{position:absolute;inset:3% 46%;background:repeating-linear-gradient(90deg,#b99f7c 0px,#c2aa89 3px,#b99f7c 7px);box-shadow:2px 0 4px #45352125}
.product-object[data-material="canvas"] .canvas-stretcher{display:block}
.rotation-controls{margin:13px 0;padding:13px 15px;background:white;border:1px solid var(--line);border-radius:8px}
.rotation-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px}
.rotation-actions button{padding:10px 13px;border:1px solid var(--line);border-radius:6px;background:white;font-size:12px;min-height:42px}
.rotation-actions button:first-child{color:var(--blue);border-color:#a2bcec;background:#f1f6ff}
.rotation-actions button[aria-pressed=true]{color:var(--blue);background:#edf3ff;border-color:var(--blue)}
.rotation-controls p{margin:9px 0 0;font-size:11px;color:var(--muted)}
.single-finish{grid-template-columns:1fr}.included-finish{min-height:0;padding:13px;text-align:left;background:#f3f7fc;border-color:#dce6f4}
.included-finish .swatch{float:left;margin:2px 16px 0 2px}.included-finish strong{padding-top:2px}.included-finish small{color:var(--blue)}
@media(max-width:420px){.rotation-actions{gap:6px}.rotation-actions button{font-size:11px;padding:9px 10px}.rotation-controls{padding:11px}}

/* Keep the room still while the print turns above the sofa. */
.product-stage{perspective:none;background:#e8dfd1}
.product-room{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none}
.product-turntable{position:absolute;z-index:1;overflow:visible;top:0;left:0;width:100%;height:62%;perspective:1200px;perspective-origin:50% 50%}
.product-stage[data-closeup="true"] .product-turntable{height:100%}
.product-stage .scene-label{z-index:2;background:#ffffffed}

/* The edge itself carries a source-resolution reflected slice of the artwork. */
.wrap-image{display:none;width:100%;height:100%;position:absolute;inset:0;overflow:hidden;pointer-events:none}
.product-object[data-material="canvas"] .wrap-image,.art.canvas .wrap-image{display:block}
.product-object[data-material="canvas"] .product-side,.product-object[data-material="canvas"] .product-top,.product-object[data-material="canvas"] .product-bottom{background:transparent;box-shadow:none}
.product-object[data-material="canvas"] .product-side::after,.product-object[data-material="canvas"] .product-top::after,.product-object[data-material="canvas"] .product-bottom::after{content:"";position:absolute;inset:0;background:#0000000b;pointer-events:none}
.room-wrap{display:none;position:absolute;pointer-events:none}
.art.canvas .room-wrap{display:block}
.art.canvas{box-shadow:8px 9px 12px #33271d35}
.room-wrap-right{left:100%;top:0;width:max(3px,var(--room-depth-x,2.5%));height:100%;transform:skewY(45deg);transform-origin:left top}
.room-wrap-bottom{left:0;top:100%;width:100%;height:max(3px,var(--room-depth-y,3.75%));transform:skewX(45deg);transform-origin:left top}
.room-wrap::after{content:"";position:absolute;inset:0;background:#0000000b}
.scene.detail .room-wrap{display:none}
.material[data-material="canvas"] .sample img{box-shadow:3px 4px 7px #23314230}

/* Paint a one-pixel overlap at each join to cover CSS 3D antialiasing gaps.
   The complete front image retains its original dimensions and proportions. */
.product-object[data-material="canvas"] .product-side{width:calc(var(--depth) + 2px)}
.product-object[data-material="canvas"] .product-left{left:calc(0px - var(--half-depth) - 1px)}
.product-object[data-material="canvas"] .product-right{left:calc(100% - var(--half-depth) - 1px)}
.product-object[data-material="canvas"] .product-top,.product-object[data-material="canvas"] .product-bottom{height:calc(var(--depth) + 2px)}
.product-object[data-material="canvas"] .product-top{top:calc(0px - var(--half-depth) - 1px)}
.product-object[data-material="canvas"] .product-bottom{top:calc(100% - var(--half-depth) - 1px)}

/* WordPress presentation integration. All layout styles are local assets. */
/* Recessed back-float frame: open rectangular support with real rear depth.
   Its eight walls and rear lip share the panel's 3D space for natural occlusion. */
.float-mount{position:absolute;transform-style:preserve-3d;pointer-events:none}
.product-object:not([data-material="acrylic"]):not([data-material="aluminum"]) .float-mount{display:none}
.mount-face{position:absolute;backface-visibility:hidden;background:#232426}
.mount-rear{inset:0;border:var(--mount-rail) solid;border-color:#343537 #28292b #242527 #303133;background:transparent;transform:translateZ(calc(0px - var(--mount-depth))) rotateY(180deg);box-shadow:inset 0 0 3px #0009,0 0 1px #111}
.mount-left,.mount-right,.mount-inner-left,.mount-inner-right{width:var(--mount-depth);height:100%;top:0;background:linear-gradient(90deg,#141517,#303133 70%,#1b1c1e)}
.mount-left{left:calc(0px - var(--mount-half-depth));transform:translateZ(calc(0px - var(--mount-half-depth))) rotateY(-90deg)}
.mount-right{left:calc(100% - var(--mount-half-depth));transform:translateZ(calc(0px - var(--mount-half-depth))) rotateY(90deg)}
.mount-top,.mount-bottom,.mount-inner-top,.mount-inner-bottom{height:var(--mount-depth);width:100%;left:0;background:linear-gradient(#151618,#38393b)}
.mount-top{top:calc(0px - var(--mount-half-depth));transform:translateZ(calc(0px - var(--mount-half-depth))) rotateX(90deg)}
.mount-bottom{top:calc(100% - var(--mount-half-depth));transform:translateZ(calc(0px - var(--mount-half-depth))) rotateX(-90deg)}
.mount-inner-left,.mount-inner-right{top:var(--mount-rail);height:calc(100% - 2 * var(--mount-rail));background:linear-gradient(90deg,#0e0f10,#242527)}
.mount-inner-left{left:calc(var(--mount-rail) - var(--mount-half-depth));transform:translateZ(calc(0px - var(--mount-half-depth))) rotateY(90deg)}
.mount-inner-right{left:calc(100% - var(--mount-rail) - var(--mount-half-depth));transform:translateZ(calc(0px - var(--mount-half-depth))) rotateY(-90deg)}
.mount-inner-top,.mount-inner-bottom{left:var(--mount-rail);width:calc(100% - 2 * var(--mount-rail));background:linear-gradient(#0c0d0e,#292a2c)}
.mount-inner-top{top:calc(var(--mount-rail) - var(--mount-half-depth));transform:translateZ(calc(0px - var(--mount-half-depth))) rotateX(-90deg)}
.mount-inner-bottom{top:calc(100% - var(--mount-rail) - var(--mount-half-depth));transform:translateZ(calc(0px - var(--mount-half-depth))) rotateX(90deg)}
.product-object[data-material="acrylic"] .product-back{background:linear-gradient(115deg,#222426,#111214)}
.product-object[data-material="aluminum"] .product-back{background:linear-gradient(115deg,#d0d2d3,#aeb2b5)}
.rights-confirm{display:flex;gap:10px;align-items:flex-start;font-size:13px;margin:18px 0}.rights-confirm input{width:19px;height:19px;flex:none;accent-color:var(--blue)}.review-actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.review-actions a{text-decoration:none;display:inline-block}.review{max-height:90vh;overflow:auto}.notice{line-height:1.6}.presets{grid-template-columns:repeat(2,1fr)}

/* Allow phone controls to shrink and wrap within the available screen width. */
@media(max-width:760px){
 .materials{grid-template-columns:repeat(2,minmax(0,1fr))}
 .material,.material>span:last-child,.barproduct>div,.barprice>div{min-width:0}
 .material strong,.barproduct strong,.barprice strong{overflow-wrap:anywhere}
 .barprice{display:grid;grid-template-columns:minmax(0,1fr) auto}
 .buybar{padding-bottom:max(12px,env(safe-area-inset-bottom,0px))}
 .unit-toggle button,.tabs button,.presets button,.rotation-actions button{min-height:44px}
 .position input[type=range]{height:32px;margin:0}
 .fileinput,.ownpanel input[type=file],.ownpanel input[type=number]{font-size:16px}
 .fileinput::file-selector-button{min-height:44px;font-size:14px}
 .review{max-height:90dvh}
}
@media(max-width:420px){
 .material{padding:11px 10px;gap:8px}
 .material[aria-pressed=true]{padding:10px 9px}
 .sample{width:44px;height:36px}
 .review{padding:20px}
 .review dl{grid-template-columns:86px minmax(0,1fr);gap:10px}
}

/* Placement stays easy to find from the rotating product preview. */
.placement-hint{font-size:12px;color:var(--muted);margin:12px 0 10px}
.art:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
.rotation-actions #moveOnWall{background:var(--blue);color:white;border-color:var(--blue);font-weight:700}
.rotation-actions #moveOnWall:hover{background:#1047b2}

/* Print detail is a viewing surface; scrolling and zooming remain native. */
.scene.detail .art{touch-action:auto}

/* Wall placement shows the artwork face; product construction stays in the inspector. */
.scene .art{box-shadow:0 3px 10px #19252f26}
.scene .art .room-wrap,.scene .art::after{display:none}

/* An independent camera enlarges artwork, edges and mounting as one product. */
.enlarge-preview{width:100%;min-height:44px;border:1px solid #a2bcec;border-radius:7px;background:#fff;color:var(--blue);font-weight:700;padding:10px 16px;text-align:center}
.enlarge-preview:hover{background:#edf3ff}
.inspect-dialog{position:fixed;inset:0;width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#f5f4f0;color:var(--ink);overflow:hidden}
.inspect-dialog[open]{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto}
.inspect-dialog::backdrop{background:#17242dee}
.inspect-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px max(20px,env(safe-area-inset-left));border-bottom:1px solid #dadeda;background:#fff}
.inspect-header h2{font-size:26px;letter-spacing:-.8px;margin:0}.inspect-header p:last-child{font-size:12px;color:var(--muted);margin:5px 0 0}
.inspect-header>button{flex:none;align-self:flex-start}
.inspect-dialog button{border:1px solid #cbd4dc;border-radius:6px;padding:9px 14px;min-height:44px;background:#fff;font-size:13px;white-space:nowrap}
.inspect-dialog button:hover{background:#edf3ff}.inspect-dialog button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.inspect-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 20px;background:#fff;border-bottom:1px solid #dadeda}
.inspect-toolbar [role=group]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.inspect-toolbar output{width:52px;text-align:center;font-size:13px;font-variant-numeric:tabular-nums}
.inspect-toolbar #inspectIn,.inspect-toolbar #inspectOut{font-size:21px;min-width:44px;padding:4px 10px}
.inspect-viewport{position:relative;min-height:0;overflow:hidden;touch-action:none;overscroll-behavior:contain;background:radial-gradient(ellipse at 40% 32%,#fffdf9,#e8e7e1);user-select:none;cursor:zoom-in}
.inspect-viewport[data-zoomed=true]{cursor:grab}.inspect-viewport.is-panning{cursor:grabbing}.inspect-viewport:focus-visible{outline:3px solid var(--blue);outline-offset:-3px}
.inspect-transform{position:absolute;inset:0;transform-origin:50% 50%;pointer-events:none}
.inspect-camera{position:absolute;inset:0;perspective-origin:50% 50%;transform-style:preserve-3d}
.inspect-camera .product-object{will-change:auto}
.inspect-footer{padding:10px 20px max(10px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid #dadeda}
.inspect-footer p{font-size:12px;margin:0;color:var(--muted)}.inspect-footer p+p{font-size:10px;margin-top:3px}
@media(max-width:520px){.inspect-header{padding:12px 14px;gap:10px}.inspect-header h2{font-size:21px}.inspect-header .eyebrow{font-size:10px}.inspect-header p:last-child{font-size:11px}.inspect-toolbar{padding:9px 12px;gap:7px}.inspect-dialog button{padding:8px 11px;font-size:12px}.inspect-toolbar [role=group]{gap:5px}.inspect-footer{padding-left:14px;padding-right:14px}.inspect-footer p{font-size:11px}}
@media(max-height:480px){.inspect-header{padding:7px 14px}.inspect-header .eyebrow{display:none}.inspect-header h2{font-size:18px}.inspect-toolbar{padding:5px 14px}.inspect-footer{padding:5px 14px}.inspect-footer p+p{display:none}}

/* Prominent five-colour frame discovery; quote authority stays in the server cart. */
.aa-frame-discovery{border:2px solid #224f43;background:#faf8f0;scroll-margin-top:90px}.aa-frame-discovery h2{font-size:21px}.aa-frame-discovery>p{line-height:1.6}.aa-frame-colours{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0;list-style:none;margin:20px 0}.aa-frame-colours li{font-size:13px;font-weight:700;display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center}.aa-frame-colours i{display:block;width:44px;height:44px;border:8px solid var(--frame-colour);background:#faf8f0;box-shadow:0 0 0 1px #bbb,2px 3px 4px #0002}.aa-frame-black{--frame-colour:#222}.aa-frame-white{--frame-colour:#f2f0e8}.aa-frame-walnut{--frame-colour:#79553b}.aa-frame-espresso{--frame-colour:#42312a}.aa-frame-bronze{--frame-colour:#9a7851}.aa-frame-discovery .primary{width:100%;min-height:48px;white-space:normal}.aa-frame-discovery .fineprint{margin-top:14px}.aa-frame-review-hint{padding:14px;background:#faf8f0;border-left:3px solid #224f43;line-height:1.5}

/* Visual framing and screen-only zoom; print geometry stays unchanged. */
.aa-preview-tools{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0;align-items:center}
.aa-preview-tools button{min-height:44px;padding:10px 18px;border-radius:8px;border:1px solid #b6c4cb;background:#fff;font-weight:700;color:#153e3b}
.aa-preview-tools #zoomArtwork{background:#1556d9;border-color:#1556d9;color:#fff}
.aa-frame-colours{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));padding:0!important;gap:10px!important;list-style:none}
.aa-frame-colours li{display:block!important}
.aa-frame-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;width:100%;min-height:96px;padding:12px 6px;border:2px solid transparent;background:#fff;border-radius:8px;font:inherit;color:#102e33;cursor:pointer}
.aa-frame-choice[aria-pressed=true]{border-color:#1556d9;background:#eaf1ff;box-shadow:0 0 0 1px #1556d9}
.aa-frame-choice:focus-visible{outline:3px solid #1556d9;outline-offset:3px}
.aa-frame-choice:disabled{opacity:.45;cursor:not-allowed}
.aa-frame-choice i{display:block!important;width:45px;height:45px;box-sizing:border-box;border:8px solid #252522;background:#f7f4eb;box-shadow:1px 2px 4px #0003}
.aa-frame-choice i.aa-frame-none{border:1px dashed #80908c;background:#fff;box-shadow:none}
.aa-frame-choice i.aa-frame-white{border-color:#eeeae1}
.aa-frame-choice i.aa-frame-walnut{border-color:#79543b}
.aa-frame-choice i.aa-frame-espresso{border-color:#3b2e29}
.aa-frame-choice i.aa-frame-bronze{border-color:#9a7b51}
.aa-frame-choice span{font-size:12px;line-height:1.3;font-weight:700}
.aa-visual-frame{display:none;position:absolute;inset:calc(-1 * var(--aa-frame-width,10px) - 2px);border:var(--aa-frame-width,10px) solid var(--aa-frame-colour);box-sizing:content-box;pointer-events:none;box-shadow:inset 0 0 0 2px #1f1c18,2px 4px 8px #0005;z-index:8}
[data-preview-frame]:not([data-preview-frame=none])>.aa-visual-frame{display:block}
.product-object .product-front>.aa-visual-frame{display:none}
.product-object:not([data-preview-frame=none]) .product-front>.aa-visual-frame{display:block}
#framePreviewStatus{font-weight:600;line-height:1.5}
.aa-artwork-zoom{width:calc(100vw - 32px);max-width:1500px;height:calc(100dvh - 32px);max-height:none;padding:20px;box-sizing:border-box;border:0;border-radius:12px;background:#f7f5f0;color:#183b3b;overflow:hidden}
.aa-artwork-zoom::backdrop{background:#101d26c9}
.aa-artwork-zoom[open]{display:flex;flex-direction:column;gap:12px}
.aa-artwork-zoom header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.aa-artwork-zoom h2{margin:0;font-size:24px}
.aa-artwork-zoom header p{margin:6px 0 0;font-size:13px}
.aa-artwork-zoom button{min-height:44px;border:1px solid #a9b9b6;border-radius:7px;background:white;color:#183b3b;padding:8px 14px;font:inherit;cursor:pointer}
.aa-artwork-zoom button:disabled{opacity:.4}
.aa-zoom-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.aa-zoom-toolbar label{display:flex;align-items:center;gap:8px}
.aa-zoom-toolbar input{width:160px;accent-color:#1556d9}
.aa-zoom-toolbar output{min-width:44px;font-weight:700}
.aa-zoom-scroll{flex:1;min-height:160px;overflow:auto;background:#e5e7e4;border-radius:8px;overscroll-behavior:contain}
.aa-zoom-canvas{display:grid;place-items:center;position:relative;min-width:100%;min-height:100%}
.aa-zoom-picture{position:relative;flex-shrink:0;box-shadow:0 4px 18px #0003;--aa-frame-width:10px}
.aa-zoom-picture img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:contain}
.aa-zoom-frames{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.aa-zoom-frames .aa-frame-choice{min-height:64px;padding:6px}
.aa-zoom-frames .aa-frame-choice i{width:30px;height:30px;border-width:6px}
.aa-zoom-note{font-size:12px;line-height:1.4;margin:0}
@media(max-width:600px){.aa-artwork-zoom{width:100vw;height:100dvh;padding:12px;border-radius:0}.aa-artwork-zoom h2{font-size:19px}.aa-zoom-frames{grid-template-columns:repeat(3,minmax(0,1fr))}.aa-zoom-frames .aa-frame-choice{min-height:53px;flex-direction:row}.aa-zoom-frames .aa-frame-choice span{font-size:10px}.aa-zoom-frames .aa-frame-choice i{width:22px;height:22px;border-width:4px}.aa-zoom-toolbar{gap:6px}.aa-zoom-toolbar input{width:100px}.aa-zoom-toolbar button{padding:6px 10px}}

/* Zoom the room camera as one unit; physical print-to-wall proportions do not change. */
.aa-room-camera{position:absolute;inset:0;width:100%;height:100%;transform-origin:50% 32%;will-change:transform}
.aa-room-zoom{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:10px 0 14px;padding:12px 14px;background:#e9eef2;border-radius:8px}
.aa-room-zoom label{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:700}
.aa-room-zoom button{min-width:44px;min-height:44px;border:1px solid #aebdbd;border-radius:7px;background:#fff;color:#153c3b;padding:6px 12px;font:inherit}
.aa-room-zoom input{width:140px;accent-color:#1556d9}
.aa-room-zoom output{min-width:44px;font-weight:700}
.aa-room-zoom small{flex-basis:100%;font-size:11px;color:#415662}
.aa-frame-estimate{padding:14px;background:#fff;border:1px solid #b9cfc5;border-radius:8px;margin:12px 0}
.aa-frame-estimate p{display:flex;justify-content:space-between;gap:12px;margin:5px 0}
.aa-frame-estimate .aa-complete-estimate{border-top:1px solid #cfdbd6;padding-top:9px;font-weight:700}
.aa-frame-estimate small{display:block;line-height:1.45;color:#415662;margin-top:9px}
.aa-room-zoom[hidden],.aa-frame-estimate[hidden]{display:none}
@media(max-width:600px){.aa-room-zoom input{width:100px}.aa-room-zoom{padding:10px;gap:6px}}

/* High-detail artwork zoom: raster detail and frame finish remain independent layers. */
.aa-zoom-picture img{image-rendering:auto;backface-visibility:hidden}
[data-preview-frame=black] .aa-visual-frame{border-image:linear-gradient(135deg,#151515,#3a3a37 48%,#171716) 1}
[data-preview-frame=white] .aa-visual-frame{border-image:linear-gradient(135deg,#faf8f1,#ddd8ce 48%,#f5f2e8) 1}
[data-preview-frame=walnut] .aa-visual-frame{border-image:linear-gradient(135deg,#30231b,#4e3828 48%,#38291f) 1}
[data-preview-frame=espresso] .aa-visual-frame{border-image:linear-gradient(135deg,#211915,#30231d 48%,#261c17) 1}
[data-preview-frame=bronze] .aa-visual-frame{border-image:linear-gradient(135deg,#3d2e24,#604733 48%,#483528) 1}

/* Real supplier corner samples, including mobile and keyboard inspection. */
.aa-corner-samples-ready>.aa-frame-colours{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.aa-corner-samples-ready .aa-frame-choice{min-height:174px;gap:6px;padding:10px;background:#fff;justify-content:flex-start;border:1px solid #cbd3ca;border-radius:10px}
.aa-corner-samples-ready .aa-frame-choice[aria-pressed=true]{border:2px solid #225548;padding:9px;background:#eff5ed;box-shadow:0 0 0 1px #225548}
.aa-corner-samples-ready .aa-frame-choice img{display:block;width:100%;height:124px;object-fit:contain;background:#f7f7f7;border-radius:5px}
.aa-corner-samples-ready .aa-frame-choice span{font-size:14px}
.aa-corner-samples-ready .aa-frame-choice small{font-size:11px;color:#61716a;letter-spacing:.03em}
.aa-corner-samples-ready .aa-frame-choice[data-preview-frame=none]{justify-content:center}
.aa-corner-photo-note{font-size:13px;color:#53635a;line-height:1.5}
.aa-open-corner-samples{display:block;width:100%;padding:13px 16px;min-height:48px;background:#173f34;color:#fff;border:1px solid #173f34;border-radius:8px;font:inherit;font-size:14px;font-weight:700;cursor:pointer;white-space:normal}
.aa-open-corner-samples:hover{background:#275c4b}
.aa-open-corner-samples:focus-visible,.aa-frame-sample-dialog button:focus-visible{outline:3px solid #b5862e;outline-offset:3px}
#artworkZoomDialog .aa-open-corner-samples{width:auto;margin:12px 20px}
.aa-frame-sample-dialog{box-sizing:border-box;width:min(1120px,calc(100vw - 32px));max-width:none;height:min(920px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:14px;background:#f7f6f0;color:#17372d;overflow:hidden}
.aa-frame-sample-dialog[open]{display:flex;flex-direction:column}
.aa-frame-sample-dialog::backdrop{background:#10291ee0}
.aa-sample-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 24px 12px;background:#fff;border-bottom:1px solid #d8dfd6}
.aa-sample-header h2{font-size:27px;line-height:1.15;margin:4px 0;letter-spacing:-.5px}
.aa-sample-header p{margin:0;font-size:13px;color:#596a60}
.aa-sample-header .aa-sample-eyebrow{font-size:10px;letter-spacing:.16em;color:#906d2b;font-weight:800}
.aa-frame-sample-dialog button{font:inherit;min-height:42px;border:1px solid #bbcbbd;border-radius:7px;background:#fff;color:#173f34;padding:8px 12px;cursor:pointer;font-size:13px}
.aa-frame-sample-dialog button:hover{border-color:#225548;background:#edf3ea}
.aa-frame-sample-dialog button[aria-pressed=true]{border:2px solid #225548;background:#e8f0e4;font-weight:700}
.aa-frame-sample-dialog button:disabled{opacity:.45;cursor:not-allowed}
.aa-sample-colours{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;padding:12px 24px 8px}
.aa-sample-colours button{display:grid;grid-template-columns:44px 1fr;grid-template-rows:1fr 1fr;column-gap:9px;align-items:center;text-align:left;padding:6px 8px;min-width:0}
.aa-sample-colours button[aria-pressed=true]{padding:5px 7px}
.aa-sample-colours img{grid-row:1/3;width:44px;height:44px;object-fit:contain;border-radius:4px}
.aa-sample-colours span{font-size:12px;line-height:1.2}
.aa-sample-colours small{font-size:10px;color:#61716a}
.aa-sample-controls{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:4px 24px 12px}
.aa-sample-controls [role=group]{display:flex;flex-wrap:wrap;gap:7px}
.aa-sample-stage{flex:1;min-height:100px;overflow:auto;background:#fff;border-block:1px solid #d8dfd6;text-align:center;padding:12px;overscroll-behavior:contain}
.aa-sample-stage img{display:block;width:auto;height:100%;max-height:100%;max-width:100%;object-fit:contain;margin:auto}
.aa-sample-stage img.aa-sample-actual{height:auto;width:auto;max-width:none;max-height:none}
.aa-sample-load{flex:none;min-height:16px;font-size:11px;color:#56655b;margin:5px 24px}
.aa-sample-footer{flex:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:9px 24px 16px;background:#f7f6f0}
.aa-sample-footer p{font-size:12px;line-height:1.4;color:#53635a;margin:0;max-width:610px}
.aa-sample-footer button{background:#173f34;color:#fff;font-weight:700;white-space:normal;min-width:215px}
.aa-sample-footer button:hover{background:#275c4b;color:#fff}
@media(max-width:700px){
 .aa-frame-sample-dialog{width:calc(100vw - 12px);height:calc(100dvh - 12px);max-height:calc(100dvh - 12px);border-radius:9px}
 .aa-sample-header{padding:14px 14px 10px}.aa-sample-header h2{font-size:22px}
 .aa-sample-colours{padding:8px 12px;gap:6px}
 .aa-sample-colours button{display:flex;flex-direction:column;gap:3px;text-align:center;padding:5px 3px}
 .aa-sample-colours button[aria-pressed=true]{padding:4px 2px}
 .aa-sample-colours img{width:42px;height:42px}
 .aa-sample-colours span{font-size:10px;min-height:23px}
 .aa-sample-colours small{font-size:9px}
 .aa-sample-controls{padding:0 12px 9px}
 .aa-sample-controls button{padding:7px 9px;font-size:11px;min-height:38px}
 .aa-sample-load{margin:4px 12px;font-size:10px}
 .aa-sample-footer{flex-direction:column;align-items:stretch;gap:8px;padding:8px 12px 12px}
 .aa-sample-footer p{font-size:10px}
 .aa-sample-footer button{width:100%;min-height:44px}
}
