/* Oberfläche des Baukastens. Die Styles der gebauten Seite stehen in content.css. */

:root{
  --bx-1:4px; --bx-2:8px; --bx-3:12px; --bx-4:16px; --bx-5:24px; --bx-6:32px;

  --bx-bg:#f4f5f8;
  --bx-surface:#ffffff;
  --bx-surface-2:#fafbfc;
  --bx-line:#e2e5ec;
  --bx-line-2:#eef0f4;
  --bx-text:#1d2330;
  --bx-text-2:#5b6478;
  --bx-text-3:#8a93a6;
  --bx-accent:#5b4bdb;
  --bx-accent-weak:#efedfd;
  --bx-accent-text:#ffffff;
  --bx-danger:#d6455d;
  --bx-ok:#16a06a;
  --bx-head:#1b1f2b;
  --bx-head-text:#e8eaf1;

  --bx-r:8px; --bx-r-s:6px;
  --bx-shadow:0 1px 2px rgba(16,20,32,.06), 0 8px 24px rgba(16,20,32,.08);
  --bx-top-h:52px;
  --bx-side-w:264px;
  --bx-panel-w:352px;
}

*,*::before,*::after{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; background:var(--bx-bg); color:var(--bx-text);
  font:14px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  overflow:hidden; -webkit-font-smoothing:antialiased;
}
button{font:inherit;color:inherit}
input,select,textarea{font:inherit;color:inherit}

/* ---------- Kopfleiste ---------- */
.bx-top{
  height:var(--bx-top-h); background:var(--bx-head); color:var(--bx-head-text);
  display:flex; align-items:center; justify-content:space-between;
  padding:0 var(--bx-3); gap:var(--bx-4); position:relative; z-index:40;
}
.bx-top-left,.bx-top-mid,.bx-top-right{display:flex;align-items:center;gap:var(--bx-2)}
.bx-logo{font-weight:650;letter-spacing:-.01em;margin-right:var(--bx-1)}
.bx-projname{
  background:rgba(255,255,255,.08); border:1px solid transparent; color:inherit;
  border-radius:var(--bx-r-s); padding:5px var(--bx-2); width:180px;
}
.bx-projname:hover{background:rgba(255,255,255,.14)}
.bx-projname:focus{outline:none;border-color:var(--bx-accent);background:rgba(255,255,255,.16)}
.bx-sep{width:1px;height:22px;background:rgba(255,255,255,.16);margin:0 var(--bx-1)}

.bx-icnbtn{
  width:32px;height:32px;display:grid;place-items:center;
  background:transparent;border:1px solid transparent;border-radius:var(--bx-r-s);
  cursor:pointer;color:inherit;flex:none;
}
.bx-icnbtn:hover{background:rgba(255,255,255,.12)}
.bx-icnbtn:disabled{opacity:.35;cursor:default;background:transparent}
.bx-icnbtn.is-on{background:var(--bx-accent);border-color:var(--bx-accent)}
.bx-icnbtn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

