
/* Full-width builder page mode */
body.rgsb-builder-active{overflow:hidden!important;margin:0!important;padding:0!important}
html:has(body.rgsb-builder-active){overflow:hidden!important}
body.rgsb-builder-active .rgsb-app{position:fixed!important;inset:0!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;height:100vh!important;max-width:100vw!important;max-height:100vh!important;margin:0!important;border:0!important;z-index:999999!important}
body.rgsb-builder-active .rgsb-topbar{top:0!important}
body.rgsb-builder-active #wpadminbar{display:none!important}
body.rgsb-builder-active .entry-content,
body.rgsb-builder-active .site-content,
body.rgsb-builder-active .content-area,
body.rgsb-builder-active .container,
body.rgsb-builder-active .wp-site-blocks,
body.rgsb-builder-active main,
body.rgsb-builder-active article{max-width:none!important;width:100%!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important}
body.rgsb-builder-active .rgsb-app{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;max-width:100vw!important;margin:0!important;border:0!important;z-index:999999!important}
body.rgsb-builder-active .rgsb-layout{grid-template-columns:250px minmax(0,1fr) 280px!important}
body.rgsb-builder-active .rgsb-center{padding-left:14px!important;padding-right:14px!important}
@media(min-width:1400px){body.rgsb-builder-active .rgsb-layout{grid-template-columns:270px minmax(0,1fr) 300px!important}.rgsb-left,.rgsb-right{padding-left:18px;padding-right:18px}}
.rgsb-error{max-width:900px;margin:30px auto;padding:16px;border:1px solid #f2b8b5;background:#fff5f5;border-radius:10px}
.rgsb-app{background:#fff;border:1px solid #e5e7eb;height:100vh;min-height:0;width:100vw;max-width:100vw;margin:0;box-sizing:border-box;overflow:hidden}
.rgsb-topbar{min-height:52px;display:flex;align-items:center;gap:12px;padding:8px 14px;border-bottom:1px solid #e5e7eb;background:#fff;position:sticky;top:0;z-index:10;box-sizing:border-box}
.rgsb-brand{font-weight:800;margin-right:8px;white-space:nowrap}.rgsb-size-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700}.rgsb-size-label select{min-width:230px;height:36px}.rgsb-topbar .button-primary{margin-left:auto;background:#111827;border-color:#111827;white-space:nowrap}
.rgsb-layout{display:grid;grid-template-columns:250px minmax(620px,1fr) 260px;height:calc(100% - 52px);min-height:0;align-items:stretch;overflow:hidden}
.rgsb-left{border-right:1px solid #e5e7eb;padding:16px;background:#fafafa;box-sizing:border-box;z-index:2;overflow-y:auto;min-height:0}.rgsb-drop{border:1px dashed #cbd5e1;border-radius:12px;background:#fff;padding:18px;text-align:center;display:flex;gap:8px;flex-direction:column;align-items:center}.rgsb-drop.is-drag{background:#eef6ff;border-color:#2563eb}.rgsb-upload-label{display:inline-flex;align-items:center;gap:10px;background:#111827;color:#fff;border-radius:8px;padding:10px 14px;cursor:pointer;font-weight:700}.rgsb-upload-label input{display:none}.rgsb-drop small{color:#64748b;line-height:1.35}.rgsb-tools{display:grid;gap:8px;margin-top:14px}.rgsb-tools .button{width:100%}
.rgsb-center{overflow:scroll;overflow-x:scroll;overflow-y:scroll;scrollbar-gutter:stable both-edges;background:#f8fafc;padding:0 12px 16px;box-sizing:border-box;min-width:0;min-height:0;overscroll-behavior:contain;touch-action:none}.rgsb-ruler{height:24px;position:relative;background:#fff;border-bottom:1px solid #cbd5e1;margin:0 auto}.rgsb-ruler span{position:absolute;top:4px;font-size:10px;color:#475569;border-left:1px solid #94a3b8;padding-left:2px;height:18px}.rgsb-canvas-shell{width:max-content;margin:0 auto 40px;background:#fff;box-shadow:0 0 0 1px #cbd5e1;position:relative}
.rgsb-right{border-left:1px solid #e5e7eb;padding:16px;background:#fff;box-sizing:border-box;z-index:2;position:relative;min-width:260px;overflow-y:auto;min-height:0}.rgsb-right-inner{position:sticky;top:66px}.rgsb-right h3{font-size:15px;margin:0 0 12px}.rgsb-sheet-card{border:1px solid #cbd5e1;border-radius:10px;padding:14px;background:#fff}.rgsb-sheet-card>strong{display:block;font-size:14px}.rgsb-sheet-card>#rgsb-price{display:block;margin-top:4px;font-weight:800;font-size:20px}.rgsb-row{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #eef2f7;padding-top:10px;margin-top:10px;font-size:13px}.rgsb-note{font-size:13px;line-height:1.4;color:#b45309;margin-top:12px}.rgsb-hidden-form{display:none!important}
#rgsb-canvas{display:block;background-color:#fff;background-image:linear-gradient(45deg,#ddd 25%,transparent 25%),linear-gradient(-45deg,#ddd 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ddd 75%),linear-gradient(-45deg,transparent 75%,#ddd 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0}
@media(max-width:1000px){body.rgsb-builder-active{overflow:auto}.rgsb-app{width:100%;height:auto;min-height:82vh;border-left:0;border-right:0}.rgsb-layout{grid-template-columns:1fr}.rgsb-left,.rgsb-right{border:0;border-bottom:1px solid #e5e7eb}.rgsb-right{border-top:1px solid #e5e7eb}.rgsb-right-inner{position:static}.rgsb-topbar{flex-wrap:wrap;height:auto}.rgsb-topbar .button-primary{margin-left:0}}
.rgsb-margin-box{border-top:1px solid #eef2f7;margin-top:12px;padding-top:12px}.rgsb-margin-box label{display:block;font-weight:800;font-size:13px;margin-bottom:8px}.rgsb-margin-box small{display:block;font-weight:500;color:#64748b;margin-top:2px}.rgsb-margin-control{display:flex;align-items:center;gap:6px}.rgsb-margin-control input{width:76px;height:34px}.rgsb-margin-control .button{height:34px;line-height:30px;padding:0 10px}.rgsb-margin-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}.rgsb-margin-presets .button{font-size:12px;padding:0 4px;min-height:30px;line-height:28px}
.rgsb-edit-panel{margin-top:14px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;overflow:hidden;display:block!important}
.rgsb-edit-title{background:#111827;color:#fff;text-align:center;padding:10px 12px;font-weight:700;font-size:13px;letter-spacing:.2px}
.rgsb-edit-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-top:1px solid #f1f5f9}
.rgsb-edit-row:first-of-type{border-top:0}
.rgsb-edit-row>label{flex:0 0 auto;font-size:13px;font-weight:600;color:#0f172a;min-width:80px}
.rgsb-edit-input{flex:1;display:flex;align-items:center;gap:6px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;padding:0 8px 0 10px;height:34px;box-sizing:border-box}
.rgsb-edit-input:focus-within{border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.15)}
.rgsb-edit-input input{flex:1;border:0;outline:0;background:transparent;font-size:13px;color:#0f172a;min-width:0;padding:0;height:32px;-moz-appearance:textfield}
.rgsb-edit-input input[disabled]{color:#94a3b8;cursor:not-allowed;background:transparent}
.rgsb-edit-input input[readonly]{color:#475569;cursor:default}
.rgsb-edit-input input::-webkit-inner-spin-button,.rgsb-edit-input input::-webkit-outer-spin-button{height:28px}
.rgsb-edit-unit{font-size:12px;color:#64748b;font-weight:600}
.rgsb-edit-lock{flex:0 0 auto;width:24px;height:24px;border:0;background:transparent;padding:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:#0f172a}
.rgsb-edit-lock[disabled]{cursor:not-allowed;color:#cbd5e1}
.rgsb-edit-lock:not([disabled]):hover{color:#2563eb}
.rgsb-edit-lock .rgsb-lock-icon{width:14px;height:18px;display:inline-block;background:currentColor;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain;mask-repeat:no-repeat;mask-position:center;mask-size:contain;-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 18'><path d='M3 8V5a4 4 0 0 1 8 0v3h.5a1.5 1.5 0 0 1 1.5 1.5v6.5A1.5 1.5 0 0 1 11.5 18h-9A1.5 1.5 0 0 1 1 16.5V9.5A1.5 1.5 0 0 1 2.5 8H3Zm1.6 0h4.8V5a2.4 2.4 0 0 0-4.8 0v3Z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 18'><path d='M3 8V5a4 4 0 0 1 8 0v3h.5a1.5 1.5 0 0 1 1.5 1.5v6.5A1.5 1.5 0 0 1 11.5 18h-9A1.5 1.5 0 0 1 1 16.5V9.5A1.5 1.5 0 0 1 2.5 8H3Zm1.6 0h4.8V5a2.4 2.4 0 0 0-4.8 0v3Z'/></svg>")}
.rgsb-edit-lock:not(.is-locked) .rgsb-lock-icon{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 18'><path d='M3 8V5a4 4 0 0 1 7.6-1.6.8.8 0 1 1-1.4.8A2.4 2.4 0 0 0 4.6 5v3h7A1.5 1.5 0 0 1 13 9.5v6.5A1.5 1.5 0 0 1 11.5 18h-9A1.5 1.5 0 0 1 1 16.5V9.5A1.5 1.5 0 0 1 2.5 8H3Z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 18'><path d='M3 8V5a4 4 0 0 1 7.6-1.6.8.8 0 1 1-1.4.8A2.4 2.4 0 0 0 4.6 5v3h7A1.5 1.5 0 0 1 13 9.5v6.5A1.5 1.5 0 0 1 11.5 18h-9A1.5 1.5 0 0 1 1 16.5V9.5A1.5 1.5 0 0 1 2.5 8H3Z'/></svg>");color:#94a3b8}
.rgsb-edit-hint{font-size:11px;color:#94a3b8;text-align:center;padding:8px 12px 10px;border-top:1px solid #f1f5f9;line-height:1.35}
.rgsb-edit-hint.is-hidden{display:none}

/* v1.3.0 measurement rulers */
.rgsb-ruler-grid{display:grid;grid-template-columns:34px max-content;grid-template-rows:28px max-content;align-items:start;justify-content:center;margin:0 auto 40px;width:max-content}
.rgsb-ruler-corner{grid-column:1;grid-row:1;height:28px;width:34px;background:#fff;border-right:1px solid #cbd5e1;border-bottom:1px solid #cbd5e1;font-size:10px;color:#64748b;display:flex;align-items:center;justify-content:center;box-sizing:border-box}
.rgsb-ruler-horizontal{grid-column:2;grid-row:1;height:28px;position:relative;background:#fff;border-bottom:1px solid #cbd5e1;box-sizing:border-box;overflow:hidden}
.rgsb-ruler-vertical{grid-column:1;grid-row:2;width:34px;position:relative;background:#fff;border-right:1px solid #cbd5e1;box-sizing:border-box;overflow:hidden}
.rgsb-ruler-horizontal .rgsb-ruler-major{position:absolute;top:3px;height:25px;border-left:1px solid #475569;padding-left:2px;font-size:10px;line-height:12px;color:#475569;box-sizing:border-box}
.rgsb-ruler-horizontal .rgsb-ruler-half{position:absolute;bottom:0;height:9px;border-left:1px solid #94a3b8}
.rgsb-ruler-vertical .rgsb-ruler-major{position:absolute;left:0;width:34px;border-top:1px solid #475569;padding-top:1px;padding-left:2px;font-size:10px;line-height:10px;color:#475569;box-sizing:border-box}
.rgsb-ruler-vertical .rgsb-ruler-half{position:absolute;right:0;width:9px;border-top:1px solid #94a3b8}
.rgsb-ruler-grid .rgsb-canvas-shell{grid-column:2;grid-row:2;margin:0;background:#fff;box-shadow:0 0 0 1px #cbd5e1;position:relative}

/* v1.3.2 upload thumbnail shelf + text tile */
.rgsb-upload-thumbs{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}
.rgsb-add-text-tile,.rgsb-thumb{position:relative;width:66px;height:78px;border:1px solid #dbe3ee;background:#fff;border-radius:4px;padding:4px;cursor:pointer;box-sizing:border-box;display:flex;align-items:center;justify-content:center;overflow:hidden}
.rgsb-add-text-tile{flex-direction:column;gap:4px;color:#111827;font-size:12px;font-weight:600}
.rgsb-add-text-tile:hover,.rgsb-thumb:hover{border-color:#111827;box-shadow:0 1px 3px rgba(15,23,42,.12)}
.rgsb-add-text-icon{font-family:Georgia,serif;font-size:24px;line-height:24px;font-weight:700}
.rgsb-thumb img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.rgsb-thumb-x{position:absolute;top:0;right:0;width:18px;height:18px;line-height:17px;text-align:center;background:#ef4444;color:#fff;font-size:16px;font-weight:800;border-radius:0 3px 0 3px;z-index:2}
.rgsb-thumb-count{position:absolute;right:0;bottom:0;min-width:18px;height:18px;line-height:18px;text-align:center;background:#111827;color:#fff;font-size:12px;font-weight:800;border-radius:3px 0 0 0;z-index:2}

/* v1.3.4 multiple active gang sheets */
.rgsb-active-sheets-list{display:grid;gap:10px;margin-bottom:14px}
.rgsb-active-sheet-card{position:relative;border:1px solid #cbd5e1;border-radius:8px;background:#fff;padding:12px 10px;cursor:pointer;min-height:112px;box-sizing:border-box}
.rgsb-active-sheet-card.is-active{border-color:#111827;box-shadow:0 0 0 1px #111827}
.rgsb-active-sheet-card .rgsb-sheet-size-line{font-size:11px;color:#64748b;margin-bottom:8px;padding-right:28px}
.rgsb-active-sheet-card strong{display:block;font-size:14px;color:#111827;margin-bottom:8px;padding-right:28px}
.rgsb-active-sheet-card small{display:block;font-size:12px;font-weight:700;color:#64748b;margin-bottom:10px}
.rgsb-sheet-edit{position:absolute;right:10px;top:28px;border:0;background:transparent;font-size:20px;line-height:20px;cursor:pointer;color:#111827;padding:0}
.rgsb-sheet-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}
.rgsb-sheet-actions label{display:flex;align-items:center;gap:5px;font-weight:700;margin:0}
.rgsb-sheet-actions input{width:62px;height:32px;padding:2px 6px}
.rgsb-sheet-actions button{border:0;background:transparent;color:#111827;cursor:pointer;padding:2px 0;font-size:12px}
.rgsb-sheet-actions .rgsb-remove-sheet{color:#ef4444}
.rgsb-panel-actions{display:grid;gap:9px;margin:16px 0 18px}
.rgsb-panel-actions button{border:0;background:transparent;text-align:left;padding:0;font-weight:700;color:#111827;cursor:pointer;font-size:14px}
.rgsb-panel-actions button:hover{text-decoration:underline}
.rgsb-current-details{margin-top:14px}

/* v1.3.5 keep browser still while scrolling/zooming the gang sheet work area */
.rgsb-center.is-zooming{cursor:zoom-in}

/* v1.3.6 Auto Build wizard */
.rgsb-start-modal{position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:10000;display:flex;align-items:center;justify-content:center}
.rgsb-start-card{position:relative;width:min(520px,92vw);background:#fff;border-radius:10px;box-shadow:0 20px 60px rgba(15,23,42,.25);padding:18px}
.rgsb-start-card h2{font-size:20px;margin:0 0 14px;color:#111827}.rgsb-start-x{position:absolute;right:12px;top:10px;border:0;background:transparent;font-size:24px;cursor:pointer;color:#111827}
.rgsb-start-card button:not(.rgsb-start-x){width:100%;height:42px;margin:7px 0;border:0;border-radius:7px;background:#111827;color:#fff;font-weight:800;text-align:left;padding:0 18px;cursor:pointer;display:flex;align-items:center;justify-content:space-between}
.rgsb-app.is-autobuild-mode .rgsb-ruler-grid,.rgsb-app.is-autobuild-mode .rgsb-floating-autobuild{display:none!important}
.rgsb-autobuild-screen{padding:20px 24px;min-width:720px}.rgsb-autobuild-screen[hidden]{display:none!important}
.rgsb-autobuild-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.rgsb-autobuild-head h2{margin:0;flex:1;font-size:20px;color:#111827}.rgsb-autobuild-head .button-primary{background:#111827;border-color:#111827;color:#fff}
.rgsb-autobuild-options{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:18px;font-weight:700}.rgsb-autobuild-options input[type="number"]{width:78px;height:36px}.rgsb-autobuild-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(315px,1fr));gap:14px;align-items:start}.rgsb-autobuild-empty{border:1px dashed #cbd5e1;border-radius:10px;padding:30px;text-align:center;color:#64748b;background:#fff}.rgsb-autobuild-card{display:grid;grid-template-columns:120px 1fr;gap:12px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;padding:12px;box-shadow:0 1px 2px rgba(15,23,42,.04)}.rgsb-autobuild-card>img{width:120px;height:120px;object-fit:contain;background:#eef2f7;border-radius:4px}.rgsb-autobuild-controls{display:grid;gap:7px}.rgsb-autobuild-controls strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rgsb-autobuild-controls label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700}.rgsb-autobuild-controls input[type="number"]{width:78px;height:30px}.rgsb-autobuild-controls small{font-size:11px;color:#475569}.rgsb-autobuild-qty{grid-column:1;display:flex;align-items:center;margin-top:6px}.rgsb-autobuild-qty button{width:30px;height:30px;border:0;background:#111827;color:#fff;font-weight:900;cursor:pointer}.rgsb-autobuild-qty input{width:58px;height:30px;text-align:center;border:1px solid #cbd5e1}.rgsb-autobuild-actions{grid-column:2;display:flex;justify-content:flex-end;gap:8px;margin-top:6px}.rgsb-autobuild-actions button{height:30px;border:0;border-radius:5px;padding:0 10px;font-size:12px;font-weight:800;cursor:pointer}.rgsb-autobuild-actions .ab-dup{background:#111827;color:#fff}.rgsb-autobuild-actions .ab-remove{background:#ef4444;color:#fff}.rgsb-floating-autobuild{position:fixed;left:270px;bottom:24px;z-index:50;border:0;background:#111827;color:#fff;border-radius:8px;padding:10px 16px;font-weight:800;box-shadow:0 4px 14px rgba(15,23,42,.2);cursor:pointer}

.rgsb-autobuild-card.is-text{grid-template-columns:170px 1fr;max-width:480px}
.rgsb-ab-text-preview{width:170px;height:150px;background:#d1d5db;display:flex;align-items:center;justify-content:center;text-align:center;font-size:22px;font-weight:700;overflow:hidden;padding:10px;box-sizing:border-box}
.rgsb-autobuild-card.is-text .rgsb-autobuild-controls input[type="text"],.rgsb-autobuild-card.is-text .rgsb-autobuild-controls select{height:38px;border:1px solid #cbd5e1;border-radius:6px;padding:0 10px;width:100%;max-width:190px;background:#fff}
.rgsb-ab-style-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rgsb-ab-style-row button{width:34px;height:34px;border:1px solid #e5e7eb;border-radius:6px;background:#f8fafc;color:#94a3b8;font-weight:900;cursor:pointer}.rgsb-ab-style-row .ab-color-label{display:flex;align-items:center;gap:5px;border:1px solid #e5e7eb;border-radius:6px;padding:4px 8px;background:#fff}.rgsb-ab-style-row input[type="color"]{width:22px;height:22px;border:0;padding:0;background:transparent}.rgsb-autobuild-card.is-text .rgsb-autobuild-qty{grid-column:1}.rgsb-autobuild-card.is-text .rgsb-autobuild-actions{grid-column:2}
@media(max-width:900px){.rgsb-floating-autobuild{left:20px}}

/* v1.4.1 add extra scroll room below the gang sheet so users can scroll past the sheet end while editing lower objects */
.rgsb-center{padding-bottom:55vh!important;scroll-padding-bottom:55vh}
.rgsb-ruler-grid{margin-bottom:55vh!important}

/* v1.4.5 keep horizontal workspace scrollbar available at bottom of the builder pane */
.rgsb-center{overflow-x:scroll!important;scrollbar-gutter:stable both-edges;}

/* v1.4.6 top toolbar + cleaner selected-object panel */
.rgsb-topbar{gap:10px;overflow-x:auto;white-space:nowrap}
.rgsb-top-margin-control{display:inline-flex;align-items:center;gap:6px;border-left:1px solid #e5e7eb;padding-left:10px;font-weight:700}
.rgsb-top-margin-control input[type=number]{width:76px;height:34px;padding:4px 8px}
.rgsb-toolbar-divider{width:1px;height:30px;background:#e5e7eb;margin:0 2px}
.rgsb-icon-btn{height:34px;min-width:34px;border:1px solid #dbe3ef;background:#fff;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-weight:800;color:#111827;padding:0 8px;line-height:1}
.rgsb-icon-btn:hover:not(:disabled){background:#f3f6fb;border-color:#9ca3af}
.rgsb-icon-btn:disabled{opacity:.35;cursor:not-allowed}
.rgsb-icon-btn.rgsb-danger{color:#ef4444}
.rgsb-object-toolbar{display:inline-flex;align-items:center;gap:4px;opacity:.35;pointer-events:none}
.rgsb-object-toolbar.is-active{opacity:1;pointer-events:auto}
.rgsb-tools[hidden]{display:none!important}
.rgsb-edit-panel:not(.has-selection) .rgsb-edit-row,
.rgsb-edit-panel:not(.has-selection) .rgsb-edit-extra{display:none!important}
.rgsb-edit-panel:not(.has-selection){padding-bottom:12px}
.rgsb-edit-extra{border-top:1px solid #eef2f7;margin-top:10px;padding-top:10px}
.rgsb-edit-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px}
.rgsb-edit-actions .button{width:100%;background:#111827;color:#fff;border-color:#111827}
.rgsb-current-details .rgsb-margin-box{display:none!important}

/* v1.4.7 toolbar icon + activation fixes */
.rgsb-object-toolbar{transition:opacity .12s ease, filter .12s ease;}
.rgsb-object-toolbar:not(.is-active){filter:grayscale(1);}
.rgsb-object-toolbar .rgsb-icon-btn{width:34px;height:34px;padding:0;}
.rgsb-icon-btn svg{width:21px;height:21px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.rgsb-icon-btn.rgsb-danger svg{stroke:#ef4444;}
.rgsb-object-toolbar.is-active .rgsb-icon-btn{opacity:1;}
.rgsb-object-toolbar:not(.is-active) .rgsb-icon-btn{opacity:.45;}


/* v1.5.0 true full-page builder mode: hide theme chrome and page title on builder page only */
html:has(body.rgsb-full-page-builder),
body.rgsb-full-page-builder{height:100%;margin:0!important;padding:0!important;background:#fff!important;overflow:hidden!important;}
body.rgsb-full-page-builder #page > header,
body.rgsb-full-page-builder .site-header,
body.rgsb-full-page-builder header.site-header,
body.rgsb-full-page-builder #masthead,
body.rgsb-full-page-builder .main-header,
body.rgsb-full-page-builder .header,
body.rgsb-full-page-builder .elementor-location-header,
body.rgsb-full-page-builder .wp-block-template-part,
body.rgsb-full-page-builder .site-footer,
body.rgsb-full-page-builder footer.site-footer,
body.rgsb-full-page-builder #colophon,
body.rgsb-full-page-builder .elementor-location-footer,
body.rgsb-full-page-builder .entry-header,
body.rgsb-full-page-builder .page-header,
body.rgsb-full-page-builder .page-title,
body.rgsb-full-page-builder .entry-title,
body.rgsb-full-page-builder .woocommerce-breadcrumb,
body.rgsb-full-page-builder .breadcrumbs,
body.rgsb-full-page-builder .breadcrumb,
body.rgsb-full-page-builder .site-breadcrumbs{display:none!important;}
body.rgsb-full-page-builder .site,
body.rgsb-full-page-builder #page,
body.rgsb-full-page-builder #content,
body.rgsb-full-page-builder .site-content,
body.rgsb-full-page-builder .content-area,
body.rgsb-full-page-builder .container,
body.rgsb-full-page-builder .wrap,
body.rgsb-full-page-builder .wp-site-blocks,
body.rgsb-full-page-builder main,
body.rgsb-full-page-builder article,
body.rgsb-full-page-builder .entry-content{max-width:none!important;width:100vw!important;margin:0!important;padding:0!important;border:0!important;}
body.rgsb-full-page-builder .rgsb-app{height:100vh!important;min-height:100vh!important;width:100vw!important;max-width:100vw!important;margin:0!important;left:auto!important;right:auto!important;border:0!important;}
body.admin-bar.rgsb-full-page-builder .rgsb-app{height:calc(100vh - 32px)!important;min-height:calc(100vh - 32px)!important;}
@media screen and (max-width:782px){body.admin-bar.rgsb-full-page-builder .rgsb-app{height:calc(100vh - 46px)!important;min-height:calc(100vh - 46px)!important;}}


/* v1.5.1 fullscreen app overlay: pin builder to the viewport so theme header/hero cannot push it down */
body.rgsb-full-page-builder .rgsb-app{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  z-index:999999!important;
  width:100vw!important;
  height:100vh!important;
  max-width:100vw!important;
  min-height:0!important;
  margin:0!important;
  transform:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
body.admin-bar.rgsb-full-page-builder .rgsb-app{
  top:32px!important;
  height:calc(100vh - 32px)!important;
}
@media screen and (max-width:782px){
  body.admin-bar.rgsb-full-page-builder .rgsb-app{
    top:46px!important;
    height:calc(100vh - 46px)!important;
  }
}
body.rgsb-full-page-builder .rgsb-topbar{
  position:relative!important;
  top:0!important;
  margin-top:0!important;
  z-index:20!important;
}
body.rgsb-full-page-builder:before,
body.rgsb-full-page-builder:after{display:none!important;content:none!important;}

/* v1.5.2 save/account workflow */
.rgsb-top-actions{margin-left:auto;display:flex;align-items:center;gap:8px;white-space:nowrap}
.rgsb-top-actions .button{height:40px;border-radius:8px;padding:0 16px;font-weight:700}
.rgsb-close-btn{background:#dc2626!important;color:#fff!important;border-color:#dc2626!important}
.rgsb-user-info{display:flex;align-items:center;gap:10px;margin-left:8px;padding-left:12px;border-left:1px solid #e5e7eb;min-width:170px}
.rgsb-user-avatar{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:#a67822;color:#fff;font-weight:800}
.rgsb-user-lines{display:flex;flex-direction:column;line-height:1.15;max-width:160px;overflow:hidden}
.rgsb-user-lines strong{font-size:13px;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rgsb-user-lines small{font-size:11px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rgsb-save-modal{position:fixed;inset:0;z-index:999999;background:rgba(17,24,39,.55);display:flex;align-items:flex-start;justify-content:center;padding-top:70px}
.rgsb-save-modal[hidden]{display:none!important}
.rgsb-save-card{position:relative;width:min(520px,calc(100vw - 32px));background:#fff;border-radius:8px;box-shadow:0 20px 50px rgba(0,0,0,.25);padding:0 20px 18px;color:#111827}
.rgsb-save-card h2{font-size:20px;margin:0 -20px 18px;padding:18px 20px;border-bottom:1px solid #e5e7eb}
.rgsb-save-x{position:absolute;right:14px;top:12px;background:transparent;border:0;font-size:32px;line-height:1;cursor:pointer;color:#374151}
.rgsb-save-card label{display:block;font-weight:700;margin-bottom:20px;color:#374151}
.rgsb-save-card label span{color:#ef4444}
.rgsb-save-card input{display:block;width:100%;margin-top:8px;height:42px;border:1px solid #cbd5e1;border-radius:6px;padding:0 12px;font-size:15px}
.rgsb-save-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #e5e7eb;margin:0 -20px;padding:16px 20px 0}
.rgsb-login-required{max-width:680px;margin:60px auto;padding:28px;border:1px solid #dbe3ef;border-radius:10px;background:#fff;text-align:center;color:#111827}
.rgsb-login-required .button{margin-top:16px;background:#0f172a;color:#fff;border-radius:8px;padding:12px 20px;text-decoration:none;display:inline-block}

/* v1.5.5 saved designs gallery popup, restored from v1.5.2 save workflow */
.rgsb-designs-modal{position:fixed;inset:0;z-index:1000000;background:rgba(17,24,39,.55);display:flex;align-items:center;justify-content:center;padding:24px;color:#111827}
.rgsb-designs-modal[hidden]{display:none!important}
.rgsb-designs-card{width:min(1120px,calc(100vw - 48px));max-height:calc(100vh - 48px);background:#fff;border-radius:7px;box-shadow:0 25px 70px rgba(0,0,0,.28);display:flex;flex-direction:column;overflow:hidden}
.rgsb-designs-head{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid #e5e7eb}
.rgsb-designs-brand{display:flex;align-items:center;gap:10px;color:#1f2937}.rgsb-designs-icon{font-size:20px}.rgsb-designs-x{border:0;background:transparent;font-size:34px;line-height:1;cursor:pointer;color:#374151}
.rgsb-designs-tools{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:8px 18px 12px;border-bottom:1px solid #e5e7eb}.rgsb-design-tabs{display:flex;min-width:340px;border-bottom:1px solid #111827}.rgsb-design-tabs button{height:38px;min-width:170px;border:0;background:#fff;color:#374151;font-size:16px;cursor:pointer}.rgsb-design-tabs button.is-active{background:#0f172a;color:#fff;font-weight:800;border-radius:4px 4px 0 0}.rgsb-design-filter-wrap{display:flex;gap:10px}.rgsb-design-filter-wrap select,.rgsb-design-filter-wrap input{height:42px;border:1px solid #cbd5e1;border-radius:5px;padding:0 12px;background:#fff}.rgsb-design-filter-wrap input{width:190px}
.rgsb-design-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px 18px 8px;overflow:auto;min-height:420px}.rgsb-design-card{border:1px solid #cbd5e1;border-radius:5px;background:#fff;overflow:hidden;display:flex;flex-direction:column}.rgsb-design-preview{height:260px;background:#e5e7eb;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.rgsb-design-preview-inner{position:relative;background:rgba(255,255,255,.45);overflow:hidden}.rgsb-design-preview-inner img,.rgsb-design-preview-text{position:absolute;transform-origin:center center;object-fit:contain}.rgsb-design-preview-text{white-space:nowrap;overflow:hidden;font-weight:800;line-height:1}.rgsb-design-status{position:absolute;right:10px;top:10px;background:#f97316;color:#fff;border-radius:5px;padding:6px 9px;font-weight:800;font-size:12px}.rgsb-design-foot{position:relative;min-height:68px;padding:8px 126px 8px 8px;background:#fff}.rgsb-design-foot strong{display:block;font-size:15px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rgsb-design-foot small{display:block;color:#64748b;white-space:pre-line;line-height:1.25;margin-top:4px}.rgsb-design-actions{position:absolute;right:7px;bottom:8px;display:flex;gap:5px}.rgsb-design-actions button{border:0;border-radius:5px;color:#fff;font-weight:800;padding:9px 14px;cursor:pointer}.rgsb-design-open{background:#0f172a}.rgsb-design-delete{background:#ef4444}.rgsb-design-pagination{display:flex;align-items:center;justify-content:center;gap:0;padding:8px 0 12px}.rgsb-design-pagination button{min-width:34px;height:34px;border:1px solid #cbd5e1;background:#fff;cursor:pointer}.rgsb-design-pagination button.is-active{background:#0f172a;color:#fff;border-color:#0f172a}.rgsb-design-pagination button:disabled{opacity:.45;cursor:not-allowed}.rgsb-design-empty{grid-column:1/-1;display:flex;align-items:center;justify-content:center;min-height:300px;color:#64748b;font-weight:700}
@media(max-width:980px){.rgsb-design-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rgsb-designs-tools{align-items:stretch;flex-direction:column}.rgsb-design-filter-wrap input{width:100%}}


/* v1.5.7: Auto Build header row alignment */
.rgsb-autobuild-head{
  position:sticky!important;
  top:0!important;
  z-index:60!important;
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  width:100%!important;
  background:#f8fafc!important;
  padding:10px 24px 12px 0!important;
  box-sizing:border-box!important;
}
.rgsb-autobuild-head h2{margin:0!important;line-height:40px!important;white-space:nowrap!important;}
#rgsb-autobuild-apply{
  position:static!important;
  margin-left:auto!important;
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:78px!important;
  height:40px!important;
  background:#111827!important;
  border-color:#111827!important;
  color:#fff!important;
  border-radius:6px!important;
}

/* v1.5.8: keep Auto Build header/apply inside the center workspace only */
.rgsb-app.is-autobuild-mode .rgsb-center{
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
.rgsb-app.is-autobuild-mode .rgsb-autobuild-screen{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  padding:20px 24px!important;
  overflow-x:hidden!important;
}
.rgsb-app.is-autobuild-mode .rgsb-autobuild-head{
  position:sticky!important;
  top:0!important;
  left:0!important;
  right:auto!important;
  z-index:40!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  column-gap:14px!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  padding:0 0 14px 0!important;
  margin:0 0 14px 0!important;
  background:#f8fafc!important;
}
.rgsb-app.is-autobuild-mode .rgsb-autobuild-head h2{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  margin:0!important;
  line-height:40px!important;
}
.rgsb-app.is-autobuild-mode #rgsb-autobuild-apply{
  position:static!important;
  grid-column:3!important;
  justify-self:end!important;
  align-self:center!important;
  margin:0!important;
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  min-width:78px!important;
  height:40px!important;
  align-items:center!important;
  justify-content:center!important;
  background:#111827!important;
  border-color:#111827!important;
  color:#fff!important;
  border-radius:6px!important;
  z-index:41!important;
}

/* v1.5.9: Auto Build mode uses full workspace width and hides right panel */
.rgsb-app.is-autobuild-mode .rgsb-layout{
  grid-template-columns:250px minmax(0,1fr)!important;
}
body.rgsb-builder-active .rgsb-app.is-autobuild-mode .rgsb-layout{
  grid-template-columns:250px minmax(0,1fr)!important;
}
@media(min-width:1400px){
  body.rgsb-builder-active .rgsb-app.is-autobuild-mode .rgsb-layout{
    grid-template-columns:270px minmax(0,1fr)!important;
  }
}
.rgsb-app.is-autobuild-mode .rgsb-right{
  display:none!important;
}
.rgsb-app.is-autobuild-mode .rgsb-center{
  min-width:0!important;
  width:100%!important;
  padding:0!important;
  overflow:auto!important;
  background:#f8fafc!important;
}
.rgsb-app.is-autobuild-mode .rgsb-autobuild-screen{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  padding:20px 28px 40px!important;
  box-sizing:border-box!important;
}
.rgsb-app.is-autobuild-mode .rgsb-autobuild-head{
  position:sticky!important;
  top:0!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:14px!important;
  width:100%!important;
  max-width:100%!important;
  margin:0 0 18px 0!important;
  padding:0 0 14px 0!important;
  box-sizing:border-box!important;
  background:#f8fafc!important;
  z-index:70!important;
}
.rgsb-app.is-autobuild-mode .rgsb-autobuild-head h2{
  min-width:0!important;
  margin:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  line-height:40px!important;
}
.rgsb-app.is-autobuild-mode #rgsb-autobuild-apply{
  grid-column:3!important;
  justify-self:end!important;
  position:static!important;
  margin:0!important;
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  min-width:78px!important;
  height:40px!important;
  align-items:center!important;
  justify-content:center!important;
  background:#111827!important;
  border-color:#111827!important;
  color:#fff!important;
  border-radius:6px!important;
  z-index:71!important;
}
.rgsb-app.is-autobuild-mode .rgsb-autobuild-items{
  grid-template-columns:repeat(auto-fill,minmax(315px,1fr))!important;
}


/* v1.6.0: stable full-width Auto Build header; right panel stays hidden in Auto Build mode */
.rgsb-app.is-autobuild-mode .rgsb-right{display:none!important;}
.rgsb-app.is-autobuild-mode .rgsb-layout{grid-template-columns:250px minmax(0,1fr)!important;}
@media(min-width:1400px){.rgsb-app.is-autobuild-mode .rgsb-layout{grid-template-columns:270px minmax(0,1fr)!important;}}
.rgsb-app.is-autobuild-mode .rgsb-center{min-width:0!important;width:100%!important;overflow:auto!important;background:#f8fafc!important;}
.rgsb-app.is-autobuild-mode .rgsb-autobuild-screen{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;padding:20px 28px 40px!important;box-sizing:border-box!important;}
.rgsb-app.is-autobuild-mode .rgsb-autobuild-screen[hidden]{display:none!important;}
.rgsb-app.is-autobuild-mode .rgsb-autobuild-head{display:flex!important;align-items:center!important;gap:14px!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;margin:0 0 18px 0!important;padding:0 0 14px 0!important;background:#f8fafc!important;position:sticky!important;top:0!important;z-index:90!important;}
.rgsb-app.is-autobuild-mode .rgsb-autobuild-head h2{flex:1 1 auto!important;min-width:0!important;margin:0!important;line-height:40px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.rgsb-app.is-autobuild-mode #rgsb-autobuild-apply{position:static!important;flex:0 0 auto!important;margin-left:auto!important;display:inline-flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;align-items:center!important;justify-content:center!important;min-width:78px!important;height:40px!important;background:#111827!important;border-color:#111827!important;color:#fff!important;border-radius:6px!important;z-index:91!important;}

/* v1.6.4: readable saved design gallery thumbnails */
.rgsb-design-preview-inner{box-shadow:0 0 0 1px rgba(15,23,42,.08);background:#fff!important;}
.rgsb-design-sheet-count{position:absolute;left:6px;bottom:6px;background:rgba(15,23,42,.88);color:#fff;border-radius:4px;padding:3px 6px;font-size:11px;font-weight:800;z-index:5;}

/* v1.6.8 upload progress indicators on left thumbnail shelf */
.rgsb-thumb.is-uploading{cursor:default;opacity:.96;filter:none;}
.rgsb-thumb.is-uploading img{opacity:.62;}
.rgsb-upload-progress{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(15,23,42,.20);z-index:4;}
.rgsb-upload-progress::before{content:"";width:36px;height:36px;border-radius:50%;background:conic-gradient(#111827 var(--rgsb-upload-pct), rgba(255,255,255,.55) 0);box-shadow:0 1px 4px rgba(15,23,42,.22);}
.rgsb-upload-progress::after{content:"";position:absolute;width:27px;height:27px;border-radius:50%;background:rgba(15,23,42,.72);}
.rgsb-upload-progress b{position:absolute;z-index:2;color:#fff;font-size:11px;font-weight:900;line-height:1;}


/* v1.6.13 dedicated builder workspace scrollbars */
body.rgsb-builder-active,
body.rgsb-builder-active html{
  overflow:hidden!important;
}
body.rgsb-builder-active .rgsb-app{
  height:100vh!important;
  min-height:0!important;
  overflow:hidden!important;
}
.rgsb-layout{
  min-height:0!important;
  overflow:hidden!important;
}
.rgsb-left,.rgsb-right{
  min-height:0!important;
  max-height:100%!important;
}
.rgsb-center{
  position:relative!important;
  overflow:auto!important;
  overflow-x:scroll!important;
  overflow-y:scroll!important;
  min-width:0!important;
  min-height:0!important;
  max-width:100%!important;
  max-height:100%!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable both-edges!important;
  -webkit-overflow-scrolling:touch;
  cursor:default;
}
.rgsb-center.is-horizontal-scrolling{cursor:ew-resize;}
.rgsb-center.is-zooming{cursor:zoom-in;}
.rgsb-ruler-grid{
  width:max-content!important;
  min-width:max-content!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.rgsb-canvas-shell{
  width:max-content!important;
  max-width:none!important;
}
/* keep enough fake workspace after the sheet so the native scrollbars can pass the artboard end */
.rgsb-ruler-grid::after{
  content:"";
  display:block;
  grid-column:1 / span 2;
  height:55vh;
}
@media(max-width:1000px){
  body.rgsb-builder-active{overflow:auto!important;}
  .rgsb-center{overflow:auto!important;}
}


/* v1.6.14: force always-visible native workspace scrollbars */
.rgsb-center{
  overflow:scroll!important;
  overflow-x:scroll!important;
  overflow-y:scroll!important;
  scrollbar-width:auto!important;
  scrollbar-color:#64748b #e5e7eb!important;
}
.rgsb-center::-webkit-scrollbar{
  width:16px!important;
  height:16px!important;
  display:block!important;
  background:#e5e7eb!important;
}
.rgsb-center::-webkit-scrollbar-thumb{
  background:#64748b!important;
  border:3px solid #e5e7eb!important;
  border-radius:10px!important;
}
.rgsb-center::-webkit-scrollbar-thumb:hover{background:#334155!important;}
.rgsb-center::-webkit-scrollbar-corner{background:#e5e7eb!important;}
/* Add workspace room so the browser has real horizontal/vertical overflow even when the sheet is zoomed small. */
.rgsb-ruler-grid{
  min-width:calc(100% + 420px)!important;
  padding-right:420px!important;
  padding-bottom:55vh!important;
  box-sizing:content-box!important;
}
.rgsb-ruler-grid::after{display:none!important;}

/* v1.6.15 competitor-style external workspace scrollbars */
body.rgsb-builder-active .rgsb-app{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;height:100vh!important;z-index:999999!important;}
/* Native bars stay functional but hidden; custom bars below are always visible. */
body.rgsb-builder-active .rgsb-center{scrollbar-width:none!important;}
body.rgsb-builder-active .rgsb-center::-webkit-scrollbar{width:0!important;height:0!important;display:none!important;}
.rgsb-ws-scrollbar{position:fixed;z-index:999999;display:none;box-sizing:border-box;user-select:none;}
body.rgsb-builder-active .rgsb-ws-scrollbar{display:block;}
.rgsb-ws-scrollbar .rgsb-ws-track{position:absolute;inset:0;background:#d1d5db;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(15,23,42,.10);}
.rgsb-ws-scrollbar .rgsb-ws-thumb{position:absolute;background:#0f172a;border-radius:999px;box-shadow:0 1px 4px rgba(15,23,42,.28);cursor:pointer;display:flex;align-items:center;justify-content:space-between;color:#fff;font-size:12px;font-weight:900;line-height:1;}
.rgsb-ws-scrollbar .rgsb-ws-thumb:hover{background:#111827;}
.rgsb-ws-h{height:18px;left:0;bottom:8px;}
.rgsb-ws-h .rgsb-ws-thumb{height:16px;top:1px;min-width:54px;padding:0 9px;}
.rgsb-ws-h .rgsb-ws-thumb:before{content:'‹';font-size:22px;margin-top:-1px;}
.rgsb-ws-h .rgsb-ws-thumb:after{content:'›';font-size:22px;margin-top:-1px;}
.rgsb-ws-v{width:18px;right:5px;top:0;}
.rgsb-ws-v .rgsb-ws-thumb{width:16px;left:1px;min-height:54px;flex-direction:column;padding:8px 0;}
.rgsb-ws-v .rgsb-ws-thumb:before{content:'⌃';font-size:16px;line-height:11px;}
.rgsb-ws-v .rgsb-ws-thumb:after{content:'⌄';font-size:16px;line-height:11px;}
@media(max-width:1000px){.rgsb-ws-scrollbar{display:none!important;}}


/* v1.6.19: add free scroll room above the artboard like competitor builder.
   The sheet is initially positioned normally, but users can scroll upward so the
   top edge is not glued to the toolbar/ruler. */
body.rgsb-builder-active .rgsb-center{
  padding-top:38vh!important;
  scroll-padding-top:38vh!important;
}
body.rgsb-builder-active .rgsb-app.is-autobuild-mode .rgsb-center{
  padding-top:0!important;
  scroll-padding-top:0!important;
}


/* v1.6.21: hard fullscreen launcher fix. The theme header/hero must never reserve space above the builder. */
html.rgsb-html-fullscreen,
html.rgsb-html-fullscreen body,
body.rgsb-builder-active,
body.rgsb-full-page-builder{
  margin:0!important;
  padding:0!important;
  width:100vw!important;
  height:100vh!important;
  overflow:hidden!important;
}
body.rgsb-builder-active .rgsb-app,
body.rgsb-full-page-builder .rgsb-app{
  position:fixed!important;
  inset:0!important;
  top:0!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  width:100vw!important;
  height:100vh!important;
  max-width:100vw!important;
  max-height:100vh!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  z-index:2147483000!important;
  transform:none!important;
}
body.admin-bar.rgsb-builder-active .rgsb-app,
body.admin-bar.rgsb-full-page-builder .rgsb-app{
  top:0!important;
  height:100vh!important;
}
body.rgsb-builder-active .rgsb-app ~ *,
body.rgsb-full-page-builder .rgsb-app ~ *{display:none!important;}
body.rgsb-builder-active header,
body.rgsb-builder-active .site-header,
body.rgsb-builder-active #masthead,
body.rgsb-builder-active .main-header,
body.rgsb-builder-active .elementor-location-header,
body.rgsb-builder-active .wp-site-blocks > header,
body.rgsb-builder-active .entry-header,
body.rgsb-builder-active .page-header,
body.rgsb-builder-active .page-title,
body.rgsb-builder-active .entry-title,
body.rgsb-builder-active footer,
body.rgsb-builder-active .site-footer,
body.rgsb-full-page-builder header,
body.rgsb-full-page-builder .site-header,
body.rgsb-full-page-builder #masthead,
body.rgsb-full-page-builder .main-header,
body.rgsb-full-page-builder .elementor-location-header,
body.rgsb-full-page-builder .wp-site-blocks > header,
body.rgsb-full-page-builder .entry-header,
body.rgsb-full-page-builder .page-header,
body.rgsb-full-page-builder .page-title,
body.rgsb-full-page-builder .entry-title,
body.rgsb-full-page-builder footer,
body.rgsb-full-page-builder .site-footer{display:none!important;}

/* v1.6.22 left navigation panels: Home / Gallery / Settings */
body.rgsb-builder-active .rgsb-layout{grid-template-columns:300px minmax(0,1fr) 300px!important}
@media(min-width:1400px){body.rgsb-builder-active .rgsb-layout{grid-template-columns:320px minmax(0,1fr) 300px!important}}
.rgsb-left{display:grid!important;grid-template-columns:56px minmax(0,1fr);gap:0;padding:0!important;overflow:hidden!important;background:#fff!important}
.rgsb-side-tabs{background:#fff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;align-items:stretch;padding:0;min-height:0;z-index:3}
.rgsb-side-tab{height:64px;border:0;border-bottom:1px solid #e5e7eb;background:#fff;color:#111827;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer;font-size:11px;font-weight:800;padding:4px 2px}
.rgsb-side-tab:hover{background:#f8fafc}.rgsb-side-tab.is-active{background:#111827;color:#fff}.rgsb-side-icon{font-size:22px;line-height:1}.rgsb-left-panels{min-width:0;min-height:0;overflow-y:auto;background:#fafafa;padding:12px;box-sizing:border-box}.rgsb-left-panel{display:none}.rgsb-left-panel.is-active{display:block}.rgsb-left .rgsb-drop{padding:14px 10px}.rgsb-left .rgsb-upload-label{padding:9px 12px}.rgsb-left .rgsb-upload-thumbs{gap:7px}
.rgsb-gallery-tools{display:grid;gap:8px;margin-bottom:12px}.rgsb-gallery-tools input,.rgsb-gallery-tools select{width:100%;height:36px;border:1px solid #cbd5e1;border-radius:5px;background:#fff;padding:0 10px;box-sizing:border-box}.rgsb-gallery-checks{display:flex;justify-content:flex-end;gap:12px;font-size:12px;color:#111827}.rgsb-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.rgsb-gallery-empty{grid-column:1/-1;text-align:center;color:#94a3b8;font-weight:700;margin-top:90px}.rgsb-gallery-item{height:96px;border:1px solid #dbe3ee;background:#fff;border-radius:5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px;cursor:pointer;overflow:hidden}.rgsb-gallery-item:hover{border-color:#111827;box-shadow:0 1px 4px rgba(15,23,42,.16)}.rgsb-gallery-item img{max-width:100%;max-height:68px;object-fit:contain}.rgsb-gallery-item span{display:block;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;font-weight:700;color:#111827}
.rgsb-client-settings{display:grid;gap:12px;padding:2px}.rgsb-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;font-weight:700;color:#111827}.rgsb-toggle-row input[type=checkbox]{width:42px;height:24px;appearance:none;-webkit-appearance:none;background:#cfd6df;border-radius:999px;position:relative;cursor:pointer;transition:.15s}.rgsb-toggle-row input[type=checkbox]:before{content:'';position:absolute;width:20px;height:20px;left:2px;top:2px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.18);transition:.15s}.rgsb-toggle-row input[type=checkbox]:checked{background:#111827}.rgsb-toggle-row input[type=checkbox]:checked:before{transform:translateX(18px)}.rgsb-visual-aid{border-top:1px solid #e5e7eb;padding-top:12px;display:grid;gap:8px}.rgsb-color-swatches{display:flex;flex-wrap:wrap;gap:6px}.rgsb-swatch{width:22px;height:22px;border:1px solid #d1d5db;border-radius:4px;cursor:pointer}.rgsb-visual-aid input[type=color]{width:100%;height:42px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;padding:3px}.rgsb-settings-note{font-size:12px;line-height:1.35;color:#64748b;margin:0;background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:9px}.rgsb-app.rgsb-hide-checker .lower-canvas,.rgsb-app.rgsb-hide-checker #rgsb-canvas{background-image:none!important;background-color:var(--rgsb-canvas-bg,#fff)!important}


/* v1.6.23: solid visual background mode hides checkerboard completely. This is preview-only; export remains transparent. */
.rgsb-app.rgsb-hide-checker #rgsb-canvas,
.rgsb-app.rgsb-hide-checker .lower-canvas,
.rgsb-app.rgsb-hide-checker .canvas-container{
  background-image:none!important;
  background-color:var(--rgsb-canvas-bg,#fff)!important;
}
.rgsb-app.rgsb-hide-checker .upper-canvas{
  background-image:none!important;
  background-color:transparent!important;
}


/* v1.6.24: checkerboard is the first visual aid swatch and upper canvas must stay transparent. */
.rgsb-swatch.is-active{outline:2px solid #2563eb;outline-offset:1px;}
.rgsb-swatch-checker{
  background-color:#fff!important;
  background-image:linear-gradient(45deg,#cfd6df 25%,transparent 25%),linear-gradient(-45deg,#cfd6df 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#cfd6df 75%),linear-gradient(-45deg,transparent 75%,#cfd6df 75%)!important;
  background-size:10px 10px!important;
  background-position:0 0,0 5px,5px -5px,-5px 0!important;
}
.rgsb-app .upper-canvas{background-color:transparent!important;}


/* v1.6.25: checkerboard swatch must restore transparent/checker preview after a solid color was selected. */
.rgsb-app.rgsb-checker-mode #rgsb-canvas,
.rgsb-app.rgsb-checker-mode .lower-canvas,
.rgsb-app.rgsb-checker-mode .canvas-container{
  background-color:#fff!important;
  background-image:linear-gradient(45deg,#ddd 25%,transparent 25%),linear-gradient(-45deg,#ddd 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ddd 75%),linear-gradient(-45deg,transparent 75%,#ddd 75%)!important;
  background-size:20px 20px!important;
  background-position:0 0,0 10px,10px -10px,-10px 0!important;
}
.rgsb-app.rgsb-checker-mode .upper-canvas{
  background-color:transparent!important;
  background-image:none!important;
}

/* v1.6.27: reliable Visual Aid checkerboard restore. Checker mode must clear any solid preview background. */
.rgsb-app[data-rgsb-visual-bg="checker"] #rgsb-canvas,
.rgsb-app[data-rgsb-visual-bg="checker"] .lower-canvas,
.rgsb-app[data-rgsb-visual-bg="checker"] .canvas-container,
.rgsb-app[data-rgsb-visual-bg="checker"] .rgsb-canvas-shell{
  background-color:#fff!important;
  background-image:linear-gradient(45deg,#ddd 25%,transparent 25%),linear-gradient(-45deg,#ddd 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ddd 75%),linear-gradient(-45deg,transparent 75%,#ddd 75%)!important;
  background-size:20px 20px!important;
  background-position:0 0,0 10px,10px -10px,-10px 0!important;
  background-repeat:repeat!important;
}
.rgsb-app[data-rgsb-visual-bg="solid"] #rgsb-canvas,
.rgsb-app[data-rgsb-visual-bg="solid"] .lower-canvas,
.rgsb-app[data-rgsb-visual-bg="solid"] .canvas-container,
.rgsb-app[data-rgsb-visual-bg="solid"] .rgsb-canvas-shell{
  background-color:var(--rgsb-canvas-bg,#fff)!important;
  background-image:none!important;
}
.rgsb-app .upper-canvas{background-color:transparent!important;background-image:none!important;}


/* v1.6.28: Visual Aid is painted on the canvas shell only; Fabric canvases stay transparent so checkerboard can always return. */
.rgsb-app[data-rgsb-visual-bg] #rgsb-canvas,
.rgsb-app[data-rgsb-visual-bg] .lower-canvas,
.rgsb-app[data-rgsb-visual-bg] .upper-canvas,
.rgsb-app[data-rgsb-visual-bg] .canvas-container{
  background-color:transparent!important;
  background-image:none!important;
}
.rgsb-app[data-rgsb-visual-bg="checker"] .rgsb-canvas-shell{
  background-color:#fff!important;
  background-image:linear-gradient(45deg,#ddd 25%,transparent 25%),linear-gradient(-45deg,#ddd 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ddd 75%),linear-gradient(-45deg,transparent 75%,#ddd 75%)!important;
  background-size:20px 20px!important;
  background-position:0 0,0 10px,10px -10px,-10px 0!important;
  background-repeat:repeat!important;
}
.rgsb-app[data-rgsb-visual-bg="solid"] .rgsb-canvas-shell{
  background-color:var(--rgsb-canvas-bg,#fff)!important;
  background-image:none!important;
}

/* v1.6.29: Always-visible inline Visual Aid color picker */
.rgsb-inline-color-picker{
  border:1px solid #cbd5e1;
  background:#fff;
  border-radius:4px;
  padding:6px;
  width:100%;
  box-sizing:border-box;
  display:grid;
  gap:7px;
}
.rgsb-color-preview{
  height:28px;
  border:1px solid #94a3b8;
  border-radius:2px;
  background:#ffffff;
}
.rgsb-picker-row{
  display:grid;
  grid-template-columns:1fr 18px;
  gap:8px;
  align-items:stretch;
}
.rgsb-picker-square{
  position:relative;
  height:130px;
  border:1px solid #cbd5e1;
  cursor:crosshair;
  background-color:red;
  background-image:linear-gradient(to right,#fff,rgba(255,255,255,0)),linear-gradient(to top,#000,rgba(0,0,0,0));
  overflow:hidden;
}
.rgsb-picker-dot{
  position:absolute;
  width:10px;
  height:10px;
  border:2px solid #fff;
  border-radius:50%;
  box-shadow:0 0 0 1px rgba(0,0,0,.55);
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.rgsb-hue-slider{
  width:130px!important;
  height:18px!important;
  padding:0!important;
  border:0!important;
  border-radius:999px;
  background:linear-gradient(to right, red, yellow, lime, cyan, blue, magenta, red)!important;
  transform:rotate(90deg);
  transform-origin:center;
  align-self:center;
  justify-self:center;
  appearance:none;
  -webkit-appearance:none;
}
.rgsb-hue-slider::-webkit-slider-thumb{
  -webkit-appearance:none;
  width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid #111827;box-shadow:0 1px 2px rgba(0,0,0,.25);cursor:pointer;
}
.rgsb-hue-slider::-moz-range-thumb{
  width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid #111827;box-shadow:0 1px 2px rgba(0,0,0,.25);cursor:pointer;
}
.rgsb-rgb-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.rgsb-rgb-row input{height:32px;border:1px solid #cbd5e1;border-radius:2px;text-align:center;box-sizing:border-box;width:100%;}
.rgsb-rgb-labels{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center;font-size:12px;color:#111827;margin-top:-4px;}
.rgsb-visual-aid input[type=hidden]{display:none!important;}


/* v1.6.32 live overlap/artboard warnings */
.rgsb-live-warnings{
  position:fixed;
  z-index:2147483000;
  display:none;
  gap:6px;
  pointer-events:none;
  font-size:12px;
  font-weight:700;
  color:#c2410c;
  max-width:calc(100% - 80px);
}
.rgsb-center{position:relative;}
.rgsb-live-warning{
  min-height:26px;
  display:flex;
  align-items:center;
  padding:4px 12px;
  background:#fed7aa;
  border-radius:5px;
  box-shadow:0 1px 2px rgba(15,23,42,.06);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* v1.6.34 selected-object DPI display */
.rgsb-edit-resolution{flex:1;min-height:30px;display:flex;align-items:center;border:1px solid #cbd5e1;border-radius:8px;background:#fff;padding:0 10px;font-size:13px;font-weight:700;box-sizing:border-box;color:#475569;white-space:nowrap}
.rgsb-edit-resolution.is-optimal{color:#16a34a;border-color:#86efac;background:#f0fdf4}
.rgsb-edit-resolution.is-good{color:#ca8a04;border-color:#fde68a;background:#fffbeb}
.rgsb-edit-resolution.is-bad{color:#dc2626;border-color:#fecaca;background:#fef2f2}
.rgsb-edit-resolution.is-terrible{color:#111827;border-color:#9ca3af;background:#f3f4f6}
.rgsb-edit-resolution.is-unknown{color:#94a3b8}

/* v1.6.35 workspace marquee selection */
.rgsb-workspace-marquee{
  position:fixed;
  z-index:999999;
  border:1px solid rgba(37,99,235,.9);
  background:rgba(37,99,235,.16);
  pointer-events:none;
  box-sizing:border-box;
}

/* v1.6.38: make workspace marquee visible when drag starts outside the artboard */
.rgsb-workspace-marquee{
  position:fixed!important;
  z-index:2147483600!important;
  display:none;
  border:1px solid rgba(37,99,235,.95)!important;
  background:rgba(99,102,241,.22)!important;
  pointer-events:none!important;
  box-sizing:border-box!important;
}

/* v1.6.43 corrected two-row toolbar: every icon/action button moves to row 2 */
.rgsb-app{display:flex!important;flex-direction:column!important;min-height:0!important;}
.rgsb-topbar.rgsb-topbar-two-row{display:flex!important;flex-direction:column!important;align-items:stretch!important;height:auto!important;min-height:0!important;padding:0!important;gap:0!important;overflow:visible!important;background:#fff!important;border-bottom:0!important;white-space:normal!important;flex:0 0 auto!important;}
.rgsb-topbar-row{display:flex!important;align-items:center!important;box-sizing:border-box!important;white-space:nowrap!important;}
.rgsb-topbar-row-main{min-height:48px!important;padding:6px 12px!important;gap:12px!important;border-bottom:1px solid #e5e7eb!important;overflow:hidden!important;}
.rgsb-topbar-row-tools{min-height:42px!important;padding:4px 12px!important;gap:6px!important;border-bottom:1px solid #e5e7eb!important;overflow-x:auto!important;overflow-y:hidden!important;background:#fff!important;}
.rgsb-topbar-row-main .rgsb-top-actions{margin-left:auto!important;}
.rgsb-topbar-row-tools .rgsb-toolbar-divider{height:30px!important;margin:0 4px!important;flex:0 0 1px!important;}
.rgsb-topbar-row-tools .rgsb-icon-btn{flex:0 0 auto!important;}
.rgsb-topbar-row-tools .rgsb-object-toolbar{display:inline-flex!important;align-items:center!important;gap:4px!important;flex:0 0 auto!important;}
.rgsb-layout{flex:1 1 auto!important;min-height:0!important;height:auto!important;}
body.rgsb-builder-active .rgsb-layout{height:auto!important;}
@media(max-width:1000px){.rgsb-topbar-row-main{flex-wrap:wrap!important;white-space:normal!important;overflow:visible!important}.rgsb-topbar-row-tools{flex-wrap:nowrap!important;overflow-x:auto!important}}

/* v1.6.44 toolbar: brand/user on first row; every control/action button on second row */
.rgsb-topbar.rgsb-topbar-two-row{display:flex!important;flex-direction:column!important;align-items:stretch!important;height:auto!important;padding:0!important;gap:0!important;overflow:visible!important;background:#fff!important;border-bottom:0!important;white-space:normal!important;}
.rgsb-topbar-row-main{min-height:38px!important;padding:5px 12px!important;gap:12px!important;border-bottom:1px solid #e5e7eb!important;background:#fff!important;display:flex!important;align-items:center!important;}
.rgsb-topbar-row-main .rgsb-brand{font-weight:800!important;margin-right:auto!important;}
.rgsb-topbar-row-main .rgsb-user-info{margin-left:auto!important;}
.rgsb-topbar-row-tools{min-height:50px!important;padding:5px 12px!important;gap:8px!important;border-bottom:1px solid #e5e7eb!important;display:flex!important;align-items:center!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;background:#fff!important;white-space:nowrap!important;}
.rgsb-topbar-row-tools .rgsb-size-label,.rgsb-topbar-row-tools #rgsb-auto-arrange,.rgsb-topbar-row-tools .rgsb-top-margin-control,.rgsb-topbar-row-tools .rgsb-icon-btn,.rgsb-topbar-row-tools .rgsb-object-toolbar,.rgsb-topbar-row-tools .rgsb-top-actions{flex:0 0 auto!important;}
.rgsb-topbar-row-tools .rgsb-top-actions{margin-left:auto!important;display:flex!important;align-items:center!important;gap:8px!important;}
.rgsb-topbar-row-tools .rgsb-object-toolbar{display:inline-flex!important;align-items:center!important;gap:4px!important;}
.rgsb-topbar-row-tools .rgsb-toolbar-divider{height:30px!important;margin:0 4px!important;flex:0 0 1px!important;background:#e5e7eb!important;}
@media(max-width:1200px){.rgsb-topbar-row-tools .rgsb-top-actions{margin-left:8px!important;}}
