.visual-builder{--vb-border:var(--line,#dce3e0);border:1px solid var(--vb-border);border-radius:14px;overflow:hidden;background:var(--gm-surface,#fff);min-width:0}.vb-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px;border-bottom:1px solid var(--vb-border)}.vb-actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.vb-devices,.vb-tabs{display:flex;gap:4px;flex-wrap:wrap}.vb-devices button,.vb-tabs button{border:0;padding:8px;border-radius:6px;background:transparent;color:inherit;font:inherit;font-size:12px;cursor:pointer}.vb-devices button[aria-pressed=true],.vb-tabs button[aria-pressed=true]{background:var(--gm-selected-bg,#e3eee8);color:var(--gm-selected-text,#205e43);font-weight:700}.vb-layout{display:grid;grid-template-columns:190px minmax(280px,1fr) 240px;height:72vh;min-height:560px;max-height:850px;grid-template-rows:minmax(0,1fr)}.vb-layout>aside{min-height:0;overflow:auto;padding:12px;overscroll-behavior:contain}.vb-layout>aside:first-child{border-right:1px solid var(--vb-border)}.vb-layout>aside:last-child{border-left:1px solid var(--vb-border)}.vb-stage{min-height:0;overflow:auto;overscroll-behavior:contain;background:#e9edeb;padding:24px 16px;min-width:0}.vb-canvas{margin:0 auto;min-height:460px;width:100%;box-shadow:0 5px 25px #0001;transition:max-width .15s}.vb-canvas.vb-tablet{max-width:768px}.vb-canvas.vb-mobile{max-width:390px}.vb-resource-body>p,.vb-hint,.vb-footnote,.vb-fieldset p,.vb-fieldset small{font-size:12px;line-height:1.55;color:var(--muted,#64746b)}.vb-palette{display:grid;grid-template-columns:1fr 1fr;gap:7px}.vb-palette button,.vb-resource-card{padding:13px 8px;border:1px solid var(--vb-border);background:var(--gm-surface,#fff);border-radius:8px;color:inherit;font:inherit;font-size:12px;cursor:grab;text-align:left}.vb-palette button:hover,.vb-resource-card:hover{border-color:var(--gm-link,#368568);background:var(--gm-selected-bg,#eaf4ef);color:var(--gm-selected-text,#205e43)}.vb-resource-card{display:block;width:100%;margin:10px 0;font-weight:600;cursor:pointer}.vb-resource-card small{display:block;margin-top:6px;font-weight:400;color:var(--gm-text-muted,#64746b)}.vb-outline-item{display:block;border:0;background:transparent;color:inherit;width:100%;text-align:left;padding:9px;font:inherit;font-size:12px;border-radius:6px;overflow-wrap:anywhere}.vb-outline-item.is-active{background:var(--gm-selected-bg,#e3eee8);color:var(--gm-selected-text,#205e43)}.vb-column-label{display:block;padding-left:18px;color:var(--gm-text-muted,#64746b)}.vb-fieldset{min-width:0;border:0;padding:0;margin:0}.vb-fieldset .field{margin:13px 0;font-size:12px}.vb-fieldset .input{max-width:100%;font-size:13px;min-width:0;width:100%}.vb-fieldset textarea{resize:vertical}.vb-fieldset details{border-top:1px solid var(--vb-border);margin-top:18px;padding-top:15px}.vb-fieldset summary{cursor:pointer;font-weight:600;font-size:13px}.vb-selection-heading h3{margin:0;font-size:16px}.vb-selection-heading{margin-bottom:12px}.vb-image-tools{display:flex;flex-direction:column;gap:8px}.vb-image-tools img{max-height:120px;object-fit:contain}.vb-asset{padding:12px 0;border-bottom:1px solid var(--vb-border)}.vb-asset strong,.vb-asset small{display:block;margin-bottom:6px}.vb-asset small{font-size:11px;color:var(--gm-text-muted,#64746b)}.vb-error{font-size:13px;color:var(--gm-danger,#a52b29);margin:0;padding:0 12px}.vb-error:not(:empty){padding:12px}.vb-footnote{margin:0;padding:10px 14px;border-top:1px solid var(--vb-border)}.vb-expanded{position:fixed;inset:12px;z-index:90;box-shadow:0 12px 80px #0006}.vb-expanded .vb-layout{max-height:calc(100vh - 135px);height:calc(100vh - 135px)}.vb-canvas .builder-document{container-type:inline-size}.vb-canvas [data-builder-node]{position:relative;outline:1px solid transparent;outline-offset:3px;min-height:20px}.vb-canvas [data-builder-node]:hover{outline-color:#b8d0c1}.vb-canvas [data-builder-node].is-selected{outline:2px solid #318466}.builder-drag-handle{position:absolute;left:-20px;top:0;width:20px;height:28px;border:0;background:#318466;color:#fff;cursor:grab;touch-action:none;z-index:2;font-size:20px;line-height:20px}.vb-canvas [data-builder-node]:not(:hover):not(.is-selected)>.builder-drag-handle{opacity:0;pointer-events:none}.vb-canvas [contenteditable=true]:focus{outline:1px dashed #318466}.vb-canvas .builder-field input,.vb-canvas .builder-field select,.vb-canvas .builder-field textarea{pointer-events:none}.builder-empty-drop{display:none;min-height:45px;padding:14px;font-size:12px;color:#65756c;text-align:center;border:1px dashed #acbfb2}.builder-block-list:has(>.builder-empty-drop:only-child)>.builder-empty-drop{display:block}.builder-image-empty{padding:35px 16px;background:#eef2ef;border:1px dashed #a4b9aa;color:#607466;text-align:center}.builder-spacer>span{font:11px Arial;color:#77877e}.builder-form-placeholder{padding:16px;background:#f6f8f6;border:1px dashed #b5c8bb}.builder-form-placeholder div{border:1px solid #d8e2db;background:white;margin-top:10px;padding:10px;font-size:13px;color:#5c6b7e}.builder-condition-note{color:#266b4e}.builder-dialog{width:calc(100vw - 40px);max-width:1600px;max-height:95vh;padding:18px}.builder-dialog .visual-builder{margin-top:12px}.builder-dialog::backdrop{background:#14271dcc}.web-builder-header{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;margin:18px 0}.web-builder-header .field{min-width:200px;flex:1}.web-builder-settings{padding:18px;margin:16px 0}.web-builder-settings .core-columns{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.web-builder-status{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0;font-size:13px}.web-builder-status [role=status]{flex:1}.builder-recovery{padding:16px;background:var(--gm-warning-bg,#fff5d9);color:var(--gm-warning,#92400e);border:1px solid var(--gm-border-control,#ddc787);border-radius:8px;margin:12px 0}.web-builder-publication{padding:18px;margin:16px 0}.builder-history-list{max-height:60vh;overflow:auto}.builder-history-item{border-top:1px solid var(--gm-border-subtle,#dce3e0);padding:12px;display:flex;align-items:center;justify-content:space-between;gap:16px}.builder-responses{overflow:auto}.builder-responses dl{display:grid;grid-template-columns:minmax(120px,1fr) 2fr;gap:8px}.builder-responses dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.builder-responses article{padding:14px;border-bottom:1px solid var(--gm-border-subtle,#dce3e0)}@container (max-width:560px){.vb-canvas .builder-columns,.vb-canvas .builder-image-text{grid-template-columns:1fr!important}.vb-canvas .builder-image-text.image-right>div:first-child{order:0}}
@media(max-width:1100px){.vb-layout{grid-template-columns:150px minmax(240px,1fr) 210px}.vb-palette{grid-template-columns:1fr}.vb-stage{padding:24px 12px}}@media(max-width:800px){.vb-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:none;height:auto;min-height:0;max-height:none}.vb-layout>aside{max-height:300px;border:0!important}.vb-layout>aside:first-child{order:0}.vb-stage{order:1;min-height:430px;max-height:70vh}.vb-layout>aside:last-child{order:2}.vb-palette{grid-template-columns:repeat(3,1fr)}.vb-expanded{inset:0;overflow:auto}.vb-expanded .vb-layout{height:auto;max-height:none}.vb-toolbar{position:sticky;top:0;background:var(--gm-surface,#fff);z-index:3}.vb-canvas{max-width:100%}.vb-fieldset{display:block}.builder-dialog{width:100%;padding:10px}.web-builder-header .btn{flex:1}.vb-canvas .builder-drag-handle{opacity:1!important}}

.builder-answer-details{display:grid;grid-template-columns:minmax(100px,1fr) 2fr;gap:10px;padding:16px;background:var(--gm-surface,#f7f9f8);border-radius:8px}.builder-answer-details dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}

.vb-canvas [data-builder-type=columns]>.builder-drag-handle{left:0;top:-20px;width:38px;height:20px;font-size:17px;line-height:18px}.vb-canvas [data-builder-node].is-selected>.builder-drag-handle{pointer-events:auto}

/* Preview the real content and make room in the layout before committing a drop. */
.vb-palette button{touch-action:none}
.vb-dragging,.vb-dragging *{cursor:grabbing!important;user-select:none!important}
.vb-canvas .vb-sort-slot{opacity:.25;outline:2px dashed #318466!important;pointer-events:none}
.vb-canvas .vb-insert-preview{opacity:.65;outline:2px dashed #318466!important;pointer-events:none}
.vb-sort-slot *,.vb-insert-preview *{pointer-events:none!important}
.vb-drag-preview.builder-document{position:fixed;z-index:1000;pointer-events:none!important;padding:0!important;margin:0;max-width:none;max-height:70vh;overflow:hidden;opacity:.94;box-shadow:0 12px 36px #152d3233;outline:2px solid #318466;container-type:inline-size}
.vb-drag-preview *{pointer-events:none!important}
.vb-drag-preview>.builder-block{margin:0!important}
.vb-drag-preview .builder-drag-handle{display:none}
.vb-canvas [data-builder-type=columns] [data-builder-type=columns]>.builder-drag-handle{left:42px}
@media(max-width:800px),(hover:none),(pointer:coarse){.vb-canvas [data-builder-node]>.builder-drag-handle{opacity:1!important;pointer-events:auto!important}}

/* Application chrome follows appearance; the authored document owns its colours. */
.visual-builder,.builder-dialog{color:var(--gm-text,#1e293b)}
.builder-form-placeholder{color:#1e293b}
.builder-spacer>span{background:#f5f7fb;color:#5c6b7e;border-radius:3px;padding:2px 4px}

/* A shared, visual resource palette in email, forms and landing pages. */
.visual-builder{container-type:inline-size}.vb-palette button{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-height:76px;overflow-wrap:anywhere}.vb-palette svg{flex-shrink:0;color:var(--gm-link)}.vb-miniature{display:block;width:100%;height:78px;background:var(--gm-selected-bg);color:var(--gm-link);border-radius:5px;padding:8px;margin-bottom:10px;box-sizing:border-box}.vb-existing-sections{margin-top:16px;font-size:13px}.vb-existing-sections summary{cursor:pointer;font-weight:600}.vb-mobile-nav{display:none}.email-design-intro{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.email-design-intro p{font-size:13px;color:var(--gm-text-muted);margin:8px 0}.composer-topbar{position:sticky;top:0;z-index:13;background:var(--gm-surface);padding-top:10px;padding-bottom:10px}.composer-stepper .composer-step>span svg{flex-shrink:0}
@container(max-width:740px){.vb-mobile-nav{display:flex;gap:4px;padding:8px;border-bottom:1px solid var(--line)}.vb-mobile-nav button{display:flex;gap:6px;align-items:center;justify-content:center;flex:1;background:transparent;color:inherit;font:inherit;font-size:12px;border:0;padding:9px 5px;border-radius:6px}.vb-mobile-nav button[aria-pressed=true]{background:var(--gm-selected-bg);color:var(--gm-selected-text);font-weight:650}.vb-layout{display:block;height:auto;min-height:0;max-height:none}.vb-layout>aside,.vb-layout>.vb-stage{display:none}.vb-layout[data-vb-pane-area=blocks]>aside:first-child,.vb-layout[data-vb-pane-area=settings]>aside:last-child{display:block;max-height:65vh;border:0;min-height:340px}.vb-layout[data-vb-pane-area=canvas]>.vb-stage{display:block;min-height:400px;max-height:65vh}.vb-palette{grid-template-columns:repeat(3,minmax(0,1fr))}.vb-toolbar{gap:6px;padding:8px}.vb-toolbar [data-vb-count]{display:none}.vb-toolbar .vb-devices button{padding:6px}.vb-footnote{font-size:11px}}

body:has([data-primary-builder],[data-social-form]) .subscription-notice[data-limited=false]{padding:10px 16px;min-height:0;gap:12px}body:has([data-primary-builder],[data-social-form]) .subscription-notice[data-limited=false]>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}body:has([data-primary-builder],[data-social-form]) .subscription-notice[data-limited=false] span{margin:0;font-size:12px}body:has([data-primary-builder],[data-social-form]) .subscription-notice[data-limited=false] .btn{padding:7px 12px;font-size:12px}

/* Keep keyboard focus distinct from the selected block, including forced colours. */
.vb-canvas [data-builder-node]:focus-visible{outline:3px solid #3155c6;outline-offset:3px;box-shadow:0 0 0 6px #fff}
.vb-canvas [data-builder-node]:focus-within>.builder-drag-handle{opacity:1;pointer-events:auto}
.vb-canvas [contenteditable=true]:focus-visible{outline:2px solid #3155c6;outline-offset:2px;box-shadow:0 0 0 4px #fff}

/* Leave room for both sticky email action bars when Tab scrolls a control into view. */
html:has([data-primary-builder]){scroll-padding-block:120px}

/* Empty live error regions must not reserve space above the canvas. */
.vb-error:empty{display:none}