.bx-seg{display:flex;background:rgba(255,255,255,.08);border-radius:var(--bx-r-s);padding:2px;gap:2px}
.bx-seg-btn{
  width:30px;height:26px;display:grid;place-items:center;border:0;border-radius:var(--bx-r-s);
  background:transparent;cursor:pointer;color:inherit;
}
.bx-seg-btn:hover{background:rgba(255,255,255,.12)}
.bx-seg-btn.is-on{background:var(--bx-accent);color:#fff}
.bx-seg-btn svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

.bx-btn{
  border:1px solid transparent;border-radius:var(--bx-r-s);padding:7px var(--bx-3);
  cursor:pointer;background:transparent;font-weight:550;white-space:nowrap;
}
.bx-btn-ghost{color:var(--bx-head-text);border-color:rgba(255,255,255,.18)}
.bx-btn-ghost:hover{background:rgba(255,255,255,.12)}
.bx-btn-primary{background:var(--bx-accent);color:var(--bx-accent-text)}
.bx-btn-primary:hover{filter:brightness(1.1)}
.bx-btn-sec{background:var(--bx-surface);color:var(--bx-text);border-color:var(--bx-line)}
.bx-btn-sec:hover{background:var(--bx-surface-2)}
.bx-btn-danger{background:var(--bx-danger);color:#fff}

/* ---------- Grundraster ---------- */
.bx-main{
  height:calc(100% - var(--bx-top-h));
  display:grid; grid-template-columns:var(--bx-side-w) 1fr 0;
  transition:grid-template-columns .18s ease;
}
.bx-main.has-panel{grid-template-columns:var(--bx-side-w) 1fr var(--bx-panel-w)}
.bx-main.no-side{grid-template-columns:0 1fr 0}
.bx-main.no-side.has-panel{grid-template-columns:0 1fr var(--bx-panel-w)}

/* ---------- Elementleiste links ---------- */
.bx-side{
  background:var(--bx-surface); border-right:1px solid var(--bx-line);
  display:flex; flex-direction:column; overflow:hidden; min-width:0;
}
.bx-side-tabs{display:flex;border-bottom:1px solid var(--bx-line);flex:none}
.bx-side-tab{
  flex:1;padding:var(--bx-3) var(--bx-2);border:0;background:transparent;cursor:pointer;
  color:var(--bx-text-2);font-weight:550;border-bottom:2px solid transparent;
}
.bx-side-tab:hover{color:var(--bx-text);background:var(--bx-surface-2)}
.bx-side-tab.is-on{color:var(--bx-accent);border-bottom-color:var(--bx-accent)}
.bx-side-search{padding:var(--bx-3);border-bottom:1px solid var(--bx-line-2);flex:none}
.bx-side-search input{
  width:100%;padding:7px var(--bx-3);border:1px solid var(--bx-line);border-radius:var(--bx-r-s);
  background:var(--bx-surface-2);
}
.bx-side-search input:focus{outline:none;border-color:var(--bx-accent);background:#fff}
.bx-side-body{flex:1;overflow-y:auto;padding:var(--bx-3)}
.bx-side-hint{
  flex:none;margin:0;padding:var(--bx-3);border-top:1px solid var(--bx-line-2);
  color:var(--bx-text-3);font-size:12px;line-height:1.45;
}

.bx-group-title{
  font-size:11px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;
  color:var(--bx-text-3);margin:var(--bx-4) 0 var(--bx-2);
}
.bx-group-title:first-child{margin-top:0}
.bx-tiles{display:grid;grid-template-columns:1fr 1fr;gap:var(--bx-2)}
.bx-tile{
  display:flex;flex-direction:column;align-items:center;gap:6px;
  padding:var(--bx-3) var(--bx-2);border:1px solid var(--bx-line);border-radius:var(--bx-r);
  background:var(--bx-surface-2);cursor:grab;text-align:center;user-select:none;
  transition:border-color .12s,background .12s,transform .12s;
}
.bx-tile:hover{border-color:var(--bx-accent);background:var(--bx-accent-weak)}
.bx-tile:active{cursor:grabbing;transform:scale(.97)}
.bx-tile svg{width:20px;height:20px;stroke:var(--bx-accent);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.bx-tile span{font-size:12px;line-height:1.25;color:var(--bx-text-2)}

.bx-layouts{display:grid;grid-template-columns:1fr 1fr;gap:var(--bx-2)}
.bx-layout{
  border:1px solid var(--bx-line);border-radius:var(--bx-r);padding:var(--bx-2);
  background:var(--bx-surface-2);cursor:grab;display:flex;flex-direction:column;gap:6px;
}
.bx-layout:hover{border-color:var(--bx-accent);background:var(--bx-accent-weak)}
.bx-layout-vis{display:flex;gap:3px;height:26px}
.bx-layout-vis i{background:#cfd4e0;border-radius:3px;display:block}
.bx-layout:hover .bx-layout-vis i{background:var(--bx-accent)}
.bx-layout small{color:var(--bx-text-3);font-size:11px;text-align:center}

.bx-saved-item{
  display:flex;align-items:center;gap:var(--bx-2);padding:var(--bx-2) var(--bx-3);
  border:1px solid var(--bx-line);border-radius:var(--bx-r);background:var(--bx-surface-2);
  margin-bottom:var(--bx-2);cursor:grab;
}
.bx-saved-item:hover{border-color:var(--bx-accent)}
.bx-saved-item strong{flex:1;font-weight:550;font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bx-saved-item .bx-mini{opacity:.5}
.bx-saved-item:hover .bx-mini{opacity:1}
.bx-empty{color:var(--bx-text-3);font-size:13px;text-align:center;padding:var(--bx-6) var(--bx-3);line-height:1.5}

.bx-mini{
  width:24px;height:24px;display:grid;place-items:center;border:0;background:transparent;
  border-radius:5px;cursor:pointer;color:var(--bx-text-2);flex:none;
}
.bx-mini:hover{background:var(--bx-line-2);color:var(--bx-text)}
.bx-mini svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* ---------- Zeichenfläche ---------- */
.bx-canvas-wrap{
  overflow:auto;display:flex;justify-content:center;align-items:flex-start;
  padding:var(--bx-4); min-width:0; background:var(--bx-bg);
}
.bx-canvas-frame{
  width:100%;max-width:100%;height:100%;background:#fff;border-radius:var(--bx-r);
  box-shadow:var(--bx-shadow);overflow:hidden;transition:max-width .2s ease;
}
.bx-canvas-frame.bp-t{max-width:980px}
.bx-canvas-frame.bp-p{max-width:480px}
#canvas{width:100%;height:100%;border:0;display:block}

/* ---------- Einstellungs-Panel ---------- */
.bx-panel{
  background:var(--bx-surface);border-left:1px solid var(--bx-line);
  display:flex;flex-direction:column;overflow:hidden;min-width:0;
}
.bx-panel[hidden]{display:none}
.bx-panel-head{
  display:flex;align-items:center;justify-content:space-between;gap:var(--bx-2);
  padding:var(--bx-3) var(--bx-3) var(--bx-3) var(--bx-4);border-bottom:1px solid var(--bx-line);flex:none;
}
.bx-panel-title{display:flex;flex-direction:column;gap:2px;min-width:0}
.bx-panel-kind{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--bx-text-3);font-weight:650}
.bx-panel-title strong{font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bx-panel-head .bx-icnbtn{color:var(--bx-text-2)}
.bx-panel-head .bx-icnbtn:hover{background:var(--bx-line-2);color:var(--bx-text)}

.bx-panel-bp{display:flex;gap:2px;padding:var(--bx-2) var(--bx-3);background:var(--bx-surface-2);border-bottom:1px solid var(--bx-line-2);flex:none}
.bx-bp-btn{
  flex:1;padding:5px;border:1px solid transparent;border-radius:var(--bx-r-s);background:transparent;
  cursor:pointer;font-size:12px;font-weight:550;color:var(--bx-text-2);
}
.bx-bp-btn:hover{background:#fff;border-color:var(--bx-line)}
.bx-bp-btn.is-on{background:var(--bx-accent);border-color:var(--bx-accent);color:#fff}

.bx-panel-tabs{display:flex;border-bottom:1px solid var(--bx-line);flex:none}
.bx-panel-tab{
  flex:1;padding:var(--bx-3) var(--bx-2);border:0;background:transparent;cursor:pointer;
  color:var(--bx-text-2);font-weight:550;border-bottom:2px solid transparent;
}
.bx-panel-tab:hover{color:var(--bx-text);background:var(--bx-surface-2)}
.bx-panel-tab.is-on{color:var(--bx-accent);border-bottom-color:var(--bx-accent)}
.bx-panel-body{flex:1;overflow-y:auto;padding-bottom:var(--bx-6)}

/* ---------- Formularbausteine ---------- */
.bx-acc{border-bottom:1px solid var(--bx-line-2)}
.bx-acc-head{
  width:100%;display:flex;align-items:center;gap:var(--bx-2);
  padding:var(--bx-3) var(--bx-4);border:0;background:transparent;cursor:pointer;
  font-weight:600;text-align:left;color:var(--bx-text);
}
.bx-acc-head:hover{background:var(--bx-surface-2)}
.bx-acc-head svg{width:14px;height:14px;stroke:var(--bx-text-3);fill:none;stroke-width:2;transition:transform .15s}
.bx-acc.is-open .bx-acc-head svg{transform:rotate(90deg)}
.bx-acc-head > span:first-child{flex:none;display:flex;align-items:center}
.bx-acc-head > span:last-child{flex:1}
.bx-acc-body{display:none;padding:0 var(--bx-4) var(--bx-4)}
.bx-acc.is-open .bx-acc-body{display:block}

.bx-field{margin-top:var(--bx-4)}
.bx-field:first-child{margin-top:var(--bx-2)}
.bx-field-head{display:flex;align-items:center;gap:6px;margin-bottom:6px;min-height:20px}
.bx-field-head label{font-size:12px;font-weight:600;color:var(--bx-text-2);flex:1;line-height:1.3}
.bx-dot{width:6px;height:6px;border-radius:50%;background:var(--bx-accent);flex:none}
.bx-hoverbtn{
  border:1px solid var(--bx-line);background:var(--bx-surface-2);border-radius:4px;
  font-size:10px;font-weight:650;padding:1px 5px;cursor:pointer;color:var(--bx-text-3);
  text-transform:uppercase;letter-spacing:.04em;
}
.bx-hoverbtn.is-on{background:var(--bx-accent);border-color:var(--bx-accent);color:#fff}
.bx-help{margin:5px 0 0;font-size:11px;line-height:1.45;color:var(--bx-text-3)}
.bx-warn{
  margin:var(--bx-2) 0 0;font-size:11px;line-height:1.45;color:#8a5a00;
  background:#fff6e5;border:1px solid #ffe0a3;border-radius:var(--bx-r-s);padding:var(--bx-2);
}

.bx-in,.bx-sel,.bx-ta{
  width:100%;padding:7px var(--bx-2);border:1px solid var(--bx-line);border-radius:var(--bx-r-s);
  background:#fff;
}
.bx-in:focus,.bx-sel:focus,.bx-ta:focus{outline:none;border-color:var(--bx-accent);box-shadow:0 0 0 3px var(--bx-accent-weak)}
.bx-ta{min-height:88px;resize:vertical;font-family:ui-monospace,"Cascadia Mono",Consolas,monospace;font-size:12.5px}
.bx-sel{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235b6478' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;padding-right:28px}

.bx-len{display:flex;gap:var(--bx-2)}
.bx-len .bx-in{flex:1;min-width:0}
.bx-len .bx-sel{width:64px;flex:none;padding-right:22px;background-position:right 5px center}

.bx-box{display:grid;grid-template-columns:1fr 1fr;gap:var(--bx-2)}
.bx-box label{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--bx-text-3)}
.bx-box label i{font-style:normal;width:14px;flex:none;text-align:center;font-weight:650}
.bx-box input{flex:1;min-width:0;padding:5px 6px;border:1px solid var(--bx-line);border-radius:5px}
.bx-box input:focus{outline:none;border-color:var(--bx-accent)}
.bx-box-link{grid-column:1/-1;display:flex;align-items:center;gap:6px;font-size:11px;color:var(--bx-text-3);margin-top:2px}

.bx-color{display:flex;gap:var(--bx-2);align-items:center}
.bx-color .sw{
  width:34px;height:34px;border-radius:var(--bx-r-s);border:1px solid var(--bx-line);
  cursor:pointer;flex:none;padding:0;overflow:hidden;position:relative;
  background-image:linear-gradient(45deg,#e6e8ee 25%,transparent 25%,transparent 75%,#e6e8ee 75%),linear-gradient(45deg,#e6e8ee 25%,#fff 25%,#fff 75%,#e6e8ee 75%);
  background-size:10px 10px;background-position:0 0,5px 5px;
}
.bx-color .sw i{position:absolute;inset:0;display:block}
.bx-color .bx-in{flex:1;min-width:0;font-family:ui-monospace,Consolas,monospace;font-size:12.5px}
.bx-color .bx-mini{border:1px solid var(--bx-line)}
.bx-swatches{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.bx-swatches button{
  width:20px;height:20px;border-radius:4px;border:1px solid rgba(0,0,0,.12);cursor:pointer;padding:0;
}

.bx-switch{display:flex;align-items:center;gap:var(--bx-2);cursor:pointer;user-select:none}
.bx-switch input{position:absolute;opacity:0;width:0;height:0}
.bx-switch i{
  width:38px;height:22px;border-radius:11px;background:#cfd4e0;position:relative;flex:none;transition:background .15s;
}
.bx-switch i::after{
  content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;
  background:#fff;transition:transform .15s;box-shadow:0 1px 2px rgba(0,0,0,.2);
}
.bx-switch input:checked + i{background:var(--bx-accent)}
.bx-switch input:checked + i::after{transform:translateX(16px)}
.bx-switch input:focus-visible + i{box-shadow:0 0 0 3px var(--bx-accent-weak)}
.bx-switch span{font-size:12.5px;color:var(--bx-text-2)}

.bx-range{display:flex;align-items:center;gap:var(--bx-2)}
.bx-range input[type=range]{flex:1;min-width:0;accent-color:var(--bx-accent)}
.bx-range .bx-in{width:70px;flex:none;text-align:center}

.bx-align{display:flex;gap:2px;background:var(--bx-surface-2);padding:2px;border-radius:var(--bx-r-s);border:1px solid var(--bx-line)}
.bx-align button{
  flex:1;height:28px;display:grid;place-items:center;border:0;background:transparent;
  border-radius:5px;cursor:pointer;color:var(--bx-text-2);
}
.bx-align button:hover{background:#fff}
.bx-align button.is-on{background:var(--bx-accent);color:#fff}
.bx-align svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round}

.bx-rt-bar{display:flex;flex-wrap:wrap;gap:2px;border:1px solid var(--bx-line);border-bottom:0;border-radius:var(--bx-r-s) var(--bx-r-s) 0 0;padding:3px;background:var(--bx-surface-2)}
.bx-rt-bar button{
  min-width:26px;height:26px;padding:0 5px;border:0;background:transparent;border-radius:4px;cursor:pointer;
  color:var(--bx-text-2);font-size:12px;font-weight:600;display:grid;place-items:center;
}
.bx-rt-bar button:hover{background:#fff}
.bx-rt{
  min-height:120px;max-height:320px;overflow:auto;border:1px solid var(--bx-line);
  border-radius:0 0 var(--bx-r-s) var(--bx-r-s);padding:var(--bx-2) var(--bx-3);background:#fff;
}
.bx-rt:focus{outline:none;border-color:var(--bx-accent);box-shadow:0 0 0 3px var(--bx-accent-weak)}
.bx-rt p{margin:0 0 .6em}
.bx-rt :last-child{margin-bottom:0}

.bx-rep-item{border:1px solid var(--bx-line);border-radius:var(--bx-r);margin-bottom:var(--bx-2);background:var(--bx-surface-2);overflow:hidden}
.bx-rep-head{display:flex;align-items:center;gap:var(--bx-1);padding:6px var(--bx-2);cursor:pointer}
.bx-rep-head strong{flex:1;font-size:12.5px;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bx-rep-head .grip{cursor:grab;color:var(--bx-text-3)}
.bx-rep-body{display:none;padding:0 var(--bx-3) var(--bx-3);background:#fff;border-top:1px solid var(--bx-line-2)}
.bx-rep-item.is-open .bx-rep-body{display:block}
.bx-rep-add{width:100%;margin-top:var(--bx-1)}

.bx-img-prev{
  border:1px solid var(--bx-line);border-radius:var(--bx-r-s);background:var(--bx-surface-2);
  min-height:78px;display:grid;place-items:center;overflow:hidden;margin-bottom:var(--bx-2);padding:var(--bx-2);
}
.bx-img-prev img{max-width:100%;max-height:150px;display:block;object-fit:contain}
.bx-img-prev span{color:var(--bx-text-3);font-size:12px}
.bx-row-btns{display:flex;gap:var(--bx-2);margin-top:var(--bx-2)}
.bx-row-btns .bx-btn{flex:1;text-align:center;font-size:12.5px;padding:6px}

.bx-icons-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;max-height:200px;overflow-y:auto;border:1px solid var(--bx-line);border-radius:var(--bx-r-s);padding:var(--bx-2);background:#fff}
.bx-icons-grid button{aspect-ratio:1;display:grid;place-items:center;border:1px solid transparent;border-radius:5px;background:transparent;cursor:pointer;color:var(--bx-text-2)}
.bx-icons-grid button:hover{background:var(--bx-accent-weak);color:var(--bx-accent)}
.bx-icons-grid button.is-on{background:var(--bx-accent);color:#fff}
.bx-icons-grid svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* ---------- Ziehen ---------- */
.bx-drag-ghost{
  position:fixed;z-index:100;pointer-events:none;background:var(--bx-accent);color:#fff;
  padding:6px var(--bx-3);border-radius:var(--bx-r-s);font-size:12.5px;font-weight:600;
  box-shadow:0 6px 20px rgba(0,0,0,.25);transform:translate(-50%,-140%);white-space:nowrap;
}
.bx-drag-ghost[hidden]{display:none}
body.is-dragging{cursor:grabbing}
body.is-dragging *{cursor:grabbing !important;user-select:none !important}

/* ---------- Dialoge ---------- */
.bx-modal-back{
  position:fixed;inset:0;background:rgba(20,24,36,.45);z-index:90;
  display:flex;align-items:center;justify-content:center;padding:var(--bx-5);
}
.bx-modal-back[hidden]{display:none}
.bx-modal{
  background:var(--bx-surface);border-radius:12px;box-shadow:0 24px 64px rgba(0,0,0,.3);
  width:min(680px,100%);max-height:86vh;display:flex;flex-direction:column;overflow:hidden;
}
.bx-modal-head{display:flex;align-items:center;justify-content:space-between;padding:var(--bx-4) var(--bx-5);border-bottom:1px solid var(--bx-line);flex:none}
.bx-modal-head h2{margin:0;font-size:16px;font-weight:650}
.bx-modal-body{padding:var(--bx-5);overflow-y:auto;flex:1}
.bx-modal-body > .bx-field:first-child{margin-top:0}
.bx-modal-foot{display:flex;gap:var(--bx-2);justify-content:flex-end;padding:var(--bx-4) var(--bx-5);border-top:1px solid var(--bx-line);flex:none;background:var(--bx-surface-2)}
.bx-modal-foot .bx-btn{min-width:104px}
.bx-modal p{margin:0 0 var(--bx-3);color:var(--bx-text-2);line-height:1.55}
.bx-modal p:last-child{margin-bottom:0}
.bx-list{list-style:none;margin:0;padding:0}
.bx-list li{
  display:flex;align-items:center;gap:var(--bx-3);padding:var(--bx-3);border:1px solid var(--bx-line);
  border-radius:var(--bx-r);margin-bottom:var(--bx-2);
}
.bx-list li strong{flex:1;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bx-list li small{color:var(--bx-text-3);white-space:nowrap}

.bx-toast{
  position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:120;
  background:var(--bx-head);color:#fff;padding:10px var(--bx-4);border-radius:var(--bx-r);
  box-shadow:0 8px 28px rgba(0,0,0,.28);font-size:13.5px;max-width:80vw;
}
.bx-toast[hidden]{display:none}
.bx-toast.is-err{background:var(--bx-danger)}

@media (max-width:1180px){
  :root{--bx-side-w:220px;--bx-panel-w:320px}
  .bx-projname{width:130px}
}

/* ---------- Vorlagen-Galerie ---------- */
.bx-modal-wide{width:min(1180px,100%)}
.bx-gal-intro{font-size:13.5px;line-height:1.6;color:var(--bx-text-2);margin:0 0 var(--bx-4)}
.bx-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(272px,1fr));gap:var(--bx-4)}
.bx-gal-karte{
  border:1px solid var(--bx-line);border-radius:10px;overflow:hidden;background:var(--bx-surface);
  display:flex;flex-direction:column;transition:border-color .14s,box-shadow .14s,transform .14s;
}
.bx-gal-karte:hover{border-color:var(--bx-accent);box-shadow:var(--bx-shadow);transform:translateY(-2px)}
.bx-gal-buehne{
  height:236px;position:relative;overflow:hidden;background:var(--bx-bg);
  border-bottom:1px solid var(--bx-line);
}
.bx-gal-buehne iframe{
  position:absolute;top:0;left:0;border:0;transform-origin:top left;pointer-events:none;
}
.bx-gal-leer{
  position:absolute;inset:0;display:grid;place-items:center;color:var(--bx-text-3);
}
.bx-gal-leer svg{width:38px;height:38px;stroke:currentColor;fill:none;stroke-width:1.4;stroke-linecap:round}
.bx-gal-kopf{display:flex;align-items:baseline;gap:var(--bx-2);padding:var(--bx-3) var(--bx-3) 2px}
.bx-gal-kopf strong{font-size:15px;font-weight:650;flex:1;min-width:0}
.bx-gal-kat{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--bx-text-3);font-weight:650}
.bx-gal-fuss{display:flex;align-items:flex-end;gap:var(--bx-2);padding:0 var(--bx-3) var(--bx-3);flex:1}
.bx-gal-fuss p{margin:0;font-size:12.5px;line-height:1.45;color:var(--bx-text-2);flex:1}
.bx-gal-farben{display:flex;gap:3px;flex:none;padding-bottom:2px}
.bx-gal-farben i{width:11px;height:11px;border-radius:50%;display:block;border:1px solid rgba(0,0,0,.1)}
.bx-gal-btn{margin:0 var(--bx-3) var(--bx-3);font-size:13px}
