/* Layout geometry comes exclusively from hero-layout.json. */
.hero-layered .hl-canvas{position:absolute;inset:0 auto auto 0;transform-origin:0 0}
.hero-layered .hl-node{position:absolute;transform-origin:0 0;box-sizing:border-box}
.hero-layered .hl-group{pointer-events:none}.hero-layered .hl-group>.hl-node{pointer-events:auto}
.hero-layered .hl-photo{display:block;position:relative;z-index:2;width:100%;height:auto;aspect-ratio:auto;background:transparent;user-select:none}
.hero-layered .hl-reflection{position:absolute;z-index:0;top:100%;left:0;width:100%;height:54%;object-fit:fill;background:transparent;transform:scaleY(-1);opacity:var(--ro);filter:blur(1.4px);mask-image:linear-gradient(to top,#000b,transparent 90%);pointer-events:none}
.hero-layered .hl-shadow,.hero-layered .hl-ambient{position:absolute;pointer-events:none;z-index:1;bottom:-3%;left:3%;width:94%;height:8%;border-radius:50%;background:#02060a;transform:translate(var(--sx),var(--sy));filter:blur(var(--sb));opacity:var(--so)}
.hero-layered .hl-ambient{z-index:0;bottom:-7%;left:-3%;width:108%;height:17%;opacity:calc(var(--so)*.56);filter:blur(calc(var(--sb) + 9px))}
.hero-layered .hl-label{color:white;white-space:nowrap;line-height:1.2;padding:0 0 23px 12px;border-left:1px solid #087cff}
.hero-layered .hl-label small{display:block;color:#c6d6e5;margin-top:3px}
.hero-layered .hl-label:before,.hero-layered .hl-label:after{content:'';position:absolute;width:5px;height:5px;left:-3px;border-radius:50%;background:#168eff}.hero-layered .hl-label:before{top:0}.hero-layered .hl-label:after{bottom:0}
.hero-editing .hl-image,.hero-editing .hl-label{cursor:move;touch-action:none;user-select:none}
.hero-editing .product-stage{z-index:30}
.he-toggle{position:fixed;right:20px;bottom:80px;z-index:1000;padding:12px 20px;background:#006ff5;color:white;border:1px solid #65acff;border-radius:6px;cursor:pointer}
.he-panel{position:fixed;right:12px;top:100px;width:268px;max-height:calc(100vh - 115px);overflow:auto;z-index:1001;padding:16px;background:#f5f7fb;color:#14283e;border:1px solid #adbed1;border-radius:8px;box-shadow:0 10px 35px #0004;font:13px/1.5 system-ui,sans-serif}
.he-panel h2{font-size:18px;margin:0 0 12px}.he-panel label{font-size:12px;margin:0;display:block;color:#334b64}.he-panel select,.he-panel input{box-sizing:border-box;font:13px system-ui;margin:4px 0 0;padding:7px;width:100%;min-width:0;border:1px solid #b8c5d2;border-radius:4px;background:white;color:#14283e}
.he-panel .he-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.he-panel button{font:12px system-ui;padding:8px;border:1px solid #b8c5d2;border-radius:4px;background:white;color:#14283e;cursor:pointer}.he-panel button:disabled{opacity:.45;cursor:default}
.he-group-actions,.he-actions{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0}.he-panel [data-save]{background:#0070fa;color:white}.he-panel p{font-size:12px;line-height:1.5;margin:10px 0 0}.he-panel strong{font-size:13px}
.he-outline{position:fixed;z-index:999;outline:2px solid #168bff;pointer-events:none;box-sizing:border-box}
.he-name{position:absolute;bottom:100%;left:0;background:#006ce8;color:white;font:12px/1.5 system-ui;white-space:nowrap;padding:3px 6px}
.he-handle{position:absolute;width:13px;height:13px;border:2px solid white;background:#087cff;padding:0;pointer-events:auto;touch-action:none;border-radius:2px}.he-handle.nw{left:-7px;top:-7px;cursor:nwse-resize}.he-handle.ne{right:-7px;top:-7px;cursor:nesw-resize}.he-handle.sw{left:-7px;bottom:-7px;cursor:nesw-resize}.he-handle.se{right:-7px;bottom:-7px;cursor:nwse-resize}
@media(max-width:760px){.hero-layered .hl-canvas>.hl-image{display:none}.hero-editing .hl-canvas>.hl-image{display:block}.he-panel{top:auto;bottom:0;right:0;width:100%;max-height:36vh;border-radius:0}.he-panel .he-fields{grid-template-columns:repeat(4,1fr)}.he-toggle{bottom:80px}}
