/* v0.10.4 – Wall Builder fase 4. Separate from the frozen Stack engine. */
.npb-mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 14px;padding:5px;border:1px solid var(--npb-border);border-radius:10px;background:#f5f6f7}
.npb-mode-switch button{min-height:44px;border:0;border-radius:7px;background:transparent;color:var(--npb-text);font:inherit;font-weight:700;cursor:pointer}
.npb-mode-switch button.is-active{background:var(--npb-dark);color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.npb-wall-view[hidden]{display:none!important}.npb-builder.npb-mode-wall>.npb-progress,.npb-builder.npb-mode-wall>.npb-mobile-nav,.npb-builder.npb-mode-wall>.npb-layout,.npb-builder.npb-mode-wall>.npb-mobile-summary-bar{display:none!important}.npb-builder.npb-mode-wall>.npb-wall-view{display:block}
.npb-wall-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:6px 0 12px}.npb-wall-intro h3{margin:3px 0 5px;font-size:22px}.npb-wall-intro p{margin:0;color:var(--npb-muted)}.npb-wall-reset{padding:8px 12px;border:1px solid var(--npb-border);border-radius:7px;background:#fff;font:inherit;font-weight:700;cursor:pointer}.npb-wall-reset:disabled{opacity:.45;cursor:not-allowed}
.npb-wall-phase-note{display:flex;gap:9px;align-items:flex-start;margin:0 0 14px;padding:10px 12px;border:1px solid #eadca3;border-radius:8px;background:#fffbea;font-size:12px;line-height:1.4}.npb-wall-phase-note strong{white-space:nowrap}.npb-wall-phase-note span{color:#5f5a46}
.npb-wall-layout{display:grid;grid-template-columns:minmax(240px,300px) minmax(440px,1fr) minmax(250px,310px);gap:14px;align-items:start}.npb-wall-catalog,.npb-wall-stage,.npb-wall-summary-card,.npb-wall-help{border:1px solid var(--npb-border);border-radius:10px;background:#fff}.npb-wall-catalog{max-height:760px;overflow:auto}.npb-wall-tools{position:sticky;top:0;z-index:3;padding:10px;border-bottom:1px solid var(--npb-border);background:#fff}.npb-wall-search{width:100%;min-height:38px;padding:8px 10px;border:1px solid var(--npb-border);border-radius:7px}.npb-wall-filters{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.npb-wall-filters button{padding:5px 7px;border:1px solid var(--npb-border);border-radius:6px;background:#fff;font-size:10px;font-weight:700;cursor:pointer}.npb-wall-filters button.is-active{background:var(--npb-dark);color:#fff;border-color:var(--npb-dark)}
.npb-wall-products{padding:8px}.npb-wall-product{display:grid;grid-template-columns:62px minmax(0,1fr);gap:9px;padding:9px 4px;border-bottom:1px solid #eee}.npb-wall-product:last-child{border-bottom:0}.npb-wall-product img{width:62px;height:62px;object-fit:contain}.npb-wall-product>div>span{display:block;color:var(--npb-muted);font-size:9px}.npb-wall-product strong{display:block;font-size:11px;line-height:1.25}.npb-wall-product small{display:block;margin-top:3px;color:var(--npb-muted);font-size:9px;line-height:1.3}.npb-wall-product-bottom{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-top:7px}.npb-wall-product-bottom b{font-size:11px}.npb-wall-product-bottom button{padding:5px 8px;border:0;border-radius:6px;background:var(--npb-dark);color:#fff;font-size:10px;font-weight:700;cursor:pointer}.npb-wall-product-bottom button:disabled{opacity:.45;cursor:not-allowed}.npb-wall-product em{display:block;margin-top:4px;font-size:9px;color:#a53b32}.npb-wall-product.is-selected{background:#f7f8f8}.npb-wall-catalog-empty,.npb-wall-empty-products{padding:18px;color:var(--npb-muted);text-align:center}
.npb-wall-stage{overflow:hidden}.npb-wall-stage-head{display:flex;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--npb-border)}.npb-wall-stage-head strong{display:block;font-size:14px}.npb-wall-stage-head span{display:block;margin-top:2px;color:var(--npb-muted);font-size:11px}.npb-wall-canvas{display:flex;align-items:center;justify-content:center;min-height:570px;padding:28px;background:#fafafa}.npb-wall-placeholder{text-align:center;color:var(--npb-muted)}.npb-wall-placeholder div{display:flex;width:50px;height:50px;margin:0 auto 9px;border:2px dashed #aeb3b8;border-radius:10px;align-items:center;justify-content:center;font-size:26px}.npb-wall-placeholder strong,.npb-wall-placeholder span{display:block}.npb-wall-placeholder span{margin-top:4px;font-size:11px}
.npb-wall-plate{position:relative;width:min(100%,680px);padding:20px 18px 18px;border:3px solid #3e4247;border-radius:10px;background:#22272b;color:#fff;box-shadow:0 10px 26px rgba(0,0,0,.13)}.npb-wall-plate-label{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;margin-bottom:14px}.npb-wall-plate-label strong{font-size:13px}.npb-wall-plate-label span{font-size:9px;color:#c9cdd0;text-align:right}
.npb-wall-grid-shell{--npb-wall-cols:4;--npb-wall-rows:3;position:relative;width:100%;max-width:620px;margin:0 auto;aspect-ratio:var(--npb-wall-cols)/var(--npb-wall-rows)}.npb-wall-grid-shell.is-compact{max-width:300px;aspect-ratio:2/3}.npb-wall-grid-shell.is-xl{max-width:660px;aspect-ratio:2/1}
.npb-wall-plate-grid,.npb-wall-mounted-items{position:absolute;inset:0;display:grid;grid-template-columns:repeat(var(--npb-wall-cols),minmax(0,1fr));grid-template-rows:repeat(var(--npb-wall-rows),minmax(0,1fr));gap:7px;padding:14px;box-sizing:border-box;border-radius:7px}.npb-wall-plate-grid{border:1px solid #5a6065;background:#171a1d}.npb-wall-plate-grid i{position:relative;min-width:0;min-height:0;border:2px solid #525960;border-radius:7px;background:linear-gradient(135deg,#24292d,#1d2124)}.npb-wall-plate-grid i::after{content:"";position:absolute;left:50%;bottom:8%;width:42%;height:9%;transform:translateX(-50%);border-radius:3px;background:#5a6167}.npb-wall-plate-grid i span{position:absolute;top:5px;left:6px;color:#6d747a;font-size:8px;font-style:normal}
.npb-wall-mounted-items{z-index:2;pointer-events:none}.npb-wall-mounted-item{position:relative;min-width:0;min-height:0;padding:10px 28px 38px 10px;border:2px solid #aeb5bb;border-radius:7px;background:rgba(250,250,250,.96);color:#202124;box-shadow:0 2px 8px rgba(0,0,0,.16);pointer-events:auto;overflow:hidden}.npb-wall-mounted-item>span{display:block;color:#6a7177;font-size:8px;text-transform:uppercase;letter-spacing:.02em}.npb-wall-mounted-item>strong{display:block;margin-top:3px;font-size:9px;line-height:1.2;overflow-wrap:anywhere}.npb-wall-remove{position:absolute;right:6px;top:6px;width:21px;height:21px;border:0;border-radius:50%;background:#d5322f;color:#fff;font-weight:800;cursor:pointer}.npb-wall-move-pad{position:absolute;left:8px;right:8px;bottom:7px;display:grid;grid-template-columns:repeat(4,24px);justify-content:start;gap:3px}.npb-wall-move-pad button{width:24px;height:22px;padding:0;border:1px solid #c9cdd0;border-radius:4px;background:#fff;color:#34383c;font-size:11px;font-weight:800;cursor:pointer}.npb-wall-move-pad button:hover{background:#f0f2f3}.npb-wall-grid-legend{display:flex;justify-content:space-between;gap:12px;margin-top:10px;color:#c9cdd0;font-size:9px}.npb-wall-grid-legend span:first-child{display:flex;align-items:center;gap:5px}.npb-wall-grid-legend i{display:inline-block;width:14px;height:10px;border:1px solid #666f75;border-radius:2px;background:#1b1f22}
.npb-wall-message{min-height:0;padding:0 14px;font-size:11px}.npb-wall-message.is-visible{min-height:36px;padding:9px 14px}.npb-wall-message.is-success{color:#176532;background:#edf8f0}.npb-wall-message.is-warning{color:#8a3b24;background:#fff0eb}
.npb-wall-summary{position:sticky;top:12px}.npb-wall-summary-card,.npb-wall-help{padding:14px}.npb-wall-summary-card h3{margin:0 0 10px;font-size:15px}.npb-wall-summary-empty{padding:10px 0;color:var(--npb-muted);font-size:11px}.npb-wall-summary-lines>div{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #eee;font-size:10px}.npb-wall-summary-lines span{min-width:0}.npb-wall-summary-lines strong,.npb-wall-summary-lines small{display:block}.npb-wall-summary-lines small{margin-top:2px;color:var(--npb-muted)}.npb-wall-summary-total{display:flex;justify-content:space-between;padding:11px 0;border-top:1px solid #ddd;font-weight:700}.npb-wall-cart{width:100%;min-height:42px;border:0;border-radius:7px;background:var(--npb-red);color:#fff;font:inherit;font-weight:800;cursor:pointer}.npb-wall-cart:disabled{opacity:.45;cursor:not-allowed}.npb-wall-summary-card>small{display:block;margin-top:7px;color:var(--npb-muted);font-size:9px;line-height:1.35}.npb-wall-help{margin-top:10px}.npb-wall-help strong{font-size:12px}.npb-wall-help p{margin:5px 0 0;color:var(--npb-muted);font-size:10px;line-height:1.45}
@media(max-width:1100px){.npb-wall-layout{grid-template-columns:260px minmax(380px,1fr)}.npb-wall-summary{grid-column:1/-1;position:static;display:grid;grid-template-columns:1fr 1fr;gap:10px}.npb-wall-help{margin-top:0}}
@media(max-width:782px){.npb-mode-switch{margin-bottom:10px}.npb-mode-switch button{min-height:42px;font-size:11px}.npb-wall-intro h3{font-size:18px}.npb-wall-layout{display:block}.npb-wall-catalog{max-height:none;margin-bottom:10px}.npb-wall-stage{margin-bottom:10px}.npb-wall-canvas{min-height:460px;padding:16px 10px}.npb-wall-summary{display:block}.npb-wall-help{margin-top:10px}.npb-wall-plate{padding:14px 10px 14px}.npb-wall-plate-label{display:block}.npb-wall-plate-label span{text-align:left;margin-top:3px}.npb-wall-plate-grid,.npb-wall-mounted-items{gap:4px;padding:8px}.npb-wall-mounted-item{padding:7px 24px 34px 7px}.npb-wall-mounted-item>strong{font-size:8px}.npb-wall-move-pad{left:6px;right:6px;bottom:5px;grid-template-columns:repeat(4,22px)}.npb-wall-move-pad button{width:22px;height:20px}.npb-wall-grid-legend{display:block}.npb-wall-grid-legend span{margin-top:4px}.npb-wall-phase-note{display:block}.npb-wall-phase-note span{display:block;margin-top:3px}.npb-wall-reset{font-size:10px}}
@media(max-width:520px){.npb-wall-mounted-item>span{display:none}.npb-wall-mounted-item>strong{font-size:7px}.npb-wall-move-pad{grid-template-columns:repeat(2,22px);width:48px}.npb-wall-mounted-item{padding-bottom:50px}}

/* v0.10.2 – Wall fase 3: multi-plate + visuell paritet med Stack (beholdt baseline) */
.npb-builder.npb-mode-wall>.npb-progress{display:grid!important}
.npb-builder.npb-mode-wall>.npb-mobile-nav,.npb-builder.npb-mode-wall>.npb-layout,.npb-builder.npb-mode-wall>.npb-mobile-summary-bar{display:none!important}
.npb-builder.npb-mode-wall>.npb-wall-view{display:block!important}
.npb-builder.npb-mode-wall .npb-builder-head>.npb-reset{display:none!important}
.npb-wall-view{background:#fff}
.npb-wall-phase-note{margin:0;padding:10px clamp(20px,2.2vw,42px);border-width:1px 0;border-radius:0;background:#fff9df}
.npb-wall-layout{grid-template-columns:clamp(310px,20vw,380px) minmax(520px,1fr) clamp(310px,18vw,360px);gap:0;min-height:max(720px,calc(100vh - 250px));border-top:1px solid #dedede;border-bottom:1px solid #dedede;background:#fff}
.npb-wall-catalog,.npb-wall-stage,.npb-wall-summary-card,.npb-wall-help,.npb-wall-selected-card{border-radius:0;border-color:#dedede}
.npb-wall-catalog{max-height:820px;border-width:0 1px 0 0}
.npb-wall-stage{border-width:0 1px 0 0;min-width:0}
.npb-wall-summary{padding:18px 16px;position:sticky;top:0}
.npb-wall-summary-card,.npb-wall-help,.npb-wall-selected-card{border:0;background:#fff;padding:0}
.npb-wall-help,.npb-wall-selected-card{margin-top:22px;padding-top:18px;border-top:1px solid #e3e3e3}
.npb-wall-tools{padding:16px 14px;border-bottom:1px solid #dedede}
.npb-wall-search{min-height:44px;border-radius:4px;font-size:14px}
.npb-wall-filters{gap:7px}.npb-wall-filters button{min-height:34px;padding:6px 11px;border-radius:18px;font-size:11px}.npb-wall-filters button.is-active{background:var(--npb-dark);border-color:var(--npb-dark)}
.npb-wall-products{padding:10px}.npb-wall-product{grid-template-columns:88px minmax(0,1fr);gap:12px;padding:12px 4px}.npb-wall-product img{width:88px;height:88px}.npb-wall-product>div>span{font-size:10px}.npb-wall-product strong{font-size:13px}.npb-wall-product small{font-size:10px}.npb-wall-product-bottom b{font-size:13px}.npb-wall-product-bottom button{min-height:34px;padding:7px 11px;border-radius:4px;font-size:11px;background:var(--npb-dark)}
.npb-wall-stage-head{min-height:64px;padding:13px 18px;align-items:center}.npb-wall-stage-head strong{font-size:15px}.npb-wall-stage-head span{font-size:11px}.npb-wall-reset{min-height:38px;padding:8px 12px;border-radius:4px}
.npb-wall-canvas{display:block;min-height:620px;padding:24px;background:#fafafa}.npb-wall-placeholder{padding:110px 20px}.npb-wall-plates{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:18px;align-items:start}
.npb-wall-plate-card{min-width:0;padding:10px;border:2px solid transparent;border-radius:8px;background:#f3f4f5;cursor:pointer;transition:border-color .15s,box-shadow .15s}.npb-wall-plate-card:hover{border-color:#c9cdd1}.npb-wall-plate-card.is-active{border-color:var(--npb-red);box-shadow:0 0 0 1px rgba(219,1,28,.12)}
.npb-wall-plate-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 2px 8px}.npb-wall-plate-card-head span{display:block;color:var(--npb-red);font-size:10px;font-weight:800;text-transform:uppercase}.npb-wall-plate-card-head strong{display:block;font-size:12px;line-height:1.25}.npb-wall-plate-card-head button{flex:0 0 28px;width:28px;height:28px;border:0;border-radius:50%;background:#25282b;color:#fff;font-size:18px;cursor:pointer}
.npb-wall-plate{width:100%;max-width:none;padding:16px 14px;border-width:2px;border-radius:7px}.npb-wall-grid-shell{max-width:none}.npb-wall-grid-shell.is-compact{max-width:260px}.npb-wall-grid-shell.is-xl{max-width:none}
.npb-wall-mounted-item{border-color:#8e959b}.npb-wall-plate-card.is-active .npb-wall-mounted-item{border-color:#777f86}
.npb-wall-summary-card h3{font-size:18px}.npb-wall-summary-lines>div{font-size:11px;padding:10px 0}.npb-wall-summary-total{font-size:16px}.npb-wall-summary-total strong{font-size:19px}.npb-wall-cart{min-height:48px;border-radius:4px;background:var(--npb-dark);font-size:14px}.npb-wall-cart:not(:disabled):hover{background:#000}
.npb-wall-cart-success{margin-top:12px;padding:12px;border:1px solid #cce1d0;border-radius:6px;background:#f7fcf8}.npb-wall-cart-success[hidden]{display:none!important}.npb-wall-cart-success>strong{display:block;font-size:13px}.npb-wall-cart-success>span{display:block;margin-top:3px;color:#47704f;font-size:11px}.npb-wall-cart-success>div{display:flex;gap:7px;margin-top:9px}.npb-wall-cart-go,.npb-wall-cart-new{min-height:34px;padding:7px 10px;border:0;border-radius:4px;font:inherit;font-size:10px;font-weight:800;text-decoration:none;cursor:pointer}.npb-wall-cart-go{background:var(--npb-red);color:#fff}.npb-wall-cart-new{background:#e8eaec;color:#222}
.npb-wall-selected-card[hidden]{display:none!important}.npb-wall-selected-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}.npb-wall-selected-head>strong{font-size:17px}.npb-wall-selected-head>span{color:var(--npb-muted);font-size:12px}.npb-wall-selected-group+.npb-wall-selected-group{margin-top:12px;padding-top:10px;border-top:1px solid #ececec}.npb-wall-selected-group-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:5px}.npb-wall-selected-group-head strong{font-size:11px}.npb-wall-selected-group-head span{color:var(--npb-muted);font-size:10px}
.npb-wall-selected-product{display:grid;grid-template-columns:84px minmax(0,1fr);gap:10px;align-items:center;min-height:88px;padding:5px 0}.npb-wall-selected-image{width:84px;height:84px;display:flex;align-items:center;justify-content:center;overflow:hidden}.npb-wall-selected-image img{display:block;width:100%;height:100%;object-fit:contain}.npb-wall-selected-product span{display:block;margin-bottom:2px;color:var(--npb-muted);font-size:9px;font-weight:700}.npb-wall-selected-product strong{display:block;font-size:11px;line-height:1.25;overflow-wrap:anywhere}.npb-wall-selected-product.is-plate{padding-bottom:8px;border-bottom:1px solid #f0f0f0}
.npb-wall-help strong{font-size:13px}.npb-wall-help p{font-size:11px}

/* Større og tydeligere Milwaukee/PACKOUT-topp på desktop/tablet. */
@media(min-width:783px){.npb-brandbar{min-height:108px;padding-top:16px;padding-bottom:16px}.npb-brand-milwaukee{height:64px}.npb-brand-packout{height:49px}.npb-brand-separator{height:54px}.npb-brand-context span{font-size:12px}.npb-brand-context strong{font-size:21px}}

@media(max-width:1180px) and (min-width:783px){.npb-wall-layout{grid-template-columns:minmax(290px,320px) minmax(0,1fr)}.npb-wall-summary{grid-column:1/-1;position:static;display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:22px;padding:22px 26px;border-top:1px solid #dedede}.npb-wall-summary-card{grid-column:1}.npb-wall-selected-card{grid-column:1;margin-top:18px}.npb-wall-help{grid-column:2;grid-row:1/span 2;margin-top:0;padding-top:0;padding-left:22px;border-top:0;border-left:1px solid #e3e3e3}.npb-wall-canvas{padding:18px}.npb-wall-plates{grid-template-columns:1fr}}
@media(max-width:782px){.npb-builder.npb-mode-wall>.npb-progress{display:grid!important}.npb-wall-phase-note{padding:9px 12px}.npb-wall-layout{display:block;border-top:1px solid #dedede}.npb-wall-catalog{border-right:0;max-height:none}.npb-wall-stage{border-right:0}.npb-wall-summary{position:static;padding:16px 12px}.npb-wall-canvas{min-height:420px;padding:12px 8px}.npb-wall-plates{grid-template-columns:1fr;gap:12px}.npb-wall-plate-card{padding:6px}.npb-wall-selected-product{grid-template-columns:72px minmax(0,1fr);min-height:76px}.npb-wall-selected-image{width:72px;height:72px}}

/* v0.10.4 – Wall fase 4: sammenhengende 18×6-veggflate, zoom og CSS-fiks */
.npb-wall-filters button{background:#fff!important;color:var(--npb-text,#202124)!important}
.npb-wall-filters button:hover:not(.is-active){background:#f2f3f4!important;color:var(--npb-text,#202124)!important}
.npb-wall-filters button.is-active{background:var(--npb-dark,#202124)!important;color:#fff!important;border-color:var(--npb-dark,#202124)!important}

.npb-wall-stage-head{gap:14px}
.npb-wall-stage-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.npb-wall-zoom{display:flex;align-items:center;gap:4px;padding:3px;border:1px solid #d8dadd;border-radius:6px;background:#fff}
.npb-wall-zoom button{min-width:32px;height:30px;padding:0 8px;border:0;border-radius:4px;background:#f1f2f3;color:#25282b;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.npb-wall-zoom button:hover{background:#e3e5e7}
.npb-wall-zoom button[data-wall-zoom="fit"]{min-width:54px;font-size:10px}
.npb-wall-zoom-value{min-width:52px!important;margin:0!important;text-align:center;color:#34383c!important;font-size:10px!important;font-weight:800}

.npb-wall-canvas{position:relative;display:block;min-height:650px;padding:18px;background:#f7f8f8;overflow:hidden}
.npb-wall-placeholder{padding:110px 20px}
.npb-wall-canvas-scroll{width:100%;max-width:100%;overflow:auto;padding:18px 14px 28px;box-sizing:border-box;overscroll-behavior:contain}
.npb-wall-canvas-scroll:focus-visible{outline:2px solid var(--npb-red);outline-offset:-2px}
.npb-wall-plates{
  --npb-wall-cell:72px;
  position:relative;
  display:grid!important;
  grid-template-columns:repeat(18,var(--npb-wall-cell))!important;
  grid-template-rows:repeat(6,var(--npb-wall-cell))!important;
  gap:4px!important;
  align-items:stretch!important;
  width:max-content;
  min-width:max-content;
  min-height:max-content;
  margin:0 auto;
  padding:8px;
  border:1px solid #d7dadd;
  border-radius:9px;
  background-color:#eef0f1;
  background-image:
    linear-gradient(to right,rgba(82,89,96,.08) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(82,89,96,.08) 1px,transparent 1px);
  background-size:calc(var(--npb-wall-cell) + 4px) calc(var(--npb-wall-cell) + 4px);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.7);
}
.npb-wall-plates::after{content:"18 × 6 felt";position:absolute;right:10px;bottom:-21px;color:#777;font-size:9px;font-weight:700;letter-spacing:.03em}

.npb-wall-plate-card{
  position:relative;
  min-width:0;
  min-height:0;
  width:auto;
  height:auto;
  padding:4px;
  border:2px solid transparent;
  border-radius:7px;
  background:#eceeef;
  cursor:pointer;
  overflow:hidden;
  box-sizing:border-box;
  transition:border-color .15s,box-shadow .15s;
}
.npb-wall-plate-card:hover{border-color:#b8bdc1}
.npb-wall-plate-card.is-active{z-index:3;border-color:var(--npb-red);box-shadow:0 0 0 2px rgba(219,1,28,.12)}
.npb-wall-plate-card-head{display:flex;align-items:center;justify-content:space-between;gap:5px;min-height:31px;padding:2px 2px 4px}
.npb-wall-plate-card-head>div:first-child{min-width:0;overflow:hidden}
.npb-wall-plate-card-head span{display:block;color:var(--npb-red);font-size:8px;font-weight:800;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.npb-wall-plate-card-head strong{display:block;font-size:9px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.npb-wall-plate-actions{display:flex;align-items:center;gap:2px;flex:0 0 auto}
.npb-wall-plate-actions button{width:21px;height:21px;padding:0;border:1px solid #c8ccd0;border-radius:4px;background:#fff;color:#333;font-size:10px;font-weight:800;line-height:1;cursor:pointer}
.npb-wall-plate-actions button:hover{background:#e8eaec}
.npb-wall-plate-actions .npb-wall-plate-delete{border-color:#272a2d;background:#272a2d;color:#fff;font-size:14px}

.npb-wall-plate-card .npb-wall-plate{display:flex;flex-direction:column;width:100%;height:calc(100% - 35px);max-width:none;min-height:0;padding:7px 6px 6px;border-width:2px;border-radius:6px;box-sizing:border-box;box-shadow:none}
.npb-wall-plate-card .npb-wall-plate-label{flex:0 0 auto;min-height:18px;margin-bottom:5px;align-items:center}
.npb-wall-plate-card .npb-wall-plate-label strong{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.npb-wall-plate-card .npb-wall-plate-label span{font-size:7px;white-space:nowrap}
.npb-wall-plate-card .npb-wall-grid-shell,
.npb-wall-plate-card .npb-wall-grid-shell.is-compact,
.npb-wall-plate-card .npb-wall-grid-shell.is-xl{flex:1 1 auto;width:100%;height:auto;min-height:0;max-width:none;aspect-ratio:auto;margin:0}
.npb-wall-plate-card .npb-wall-plate-grid,
.npb-wall-plate-card .npb-wall-mounted-items{gap:3px;padding:5px;border-radius:5px}
.npb-wall-plate-card .npb-wall-plate-grid i{border-width:1px;border-radius:4px}
.npb-wall-plate-card .npb-wall-plate-grid i span{top:2px;left:3px;font-size:6px}
.npb-wall-plate-card .npb-wall-grid-legend{flex:0 0 auto;margin-top:4px;font-size:7px;white-space:nowrap;overflow:hidden}
.npb-wall-plate-card .npb-wall-grid-legend i{width:9px;height:7px}
.npb-wall-plate-card .npb-wall-mounted-item{padding:5px 20px 28px 5px;border-width:1px;border-radius:5px}
.npb-wall-plate-card .npb-wall-mounted-item>span{font-size:6px}
.npb-wall-plate-card .npb-wall-mounted-item>strong{font-size:7px;line-height:1.1}
.npb-wall-plate-card .npb-wall-remove{right:3px;top:3px;width:17px;height:17px;font-size:10px}
.npb-wall-plate-card .npb-wall-move-pad{left:4px;right:4px;bottom:3px;grid-template-columns:repeat(4,18px);gap:2px}
.npb-wall-plate-card .npb-wall-move-pad button{width:18px;height:17px;font-size:8px}

/* Tilpass-visning prioriterer hele veggen. Zoom inn for detaljer og flytteknapper. */
.npb-wall-plates.is-fit .npb-wall-plate-card-head strong,
.npb-wall-plates.is-fit .npb-wall-plate-label,
.npb-wall-plates.is-fit .npb-wall-grid-legend,
.npb-wall-plates.is-fit .npb-wall-mounted-item>span,
.npb-wall-plates.is-fit .npb-wall-mounted-item>strong,
.npb-wall-plates.is-fit .npb-wall-mounted-item .npb-wall-move-pad,
.npb-wall-plates.is-fit .npb-wall-mounted-item .npb-wall-remove{display:none}
.npb-wall-plates.is-fit .npb-wall-plate-card-head{min-height:22px;padding:1px 1px 2px}
.npb-wall-plates.is-fit .npb-wall-plate-card-head span{font-size:6px}
.npb-wall-plates.is-fit .npb-wall-plate-actions button{width:16px;height:16px;font-size:8px}
.npb-wall-plates.is-fit .npb-wall-plate-actions .npb-wall-plate-delete{font-size:10px}
.npb-wall-plates.is-fit .npb-wall-plate-card .npb-wall-plate{height:calc(100% - 24px);padding:3px}
.npb-wall-plates.is-fit .npb-wall-plate-card .npb-wall-plate-grid,
.npb-wall-plates.is-fit .npb-wall-plate-card .npb-wall-mounted-items{padding:3px;gap:2px}
.npb-wall-plates.is-fit .npb-wall-mounted-item{padding:2px;background:rgba(250,250,250,.9)}

/* Rød merkevareflate: høyere, ikke bredere. */
@media(min-width:783px){
  .npb-brandbar{min-height:124px!important;padding-top:18px!important;padding-bottom:18px!important}
  .npb-brand-milwaukee{height:72px!important}
  .npb-brand-packout{height:56px!important}
  .npb-brand-separator{height:64px!important}
  .npb-brand-context span{font-size:12px!important}
  .npb-brand-context strong{font-size:22px!important}
}

@media(max-width:1180px) and (min-width:783px){
  .npb-wall-canvas{padding:14px}
  .npb-wall-canvas-scroll{padding:14px 8px 26px}
  .npb-wall-stage-head{align-items:flex-start}
  .npb-wall-stage-actions{max-width:280px}
}
@media(max-width:782px){
  .npb-wall-stage-head{display:block}
  .npb-wall-stage-actions{justify-content:space-between;margin-top:10px}
  .npb-wall-zoom{flex:1 1 auto;max-width:260px}
  .npb-wall-canvas{min-height:460px;padding:8px}
  .npb-wall-canvas-scroll{padding:10px 4px 24px}
  .npb-wall-plates{margin:0}
}
.npb-wall-plates[hidden]{display:none!important}

/* v0.10.4 – Wall visuell forenkling: tydelig strekillustrasjon i samme språk som Stack. */
.npb-wall-canvas{background:#fbfbfb}
.npb-wall-canvas-scroll{padding-bottom:30px}
.npb-wall-plates{
  border-color:#d8dcdf;
  border-radius:12px;
  background-color:#f6f7f8;
  background-image:
    linear-gradient(to right,rgba(96,103,110,.08) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(96,103,110,.08) 1px,transparent 1px);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.85);
}
.npb-wall-plates::after{color:#7a7f84}

.npb-wall-plate-card{
  background:#f1f2f3;
  border-color:#cfd4d8;
  border-radius:10px;
}
.npb-wall-plate-card:hover{border-color:#aeb5bb}
.npb-wall-plate-card.is-active{border-color:var(--npb-red);box-shadow:0 0 0 2px rgba(219,1,28,.08)}
.npb-wall-plate-card-head span{color:var(--npb-red);font-size:8px;letter-spacing:.03em}
.npb-wall-plate-card-head strong{color:#24282c}
.npb-wall-plate-actions button{border-color:#c9ced2;background:#fff;color:#35393d}
.npb-wall-plate-actions .npb-wall-plate-delete{background:#25282b;border-color:#25282b}

.npb-wall-plate-card .npb-wall-plate,
.npb-wall-plate{
  background:#fff;
  color:#23272b;
  border-color:#5f6770;
  box-shadow:none;
}
.npb-wall-plate-label span{color:#6d747b}
.npb-wall-grid-shell{max-width:none}
.npb-wall-plate-grid,
.npb-wall-mounted-items{
  gap:4px;
  padding:6px;
  border-radius:6px;
}
.npb-wall-plate-grid{
  border:1px solid #d5dade;
  background:transparent;
}
.npb-wall-plate-grid i{
  border:2px solid #d5dade;
  border-radius:6px;
  background:transparent;
}
.npb-wall-plate-grid i::after{
  left:50%;
  bottom:10%;
  width:34%;
  height:6%;
  transform:translateX(-50%);
  border-radius:999px;
  background:#8c949b;
}
.npb-wall-plate-grid i span{display:none}
.npb-wall-grid-legend{color:#737a81}
.npb-wall-grid-legend i{border-color:#b5bcc2;background:transparent}

.npb-wall-mounted-item,
.npb-wall-plates.is-fit .npb-wall-mounted-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:3px;
  padding:5px 20px 24px 5px;
  border:2px solid #5f6770;
  border-radius:7px;
  background:rgba(255,255,255,.97);
  box-shadow:none;
}
.npb-wall-mounted-item>span{
  color:#6a7177;
  font-size:6px;
  font-weight:700;
  letter-spacing:.03em;
  text-align:center;
}
.npb-wall-mounted-item>strong{
  width:100%;
  margin-top:0;
  color:#2a2f34;
  font-size:7px;
  line-height:1.15;
  text-align:center;
  overflow-wrap:anywhere;
}
.npb-wall-mounted-figure{
  position:relative;
  width:min(92%,64px);
  height:26px;
  margin-top:1px;
  border:2px solid #646c74;
  border-radius:7px;
  box-sizing:border-box;
}
.npb-wall-mounted-figure::before{
  content:"";
  position:absolute;
  left:50%;
  top:-2px;
  width:12px;
  height:3px;
  transform:translateX(-50%);
  border-radius:999px;
  background:var(--npb-red);
}
.npb-wall-mounted-figure i{
  position:absolute;
  left:14%;
  right:14%;
  height:2px;
  border-radius:999px;
  background:#646c74;
}
.npb-wall-mounted-figure i:nth-child(1){top:8px}
.npb-wall-mounted-figure i:nth-child(2){top:13px}
.npb-wall-mounted-figure i:nth-child(3){top:18px}

/* Familievariasjoner – fortsatt skjematiske, men litt mer lesbare enn identiske bokser. */
.npb-wall-family-kroker .npb-wall-mounted-figure,
.npb-wall-family-holdere .npb-wall-mounted-figure,
.npb-wall-family-hyller-og-oppbevaring .npb-wall-mounted-figure,
.npb-wall-family-beholdere .npb-wall-mounted-figure,
.npb-wall-family-elektrisk-utstyr .npb-wall-mounted-figure,
.npb-wall-family-organisere .npb-wall-mounted-figure,
.npb-wall-family-packout-moduler .npb-wall-mounted-figure{background:transparent}

.npb-wall-family-kroker .npb-wall-mounted-figure{width:42px;height:30px;border:0}
.npb-wall-family-kroker .npb-wall-mounted-figure::before{top:0}
.npb-wall-family-kroker .npb-wall-mounted-figure i:nth-child(1){left:auto;right:10px;top:3px;width:2px;height:23px;background:#646c74}
.npb-wall-family-kroker .npb-wall-mounted-figure i:nth-child(2){left:auto;right:10px;top:8px;width:14px;height:12px;border:2px solid #646c74;border-left:0;border-radius:0 7px 7px 0;background:transparent}
.npb-wall-family-kroker .npb-wall-mounted-figure i:nth-child(3){left:4px;right:auto;top:4px;width:18px;height:2px;background:#646c74}

.npb-wall-family-holdere .npb-wall-mounted-figure{width:44px;height:30px;border:0}
.npb-wall-family-holdere .npb-wall-mounted-figure i:nth-child(1){left:6px;right:auto;top:8px;width:18px;height:14px;border:2px solid #646c74;border-radius:4px;background:transparent}
.npb-wall-family-holdere .npb-wall-mounted-figure i:nth-child(2){left:auto;right:8px;top:4px;width:2px;height:22px;background:#646c74}
.npb-wall-family-holdere .npb-wall-mounted-figure i:nth-child(3){left:11px;right:auto;top:14px;width:8px;height:2px;background:#646c74}

.npb-wall-family-hyller-og-oppbevaring .npb-wall-mounted-figure,
.npb-wall-family-beholdere .npb-wall-mounted-figure{width:52px;height:28px;border:0}
.npb-wall-family-hyller-og-oppbevaring .npb-wall-mounted-figure i:nth-child(1),
.npb-wall-family-beholdere .npb-wall-mounted-figure i:nth-child(1){left:5px;right:5px;top:15px;height:2px;background:#646c74}
.npb-wall-family-hyller-og-oppbevaring .npb-wall-mounted-figure i:nth-child(2),
.npb-wall-family-beholdere .npb-wall-mounted-figure i:nth-child(2){left:11px;right:auto;top:8px;width:2px;height:10px;background:#646c74}
.npb-wall-family-hyller-og-oppbevaring .npb-wall-mounted-figure i:nth-child(3),
.npb-wall-family-beholdere .npb-wall-mounted-figure i:nth-child(3){left:auto;right:11px;top:8px;width:2px;height:10px;background:#646c74}
.npb-wall-family-beholdere .npb-wall-mounted-figure{border:2px solid #646c74;border-bottom-width:3px}
.npb-wall-family-beholdere .npb-wall-mounted-figure i:nth-child(1){top:17px}

.npb-wall-family-elektrisk-utstyr .npb-wall-mounted-figure{width:50px;height:28px}
.npb-wall-family-elektrisk-utstyr .npb-wall-mounted-figure i:nth-child(1){left:10px;right:10px;top:9px;height:2px}
.npb-wall-family-elektrisk-utstyr .npb-wall-mounted-figure i:nth-child(2){left:10px;right:10px;top:15px;height:2px}
.npb-wall-family-elektrisk-utstyr .npb-wall-mounted-figure i:nth-child(3){left:auto;right:8px;top:7px;width:6px;height:6px;border:2px solid #646c74;border-radius:50%;background:transparent}

.npb-wall-family-organisere .npb-wall-mounted-figure,
.npb-wall-family-packout-moduler .npb-wall-mounted-figure{height:28px}
.npb-wall-family-organisere .npb-wall-mounted-figure::after,
.npb-wall-family-packout-moduler .npb-wall-mounted-figure::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:4px;
  width:14px;
  height:2px;
  transform:translateX(-50%);
  border-radius:999px;
  background:#646c74;
}

.npb-wall-plate-card .npb-wall-mounted-item{padding:4px 18px 22px 4px}
.npb-wall-plate-card .npb-wall-mounted-item>span{font-size:6px}
.npb-wall-plate-card .npb-wall-mounted-item>strong{font-size:7px}
.npb-wall-plate-card .npb-wall-mounted-figure{width:min(90%,58px);height:24px}

.npb-wall-plates.is-fit .npb-wall-mounted-item{
  padding:2px;
  justify-content:center;
}
.npb-wall-plates.is-fit .npb-wall-mounted-figure{
  width:min(80%,40px);
  height:18px;
  margin:0;
}
.npb-wall-plates.is-fit .npb-wall-mounted-figure::before{width:8px;height:2px}
.npb-wall-plates.is-fit .npb-wall-mounted-item>span,
.npb-wall-plates.is-fit .npb-wall-mounted-item>strong,
.npb-wall-plates.is-fit .npb-wall-mounted-item .npb-wall-move-pad,
.npb-wall-plates.is-fit .npb-wall-mounted-item .npb-wall-remove{display:none}

@media(max-width:782px){
  .npb-wall-mounted-item{padding:4px 18px 22px 4px}
  .npb-wall-mounted-figure{width:min(92%,52px);height:22px}
}

/* v0.10.5 – Wall katalogoppførsel + illustrasjonsstil nærmere Stack */
.npb-wall-mounted-item{
  gap:4px;
  padding:4px 18px 22px 4px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.npb-wall-mounted-item>span{
  color:#777d84;
  font-size:6px;
  font-weight:700;
  letter-spacing:.03em;
}
.npb-wall-mounted-item>strong{
  color:#2f3438;
  font-size:7px;
  line-height:1.15;
  text-align:center;
}

.npb-wall-mounted-item .npb-wall-mounted-figure{
  position:relative;
  width:56px;
  height:26px;
  margin-top:0;
  border:2px solid #5e6670;
  border-radius:7px;
  box-sizing:border-box;
  background:rgba(255,255,255,.98);
}
.npb-wall-mounted-item .npb-wall-mounted-figure::before{
  content:"";
  position:absolute;
  left:50%;
  top:-2px;
  width:12px;
  height:3px;
  transform:translateX(-50%);
  border-radius:999px;
  background:var(--npb-red);
}
.npb-wall-mounted-item .npb-wall-mounted-figure i{
  position:absolute;
  left:12%;
  right:12%;
  height:2px;
  border-radius:999px;
  background:#6a727b;
}
.npb-wall-mounted-item .npb-wall-mounted-figure i:nth-child(1){top:8px}
.npb-wall-mounted-item .npb-wall-mounted-figure i:nth-child(2){top:13px}
.npb-wall-mounted-item .npb-wall-mounted-figure i:nth-child(3){top:18px}

/* Nullstill familiespesifikke silhuetter fra v0.10.4 – bruk samme line-art språk som Stack. */
.npb-wall-mounted-item.npb-wall-family-kroker .npb-wall-mounted-figure,
.npb-wall-mounted-item.npb-wall-family-holdere .npb-wall-mounted-figure,
.npb-wall-mounted-item.npb-wall-family-hyller-og-oppbevaring .npb-wall-mounted-figure,
.npb-wall-mounted-item.npb-wall-family-beholdere .npb-wall-mounted-figure,
.npb-wall-mounted-item.npb-wall-family-elektrisk-utstyr .npb-wall-mounted-figure,
.npb-wall-mounted-item.npb-wall-family-organisere .npb-wall-mounted-figure,
.npb-wall-mounted-item.npb-wall-family-packout-moduler .npb-wall-mounted-figure{
  border:2px solid #5e6670;
  border-radius:7px;
  background:rgba(255,255,255,.98);
}
.npb-wall-mounted-item.npb-wall-family-kroker .npb-wall-mounted-figure i,
.npb-wall-mounted-item.npb-wall-family-holdere .npb-wall-mounted-figure i,
.npb-wall-mounted-item.npb-wall-family-hyller-og-oppbevaring .npb-wall-mounted-figure i,
.npb-wall-mounted-item.npb-wall-family-beholdere .npb-wall-mounted-figure i,
.npb-wall-mounted-item.npb-wall-family-elektrisk-utstyr .npb-wall-mounted-figure i,
.npb-wall-mounted-item.npb-wall-family-organisere .npb-wall-mounted-figure i,
.npb-wall-mounted-item.npb-wall-family-packout-moduler .npb-wall-mounted-figure i{
  left:12%; right:12%; width:auto; height:2px; top:auto; bottom:auto; border:0; border-radius:999px; background:#6a727b;
}
.npb-wall-mounted-item.npb-wall-family-kroker .npb-wall-mounted-figure i:nth-child(1),
.npb-wall-mounted-item.npb-wall-family-holdere .npb-wall-mounted-figure i:nth-child(1),
.npb-wall-mounted-item.npb-wall-family-hyller-og-oppbevaring .npb-wall-mounted-figure i:nth-child(1),
.npb-wall-mounted-item.npb-wall-family-beholdere .npb-wall-mounted-figure i:nth-child(1),
.npb-wall-mounted-item.npb-wall-family-elektrisk-utstyr .npb-wall-mounted-figure i:nth-child(1),
.npb-wall-mounted-item.npb-wall-family-organisere .npb-wall-mounted-figure i:nth-child(1),
.npb-wall-mounted-item.npb-wall-family-packout-moduler .npb-wall-mounted-figure i:nth-child(1){top:8px}
.npb-wall-mounted-item.npb-wall-family-kroker .npb-wall-mounted-figure i:nth-child(2),
.npb-wall-mounted-item.npb-wall-family-holdere .npb-wall-mounted-figure i:nth-child(2),
.npb-wall-mounted-item.npb-wall-family-hyller-og-oppbevaring .npb-wall-mounted-figure i:nth-child(2),
.npb-wall-mounted-item.npb-wall-family-beholdere .npb-wall-mounted-figure i:nth-child(2),
.npb-wall-mounted-item.npb-wall-family-elektrisk-utstyr .npb-wall-mounted-figure i:nth-child(2),
.npb-wall-mounted-item.npb-wall-family-organisere .npb-wall-mounted-figure i:nth-child(2),
.npb-wall-mounted-item.npb-wall-family-packout-moduler .npb-wall-mounted-figure i:nth-child(2){top:13px}
.npb-wall-mounted-item.npb-wall-family-kroker .npb-wall-mounted-figure i:nth-child(3),
.npb-wall-mounted-item.npb-wall-family-holdere .npb-wall-mounted-figure i:nth-child(3),
.npb-wall-mounted-item.npb-wall-family-hyller-og-oppbevaring .npb-wall-mounted-figure i:nth-child(3),
.npb-wall-mounted-item.npb-wall-family-beholdere .npb-wall-mounted-figure i:nth-child(3),
.npb-wall-mounted-item.npb-wall-family-elektrisk-utstyr .npb-wall-mounted-figure i:nth-child(3),
.npb-wall-mounted-item.npb-wall-family-organisere .npb-wall-mounted-figure i:nth-child(3),
.npb-wall-mounted-item.npb-wall-family-packout-moduler .npb-wall-mounted-figure i:nth-child(3){top:18px}

.npb-wall-mounted-item.npb-wall-fp-1x1 .npb-wall-mounted-figure{width:42px;height:24px}
.npb-wall-mounted-item.npb-wall-fp-1x2 .npb-wall-mounted-figure{width:34px;height:44px}
.npb-wall-mounted-item.npb-wall-fp-1x2 .npb-wall-mounted-figure i:nth-child(1){top:12px}
.npb-wall-mounted-item.npb-wall-fp-1x2 .npb-wall-mounted-figure i:nth-child(2){top:21px}
.npb-wall-mounted-item.npb-wall-fp-1x2 .npb-wall-mounted-figure i:nth-child(3){top:30px}
.npb-wall-mounted-item.npb-wall-fp-1x3 .npb-wall-mounted-figure{width:34px;height:58px}
.npb-wall-mounted-item.npb-wall-fp-1x3 .npb-wall-mounted-figure i:nth-child(1){top:16px}
.npb-wall-mounted-item.npb-wall-fp-1x3 .npb-wall-mounted-figure i:nth-child(2){top:28px}
.npb-wall-mounted-item.npb-wall-fp-1x3 .npb-wall-mounted-figure i:nth-child(3){top:40px}
.npb-wall-mounted-item.npb-wall-fp-2x1 .npb-wall-mounted-figure{width:56px;height:24px}
.npb-wall-mounted-item.npb-wall-fp-2x2 .npb-wall-mounted-figure{width:58px;height:38px}
.npb-wall-mounted-item.npb-wall-fp-2x2 .npb-wall-mounted-figure i:nth-child(1){top:11px}
.npb-wall-mounted-item.npb-wall-fp-2x2 .npb-wall-mounted-figure i:nth-child(2){top:18px}
.npb-wall-mounted-item.npb-wall-fp-2x2 .npb-wall-mounted-figure i:nth-child(3){top:25px}
.npb-wall-mounted-item.npb-wall-fp-4x2 .npb-wall-mounted-figure,
.npb-wall-mounted-item.npb-wall-fp-4x3 .npb-wall-mounted-figure{width:66px;height:30px}

.npb-wall-plate-card .npb-wall-mounted-item{padding:3px 18px 20px 3px}
.npb-wall-plate-card .npb-wall-mounted-item>span{font-size:5.5px}
.npb-wall-plate-card .npb-wall-mounted-item>strong{font-size:6.5px}

.npb-wall-plates.is-fit .npb-wall-mounted-item{padding:2px;gap:2px}
.npb-wall-plates.is-fit .npb-wall-mounted-item .npb-wall-mounted-figure{transform:scale(.82);transform-origin:center top}
.npb-wall-plates.is-fit .npb-wall-mounted-item>span,
.npb-wall-plates.is-fit .npb-wall-mounted-item>strong,
.npb-wall-plates.is-fit .npb-wall-mounted-item .npb-wall-move-pad,
.npb-wall-plates.is-fit .npb-wall-mounted-item .npb-wall-remove{display:none}

/* v0.10.7 – audited footprint must also be visually obvious on the Wall canvas. */
.npb-wall-mounted-item,
.npb-wall-plates.is-fit .npb-wall-mounted-item{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:0;
  padding:7px 22px 25px 7px;
  border:1px solid #bcc2c7;
  border-radius:8px;
  background:rgba(255,255,255,.97);
  box-shadow:none;
  box-sizing:border-box;
}
.npb-wall-mounted-item::before{
  content:"";
  position:absolute;
  left:50%;
  top:5px;
  width:18px;
  height:3px;
  transform:translateX(-50%);
  border-radius:999px;
  background:var(--npb-red);
}
.npb-wall-mounted-item .npb-wall-mounted-figure{margin-top:5px}
.npb-wall-mounted-item>span,
.npb-wall-mounted-item>strong{position:relative;z-index:1}
.npb-wall-plates.is-fit .npb-wall-mounted-item{
  padding:3px;
  border-color:#c9ced2;
  background:#fff;
}
.npb-wall-plates.is-fit .npb-wall-mounted-item::before{top:3px;width:12px;height:2px}
.npb-wall-plates.is-fit .npb-wall-mounted-item .npb-wall-mounted-figure{margin-top:3px}

/* Wide/tall footprints keep the same Stack-like line art, centred in the full occupied area. */
.npb-wall-mounted-item.is-wide .npb-wall-mounted-figure{width:min(72%,72px)}
.npb-wall-mounted-item.is-tall .npb-wall-mounted-figure{height:min(54px,62%)}
.npb-wall-mounted-item.npb-wall-fp-4x2 .npb-wall-mounted-figure{width:76px;height:34px}
.npb-wall-mounted-item.npb-wall-fp-4x3 .npb-wall-mounted-figure{width:78px;height:38px}

@media(max-width:782px){
  .npb-wall-mounted-item{padding:5px 19px 23px 5px}
}

/* v0.10.8 – Wall QA/polering: kundevisning og visuell paritet med Stack. */
.npb-wall-filters{gap:7px}
.npb-wall-filters button{
  min-height:34px;
  padding:7px 11px;
  border-radius:999px;
  font-size:11px;
  line-height:1;
}
.npb-wall-product{padding:11px 5px}
.npb-wall-product-bottom button{min-height:34px;padding:7px 10px;border-radius:5px}
.npb-wall-stage-head{align-items:center}
.npb-wall-stage-head>div:first-child{min-width:0}
.npb-wall-stage-head strong{font-size:16px}
.npb-wall-stage-head .npb-wall-stage-sub{font-size:11px}

.npb-wall-plate-card-head{position:relative}
.npb-wall-active-badge{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:19px;
  padding:2px 7px;
  border-radius:999px;
  background:var(--npb-red);
  color:#fff;
  font-size:7px;
  font-style:normal;
  font-weight:800;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.npb-wall-plate-card.is-active .npb-wall-plate-card-head strong{font-weight:800}
.npb-wall-plate-card.is-active .npb-wall-grid-legend span:last-child{color:var(--npb-red);font-weight:800}
.npb-wall-selected-group-head span:not(:empty){
  display:inline-flex;
  align-items:center;
  padding:2px 7px;
  border-radius:999px;
  background:#fff0f1;
  color:var(--npb-red);
  font-weight:800;
}

.npb-wall-plates.is-fit .npb-wall-active-badge{display:none}

@media(max-width:782px){
  .npb-wall-filters button{min-height:36px;padding:8px 12px;font-size:11px}
  .npb-wall-stage-head strong{font-size:15px}
  .npb-wall-active-badge{padding:2px 6px}
}


/* v0.10.8.3 – Illustration Matrix: artikkelprofil styrer Wall-silhuetten.
 * Dette endrer kun presentasjon; footprint, festefelt og kompatibilitet er uendret. */
.npb-wall-mounted-item[class*="npb-ill-"] .npb-wall-mounted-figure{overflow:visible}
.npb-wall-mounted-item.npb-ill-hook .npb-wall-mounted-figure{width:42px;height:31px;border:0;background:transparent}
.npb-wall-mounted-item.npb-ill-hook .npb-wall-mounted-figure::before{left:8px;top:3px;width:20px;height:3px;transform:none;background:var(--npb-red)}
.npb-wall-mounted-item.npb-ill-hook .npb-wall-mounted-figure i:nth-child(1){left:26px;right:auto;top:5px;width:3px;height:22px;background:#5e6670}
.npb-wall-mounted-item.npb-ill-hook .npb-wall-mounted-figure i:nth-child(2){left:26px;right:auto;top:12px;width:13px;height:11px;border:2px solid #5e6670;border-left:0;border-radius:0 7px 7px 0;background:transparent}
.npb-wall-mounted-item.npb-ill-hook .npb-wall-mounted-figure i:nth-child(3){display:none}
.npb-wall-mounted-item.npb-ill-hook.npb-ill-v-row .npb-wall-mounted-figure{width:54px}
.npb-wall-mounted-item.npb-ill-hook.npb-ill-v-row .npb-wall-mounted-figure i:nth-child(1){left:8px;top:12px;width:38px;height:3px}
.npb-wall-mounted-item.npb-ill-hook.npb-ill-v-row .npb-wall-mounted-figure i:nth-child(2){left:13px;top:15px;width:4px;height:11px;border:0;border-radius:0;background:#5e6670;box-shadow:12px 0 0 #5e6670,24px 0 0 #5e6670}

.npb-wall-mounted-item.npb-ill-bin .npb-wall-mounted-figure{width:50px;height:29px;border:2px solid #5e6670;border-top-width:3px;border-radius:4px 4px 8px 8px}
.npb-wall-mounted-item.npb-ill-bin .npb-wall-mounted-figure::before{width:17px;height:3px}
.npb-wall-mounted-item.npb-ill-bin .npb-wall-mounted-figure i:nth-child(1){left:8px;right:8px;top:9px}
.npb-wall-mounted-item.npb-ill-bin .npb-wall-mounted-figure i:nth-child(2){left:11px;right:auto;top:9px;width:2px;height:13px}
.npb-wall-mounted-item.npb-ill-bin .npb-wall-mounted-figure i:nth-child(3){left:auto;right:11px;top:9px;width:2px;height:13px}
.npb-wall-mounted-item.npb-ill-bin[class*="10x20"] .npb-wall-mounted-figure{width:60px}

.npb-wall-mounted-item.npb-ill-battery .npb-wall-mounted-figure{width:36px;height:34px;border:0;background:transparent}
.npb-wall-mounted-item.npb-ill-battery .npb-wall-mounted-figure::before{left:7px;top:2px;width:22px;height:3px;transform:none}
.npb-wall-mounted-item.npb-ill-battery .npb-wall-mounted-figure i{left:8px;right:auto;width:9px;height:20px;top:9px;border:2px solid #5e6670;border-radius:3px;background:transparent}
.npb-wall-mounted-item.npb-ill-battery .npb-wall-mounted-figure i:nth-child(2){left:20px;top:9px}
.npb-wall-mounted-item.npb-ill-battery .npb-wall-mounted-figure i:nth-child(3){display:none}

.npb-wall-mounted-item.npb-ill-rack .npb-wall-mounted-figure{width:58px;height:28px;border:0;background:transparent}
.npb-wall-mounted-item.npb-ill-rack .npb-wall-mounted-figure::before{left:5px;top:6px;width:48px;height:3px;transform:none}
.npb-wall-mounted-item.npb-ill-rack .npb-wall-mounted-figure i:nth-child(1){left:10px;top:10px;width:3px;height:15px;box-shadow:11px 0 0 #5e6670,22px 0 0 #5e6670,33px 0 0 #5e6670;background:#5e6670}
.npb-wall-mounted-item.npb-ill-rack .npb-wall-mounted-figure i:nth-child(2),
.npb-wall-mounted-item.npb-ill-rack .npb-wall-mounted-figure i:nth-child(3){display:none}

.npb-wall-mounted-item.npb-ill-holder .npb-wall-mounted-figure{width:48px;height:32px;border:0;background:transparent}
.npb-wall-mounted-item.npb-ill-holder .npb-wall-mounted-figure::before{left:5px;top:5px;width:38px;height:3px;transform:none}
.npb-wall-mounted-item.npb-ill-holder .npb-wall-mounted-figure i:nth-child(1){left:9px;top:10px;width:30px;height:17px;border:2px solid #5e6670;border-radius:4px;background:transparent}
.npb-wall-mounted-item.npb-ill-holder .npb-wall-mounted-figure i:nth-child(2){left:17px;top:10px;width:2px;height:17px;background:#5e6670}
.npb-wall-mounted-item.npb-ill-holder .npb-wall-mounted-figure i:nth-child(3){left:29px;top:10px;width:2px;height:17px;background:#5e6670}

.npb-wall-mounted-item.npb-ill-shelf .npb-wall-mounted-figure{width:58px;height:29px;border:0;background:transparent}
.npb-wall-mounted-item.npb-ill-shelf .npb-wall-mounted-figure::before{left:7px;top:5px;width:44px;height:3px;transform:none}
.npb-wall-mounted-item.npb-ill-shelf .npb-wall-mounted-figure i:nth-child(1){left:6px;top:18px;width:46px;height:3px;background:#5e6670}
.npb-wall-mounted-item.npb-ill-shelf .npb-wall-mounted-figure i:nth-child(2){left:12px;top:8px;width:3px;height:13px;background:#5e6670}
.npb-wall-mounted-item.npb-ill-shelf .npb-wall-mounted-figure i:nth-child(3){left:auto;right:12px;top:8px;width:3px;height:13px;background:#5e6670}

.npb-wall-mounted-item.npb-ill-long-tool .npb-wall-mounted-figure{width:30px;height:44px;border:0;background:transparent}
.npb-wall-mounted-item.npb-ill-long-tool .npb-wall-mounted-figure::before{left:4px;top:4px;width:22px;height:3px;transform:none}
.npb-wall-mounted-item.npb-ill-long-tool .npb-wall-mounted-figure i:nth-child(1){left:8px;top:9px;width:3px;height:31px;background:#5e6670}
.npb-wall-mounted-item.npb-ill-long-tool .npb-wall-mounted-figure i:nth-child(2){left:18px;top:9px;width:3px;height:31px;background:#5e6670}
.npb-wall-mounted-item.npb-ill-long-tool.npb-ill-v-single .npb-wall-mounted-figure i:nth-child(2){display:none}
.npb-wall-mounted-item.npb-ill-long-tool .npb-wall-mounted-figure i:nth-child(3){display:none}

.npb-wall-mounted-item.npb-ill-basket .npb-wall-mounted-figure{width:58px;height:31px;border:2px solid #5e6670;border-top:0;border-radius:0 0 6px 6px;background:repeating-linear-gradient(90deg,transparent 0 7px,rgba(94,102,112,.18) 7px 9px)}
.npb-wall-mounted-item.npb-ill-basket .npb-wall-mounted-figure::before{top:0;width:42px;height:3px}
.npb-wall-mounted-item.npb-ill-basket .npb-wall-mounted-figure i{display:none}

.npb-wall-mounted-item.npb-ill-charger .npb-wall-mounted-figure{width:62px;height:31px}
.npb-wall-mounted-item.npb-ill-charger .npb-wall-mounted-figure i:nth-child(1){left:9px;top:8px;width:3px;height:15px;box-shadow:9px 0 0 #5e6670,18px 0 0 #5e6670,27px 0 0 #5e6670,36px 0 0 #5e6670,45px 0 0 #5e6670;background:#5e6670}
.npb-wall-mounted-item.npb-ill-charger .npb-wall-mounted-figure i:nth-child(2),.npb-wall-mounted-item.npb-ill-charger .npb-wall-mounted-figure i:nth-child(3){display:none}

.npb-wall-mounted-item.npb-ill-cabinet .npb-wall-mounted-figure{width:60px;height:36px}
.npb-wall-mounted-item.npb-ill-cabinet .npb-wall-mounted-figure i:nth-child(1){left:15px;top:7px;width:2px;height:24px}
.npb-wall-mounted-item.npb-ill-cabinet .npb-wall-mounted-figure i:nth-child(2){left:auto;right:15px;top:7px;width:2px;height:24px}
.npb-wall-mounted-item.npb-ill-cabinet .npb-wall-mounted-figure i:nth-child(3){left:auto;right:9px;top:17px;width:8px;height:2px}

.npb-wall-mounted-item.npb-ill-tip-bin .npb-wall-mounted-figure{width:64px;height:38px}
.npb-wall-mounted-item.npb-ill-tip-bin .npb-wall-mounted-figure i:nth-child(1){left:8px;right:8px;top:12px}
.npb-wall-mounted-item.npb-ill-tip-bin .npb-wall-mounted-figure i:nth-child(2){left:20px;top:12px;width:2px;height:20px;box-shadow:12px 0 0 #5e6670,24px 0 0 #5e6670;background:#5e6670}
.npb-wall-mounted-item.npb-ill-tip-bin .npb-wall-mounted-figure i:nth-child(3){left:9px;right:9px;top:24px}

.npb-wall-mounted-item.npb-ill-camera .npb-wall-mounted-figure{width:54px;height:36px}
.npb-wall-mounted-item.npb-ill-camera .npb-wall-mounted-figure i:nth-child(1){left:8px;top:9px;width:17px;height:17px;border:2px solid #5e6670;border-radius:50%;background:transparent}
.npb-wall-mounted-item.npb-ill-camera .npb-wall-mounted-figure i:nth-child(2){left:auto;right:7px;top:11px;width:17px;height:12px;border:2px solid #5e6670;border-radius:3px;background:transparent}
.npb-wall-mounted-item.npb-ill-camera .npb-wall-mounted-figure i:nth-child(3){display:none}


/* v0.10.8.4 – Wall zoom + nummerforklaring.
 * Kun presentasjon: 18×6-geometri, footprints, kompatibilitet og Stack er uendret. */
.npb-wall-item-number{
  position:absolute;
  z-index:4;
  left:5px;
  top:5px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:18px;
  height:18px;
  padding:0 4px;
  border:1px solid var(--npb-red);
  border-radius:999px;
  background:#fff;
  color:var(--npb-red);
  box-sizing:border-box;
  font-size:9px;
  font-weight:900;
  line-height:1;
  box-shadow:0 1px 2px rgba(0,0,0,.08);
}
.npb-wall-mounted-item .npb-wall-mounted-figure{margin-top:0}
.npb-wall-plates:not(.is-fit) .npb-wall-mounted-item .npb-wall-mounted-figure{
  transform:scale(var(--npb-wall-zoom-scale,1));
  transform-origin:center center;
}
.npb-wall-item-number{
  min-width:clamp(14px,calc(var(--npb-wall-cell) * .25),30px);
  height:clamp(14px,calc(var(--npb-wall-cell) * .25),30px);
  font-size:clamp(7px,calc(var(--npb-wall-cell) * .11),13px);
}
.npb-wall-plates.is-overview-zoom .npb-wall-plate-card-head strong,
.npb-wall-plates.is-overview-zoom .npb-wall-plate-label,
.npb-wall-plates.is-overview-zoom .npb-wall-grid-legend,
.npb-wall-plates.is-overview-zoom .npb-wall-mounted-item .npb-wall-move-pad,
.npb-wall-plates.is-overview-zoom .npb-wall-mounted-item .npb-wall-remove,
.npb-wall-plates.is-overview-zoom .npb-wall-active-badge{display:none}
.npb-wall-plates.is-overview-zoom .npb-wall-plate-card-head{min-height:22px;padding:1px 1px 2px}
.npb-wall-plates.is-overview-zoom .npb-wall-plate-card-head span{font-size:6px}
.npb-wall-plates.is-overview-zoom .npb-wall-plate-actions button{width:16px;height:16px;font-size:8px}
.npb-wall-plates.is-overview-zoom .npb-wall-plate-actions .npb-wall-plate-delete{font-size:10px}
.npb-wall-plates.is-overview-zoom .npb-wall-plate-card .npb-wall-plate{height:calc(100% - 24px);padding:3px}
.npb-wall-plates.is-overview-zoom .npb-wall-plate-card .npb-wall-plate-grid,
.npb-wall-plates.is-overview-zoom .npb-wall-plate-card .npb-wall-mounted-items{padding:3px;gap:2px}
.npb-wall-plates.is-overview-zoom .npb-wall-mounted-item{padding:2px;background:rgba(250,250,250,.9)}
.npb-wall-plates.is-fit .npb-wall-item-number{
  left:3px;
  top:3px;
  min-width:14px;
  height:14px;
  padding:0 3px;
  font-size:7px;
}
.npb-wall-selected-copy{display:grid;grid-template-columns:26px minmax(0,1fr);gap:7px;align-items:start;min-width:0}
.npb-wall-selected-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  margin-top:1px;
  border-radius:999px;
  background:var(--npb-red);
  color:#fff;
  font-size:10px;
  font-weight:900;
  line-height:1;
}
@media(max-width:782px){
  .npb-wall-selected-copy{grid-template-columns:24px minmax(0,1fr);gap:6px}
  .npb-wall-selected-number{width:22px;height:22px;font-size:9px}
}

/* v0.10.8.6 – Faktisk typografiparitet med den frosne Stack-visningen.
 * Matcher ikke bare px/vekt, men også line-height, letter-spacing, text-transform
 * og typografihierarki i produktliste, stage, byggeflate og høyrepanel.
 * 18×6-geometri, footprints, zoomlogikk og Stack-kode er uendret. */

/* Produktvelger: samme hierarki som Stack-katalogen. */
.npb-wall-search{
  font:inherit;
  font-size:15px;
  font-weight:400;
}
.npb-wall-filters button{
  font-size:13px;
  font-weight:400;
}
.npb-wall-product>div>span{
  font-size:11px;
  font-weight:400;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.npb-wall-product strong{
  font-size:15px;
  font-weight:700;
  line-height:1.28;
}
.npb-wall-product small{
  font-size:12px;
  font-weight:400;
  line-height:normal;
}
.npb-wall-product-bottom b{
  font-size:15px;
  font-weight:700;
}
.npb-wall-product-bottom button{
  font-size:13px;
  font-weight:700;
}
.npb-wall-product em{
  font-size:10px;
  font-weight:400;
  line-height:1.25;
}

/* Stage: samme tittel/subtittel og kontrollvekt som Stack. */
.npb-wall-stage-head strong{
  font-size:18px;
  font-weight:700;
  line-height:normal;
}
.npb-wall-stage-head .npb-wall-stage-sub{
  font-size:14px;
  font-weight:400;
  line-height:normal;
}
.npb-wall-zoom button,
.npb-wall-zoom button[data-wall-zoom="fit"]{
  font-size:13px;
  font-weight:400;
}
.npb-wall-zoom-value{
  font-size:13px!important;
  font-weight:400;
}
.npb-wall-placeholder{
  font-size:15px;
  font-weight:400;
}
.npb-wall-placeholder strong{
  font-size:22px;
  font-weight:700;
  line-height:normal;
}
.npb-wall-placeholder span{
  font-size:15px;
  font-weight:400;
}
.npb-wall-message{
  font-size:14px;
  font-weight:400;
}

/* Byggeflaten ved normal/innzoomet visning følger Stack sin live-strekillustrasjon. */
.npb-wall-plate-card-head span{
  font-size:12px;
  font-weight:400;
  line-height:1.2;
  letter-spacing:0;
}
.npb-wall-plate-card-head strong{
  font-size:16px;
  font-weight:700;
  line-height:1.25;
}
.npb-wall-plate-card .npb-wall-plate-label strong{
  font-size:12.5px;
  font-weight:600;
  line-height:1.2;
}
.npb-wall-plate-card .npb-wall-plate-label span{
  font-size:11px;
  font-weight:400;
  line-height:1.2;
}
.npb-wall-item-number{
  font-size:clamp(10px,calc(var(--npb-wall-cell) * .16),16px);
  font-weight:700;
}
.npb-wall-selected-number{
  font-size:11px;
  font-weight:700;
}

/* Tilpass / lav zoom må fortsatt få plass på 18×6-flaten. */
.npb-wall-plates.is-fit .npb-wall-plate-card-head span,
.npb-wall-plates.is-overview-zoom .npb-wall-plate-card-head span{
  font-size:6px;
  font-weight:700;
}
.npb-wall-plates.is-fit .npb-wall-item-number{
  font-size:7px;
  font-weight:700;
}

/* Høyrepanel: samme typografihierarki som Stack. */
.npb-wall-summary-card h3{
  font-size:20px;
  font-weight:700;
  line-height:normal;
}
.npb-wall-summary-empty{
  font-size:14px;
  font-weight:400;
}
.npb-wall-summary-lines>div{
  font-size:14px;
  font-weight:400;
}
.npb-wall-summary-lines strong{
  font-size:14px;
  font-weight:700;
  line-height:1.25;
}
.npb-wall-summary-lines small{
  font-size:12.5px;
  font-weight:400;
  line-height:normal;
}
.npb-wall-summary-lines>div>b{
  font-size:14px;
  font-weight:700;
}
.npb-wall-summary-total{
  font-size:18px;
  font-weight:400;
}
.npb-wall-summary-total strong{
  font-size:22px;
  font-weight:700;
}
.npb-wall-cart{
  font-size:15px;
  font-weight:700;
}
.npb-wall-summary-card>small{
  font-size:12px;
  font-weight:400;
  line-height:1.4;
}
.npb-wall-cart-success>strong{
  font-size:15px;
  font-weight:700;
}
.npb-wall-cart-success>span{
  font-size:13px;
  font-weight:400;
}
.npb-wall-cart-go,.npb-wall-cart-new{
  font-size:14px;
  font-weight:700;
}
.npb-wall-selected-head>strong{
  font-size:17px;
  font-weight:700;
  line-height:1.25;
}
.npb-wall-selected-head>span{
  font-size:12px;
  font-weight:400;
}
.npb-wall-selected-group-head strong{
  font-size:13px;
  font-weight:700;
}
.npb-wall-selected-group-head span,
.npb-wall-selected-group-head span:not(:empty){
  font-size:10px;
  font-weight:400;
}
.npb-wall-selected-product span{
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.npb-wall-selected-product strong{
  font-size:13px;
  font-weight:700;
  line-height:1.25;
}
.npb-wall-help strong{
  font-size:15px;
  font-weight:700;
}
.npb-wall-help p{
  font-size:14px;
  font-weight:400;
  line-height:1.5;
}

/* Stack har 14/11/14 på produktkort under 782 px. */
@media(max-width:782px){
  .npb-wall-product strong{font-size:14px}
  .npb-wall-product small{font-size:11px}
  .npb-wall-product-bottom b{font-size:14px}
  .npb-wall-selected-number{font-size:10px;font-weight:700}
}

/* v0.10.8.7 – Wall bruker Stack-oppsettet som visuell fasit.
 * Dette laget speiler den frosne Stack-layouten for katalog, produktkort,
 * stage-shell og høyrepanel. Wall-canvas, 18×6-geometri, zoom, footprints,
 * kompatibilitet og handlekurvlogikk er ikke endret. */

/* Samme trekolonne-oppsett og panelskall som Stack. */
.npb-wall-layout.npb-layout{
  grid-template-columns:clamp(310px,20vw,380px) minmax(520px,1fr) clamp(310px,18vw,360px);
  gap:0;
  align-items:stretch;
  min-height:max(720px,calc(100vh - 250px));
  border-top:1px solid #dedede;
  border-bottom:1px solid #dedede;
  background:#fff;
}
.npb-wall-catalog.npb-catalog{
  position:sticky;
  top:0;
  align-self:start;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  max-height:100vh;
  min-height:max(720px,calc(100vh - 80px));
  border:0;
  border-right:1px solid #dedede;
  border-radius:0;
  background:#f7f7f7;
}
.npb-wall-tools.npb-catalog-tools{
  position:sticky;
  top:0;
  z-index:3;
  padding:18px 18px 15px;
  border-bottom:1px solid var(--npb-border);
  background:#f7f7f7;
}
.npb-wall-search.npb-search-input{
  width:100%;
  min-height:46px;
  padding:10px 13px;
  border:1px solid #c9cdd1;
  border-radius:3px;
  background:#fff;
  font:inherit;
  font-size:15px;
  font-weight:400;
}
.npb-wall-filters.npb-family-filters{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
  overflow-x:visible;
  margin-top:12px;
  padding-bottom:2px;
}
.npb-wall-filters.npb-family-filters button{
  flex:0 0 auto;
  min-height:34px;
  padding:6px 11px;
  border:1px solid var(--npb-border);
  border-radius:999px;
  background:#fff!important;
  color:var(--npb-text)!important;
  font:inherit;
  font-size:13px;
  font-weight:400;
  white-space:nowrap;
}
.npb-wall-filters.npb-family-filters button.is-active{
  background:var(--npb-dark)!important;
  color:#fff!important;
  border-color:var(--npb-dark)!important;
}
.npb-wall-products.npb-product-list{
  padding:10px 14px 24px;
  overflow:auto;
}
.npb-wall-catalog-step.npb-catalog-step{
  margin:7px 2px 12px;
  padding:11px 12px;
  border-radius:4px;
}
.npb-wall-catalog-step.npb-catalog-step b{font-size:14px}
.npb-wall-catalog-step.npb-catalog-step span{font-size:12px}
.npb-wall-product-group.npb-product-group h3{
  margin:14px 3px 8px;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--npb-muted);
}

/* Samme produktkort som Stack – ikke Wall sine gamle kantløse rader. */
.npb-wall-product.npb-product-card{
  display:grid;
  grid-template-columns:104px minmax(0,1fr);
  gap:13px;
  position:relative;
  min-height:132px;
  padding:11px;
  margin:0 0 10px;
  border:1px solid #dedede;
  border-radius:4px;
  background:#fff;
  contain-intrinsic-size:138px;
}
.npb-wall-product.npb-product-card.is-disabled{opacity:.6}
.npb-wall-product.npb-product-card.is-just-added{border-color:#b8dfc2;box-shadow:0 0 0 2px rgba(47,125,66,.08)}
.npb-wall-product.npb-product-card .npb-add.is-just-added{background:#2f7d42!important;color:#fff!important}
.npb-wall-product-image.npb-product-image{
  grid-row:1 / span 2;
  width:104px;
  height:104px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#fff;
  border-radius:0;
}
.npb-wall-product-image.npb-product-image img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}
.npb-wall-product-info.npb-product-info{min-width:0;padding-right:2px}
.npb-wall-product-family.npb-product-family{
  display:block;
  color:var(--npb-muted);
  font-size:11px;
  font-weight:400;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.npb-wall-product-info.npb-product-info>strong{
  display:block;
  margin:2px 0 5px;
  font-size:15px;
  font-weight:700;
  line-height:1.28;
}
.npb-wall-product-meta.npb-product-meta{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  color:var(--npb-muted);
  font-size:12px;
  font-weight:400;
  line-height:1.3;
}
.npb-wall-product-price.npb-product-price{
  margin-top:5px;
  font-size:15px;
  font-weight:700;
}
.npb-wall-add.npb-add{
  grid-column:2;
  justify-self:start;
  min-height:36px;
  padding:8px 12px;
  border:0;
  border-radius:3px;
  background:var(--npb-dark);
  color:#fff;
  font:inherit;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
}
.npb-wall-add.npb-add:disabled{
  background:#dcdcde;
  color:#646970;
  cursor:not-allowed;
}
.npb-wall-disabled-reason.npb-disabled-reason{
  display:block;
  margin-top:4px;
  color:#8a2424;
  font-size:12px;
  line-height:1.25;
}

/* Samme stage-shell som Stack. Wall beholder sin egen 18×6-canvas inni. */
.npb-wall-stage.npb-stage{
  min-width:0;
  min-height:max(720px,calc(100vh - 250px));
  overflow:hidden;
  border:0;
  border-radius:0;
  background:#fff;
}
.npb-wall-stage-head.npb-stage-toolbar{
  min-height:68px;
  padding:15px 22px;
  gap:15px;
  align-items:center;
  border-bottom:1px solid #e1e1e1;
  background:#fff;
}
.npb-wall-stage-head .npb-stage-title{
  display:block;
  font-size:18px;
  font-weight:700;
  line-height:normal;
}
.npb-wall-stage-head .npb-wall-stage-sub.npb-stage-subtitle{
  display:block;
  margin-top:3px;
  color:var(--npb-muted);
  font-size:14px;
  font-weight:400;
  line-height:normal;
}
.npb-wall-zoom{
  display:flex;
  align-items:stretch;
  gap:0;
  padding:0;
  overflow:hidden;
  border:1px solid var(--npb-border);
  border-radius:6px;
  background:#fff;
}
.npb-wall-zoom button,
.npb-wall-zoom button[data-wall-zoom="fit"]{
  min-width:38px;
  min-height:38px;
  height:38px;
  padding:8px 12px;
  border:0;
  border-right:1px solid var(--npb-border);
  border-radius:0;
  background:#fff;
  color:var(--npb-text);
  font:inherit;
  font-size:13px;
  font-weight:400;
  cursor:pointer;
}
.npb-wall-zoom button:last-child{border-right:0}
.npb-wall-zoom button:hover{background:#f5f5f5}
.npb-wall-zoom-value{
  min-width:60px!important;
  min-height:38px;
  margin:0!important;
  padding:0 10px;
  display:flex!important;
  align-items:center;
  justify-content:center;
  border-right:1px solid var(--npb-border);
  color:var(--npb-muted)!important;
  background:#fff;
  font-size:13px!important;
  font-weight:400;
  line-height:1;
  text-align:center;
}
.npb-wall-canvas{
  position:relative;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  min-height:max(650px,calc(100vh - 320px));
  padding:30px 54px 34px;
  overflow:hidden;
  background:#fff;
}
.npb-wall-placeholder{
  align-self:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:100%;
  max-width:390px;
  margin:0 auto;
  padding:0;
  color:var(--npb-muted);
  text-align:center;
  font-size:15px;
  font-weight:400;
}
.npb-wall-placeholder[hidden]{display:none!important}
.npb-wall-placeholder>strong,
.npb-wall-placeholder>span{width:100%;text-align:center}
.npb-wall-placeholder>div{
  display:flex;
  width:64px;
  height:64px;
  margin:0 auto 10px;
  align-items:center;
  justify-content:center;
  border:2px dashed #b7b9bc;
  border-radius:50%;
  color:#8c8f94;
  font-size:38px;
  line-height:57px;
}
.npb-wall-placeholder strong{
  display:block;
  margin:10px 0 5px;
  color:var(--npb-text);
  font-size:22px;
  font-weight:700;
}
.npb-wall-placeholder span{
  display:block;
  margin-top:0;
  font-size:15px;
  font-weight:400;
}
.npb-wall-canvas-scroll{
  flex:1 1 auto;
  min-width:0;
  width:100%;
  max-width:100%;
}
.npb-wall-message{font-size:14px}
.npb-wall-message.is-visible{padding:11px 18px}

/* Samme høyrepanel som Stack. */
.npb-wall-summary.npb-summary{
  align-self:stretch;
  position:relative;
  top:auto;
  display:flex;
  flex-direction:column;
  gap:0;
  padding:20px 22px 26px;
  border-left:1px solid #dedede;
  background:#fff;
}
.npb-wall-summary-card.npb-summary-card,
.npb-wall-help.npb-help-card{
  border:0;
  border-radius:0;
  padding:0;
  background:#fff;
}
.npb-wall-summary-card.npb-summary-card h3{
  margin:0 0 16px;
  font-size:20px;
}
.npb-wall-summary-empty.npb-summary-empty{
  padding:10px 0 18px;
  color:var(--npb-muted);
  font-size:14px;
}
.npb-wall-summary-lines>div{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:12px 0;
  border-bottom:1px solid #eee;
  font-size:14px;
}
.npb-wall-summary-lines strong{font-size:14px;line-height:1.25}
.npb-wall-summary-lines small{margin-top:3px;font-size:12.5px}
.npb-wall-summary-total.npb-summary-total{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:2px;
  padding:17px 0;
  border-top:1px solid #e7e8ea;
  font-size:18px;
  font-weight:400;
}
.npb-wall-summary-total.npb-summary-total strong{font-size:22px;font-weight:700}
.npb-wall-cart.npb-cart-button{
  width:100%;
  min-height:48px;
  padding:12px 14px;
  border:0;
  border-radius:3px;
  background:var(--npb-dark);
  color:#fff;
  font:inherit;
  font-size:15px;
  font-weight:700;
  cursor:pointer;
  transition:.15s;
}
.npb-wall-cart.npb-cart-button:hover:not(:disabled),
.npb-wall-cart.npb-cart-button:focus-visible:not(:disabled){background:#111}
.npb-wall-cart.npb-cart-button:disabled{
  opacity:1;
  background:#dcdcde;
  color:#646970;
  cursor:not-allowed;
}
.npb-wall-summary-card.npb-summary-card>small{
  display:block;
  margin-top:10px;
  color:var(--npb-muted);
  font-size:12px;
  line-height:1.4;
  text-align:center;
}
.npb-wall-cart-success.npb-cart-success{margin-top:12px}
.npb-wall-cart-success.npb-cart-success>strong{font-size:15px}
.npb-wall-cart-success .npb-cart-success-text{font-size:13px}
.npb-wall-cart-success .npb-cart-success-actions{display:grid;grid-template-columns:1fr;gap:6px}
.npb-wall-cart-go.npb-cart-go,
.npb-wall-cart-new.npb-cart-new{
  display:block;
  width:100%;
  min-height:42px;
  padding:8px 10px;
  border-radius:5px;
  font:inherit;
  font-size:14px;
  font-weight:700;
  line-height:18px;
  text-align:center;
  text-decoration:none;
}
.npb-wall-selected-card.npb-selected-products-card{
  margin-top:24px;
  padding-top:20px;
  border-top:1px solid #e3e3e3;
}
.npb-wall-selected-head.npb-selected-products-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.npb-wall-selected-head.npb-selected-products-head>strong{font-size:17px;line-height:1.25}
.npb-wall-selected-count.npb-selected-products-count{font-size:12px;white-space:nowrap}
.npb-wall-selected-products.npb-selected-products{display:grid;gap:10px}
.npb-wall-selected-product{
  grid-template-columns:108px minmax(0,1fr);
  gap:12px;
  align-items:center;
  min-height:112px;
  padding:7px 0;
}
.npb-wall-selected-image{width:108px;height:108px}
.npb-wall-selected-product.is-plate{padding-bottom:13px;border-bottom:1px solid #ececec}
.npb-wall-selected-group+.npb-wall-selected-group{margin-top:8px;padding-top:16px;border-top:1px solid #e6e6e6}
.npb-wall-selected-group-head{margin-bottom:8px}
.npb-wall-selected-group-head strong{font-size:13px}
.npb-wall-selected-group-head span:not(:empty){padding:3px 7px;border-radius:999px;background:#f2f3f4;font-size:10px}
.npb-wall-help.npb-help-card{
  margin-top:26px;
  padding-top:20px;
  border-top:1px solid #e3e3e3;
  color:var(--npb-muted);
  font-size:14px;
}
.npb-wall-help.npb-help-card strong{color:var(--npb-text);font-size:15px}
.npb-wall-help.npb-help-card p{margin:7px 0 0;font-size:14px;line-height:1.5}

/* Samme breakpoint-struktur som Stack. */
@media(max-width:1180px) and (min-width:783px){
  .npb-wall-layout.npb-layout{
    grid-template-columns:clamp(290px,31vw,340px) minmax(0,1fr);
    min-height:700px;
  }
  .npb-wall-catalog.npb-catalog{
    position:static;
    min-height:700px;
    max-height:760px;
  }
  .npb-wall-product.npb-product-card{grid-template-columns:92px minmax(0,1fr);min-height:122px}
  .npb-wall-product-image.npb-product-image{width:92px;height:92px}
  .npb-wall-stage.npb-stage{min-height:700px}
  .npb-wall-canvas{min-height:620px;padding-left:36px;padding-right:36px}
  .npb-wall-summary.npb-summary{
    grid-column:1 / span 2;
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(320px,1fr);
    gap:24px;
    padding:22px 26px;
    border-left:0;
    border-top:1px solid #dedede;
  }
  .npb-wall-summary-card.npb-summary-card{grid-column:1}
  .npb-wall-selected-card.npb-selected-products-card{
    grid-column:2;
    grid-row:1;
    margin-top:0;
    padding-top:0;
    padding-left:24px;
    border-top:0;
    border-left:1px solid #e3e3e3;
  }
  .npb-wall-help.npb-help-card{
    grid-column:1 / -1;
    margin-top:4px;
    padding:16px 0 0;
    border-left:0;
    border-top:1px solid #e3e3e3;
  }
}

@media(max-width:782px){
  .npb-wall-layout.npb-layout{display:block;min-height:0;border-bottom:0}
  .npb-wall-catalog.npb-catalog{
    min-height:0;
    max-height:none;
    margin-bottom:0;
    border-right:0;
    background:#fff;
  }
  .npb-wall-tools.npb-catalog-tools{background:#fff}
  .npb-wall-product.npb-product-card{
    grid-template-columns:84px minmax(0,1fr);
    min-height:112px;
    contain-intrinsic-size:118px;
  }
  .npb-wall-product-image.npb-product-image{width:84px;height:84px}
  .npb-wall-product-info.npb-product-info>strong{font-size:14px}
  .npb-wall-product-meta.npb-product-meta{font-size:11px}
  .npb-wall-product-price.npb-product-price{font-size:14px}
  .npb-wall-stage.npb-stage{min-height:0;margin-bottom:0}
  .npb-wall-stage-head.npb-stage-toolbar{align-items:flex-start;flex-wrap:wrap}
  .npb-wall-stage-actions{width:100%;justify-content:flex-start}
  .npb-wall-zoom{max-width:100%}
  .npb-wall-canvas{min-height:clamp(400px,68vh,560px);padding:18px 40px 22px}
  .npb-wall-summary.npb-summary{
    position:static;
    display:block;
    padding:16px 14px 20px;
    border-left:0;
  }
  .npb-wall-selected-card.npb-selected-products-card{margin-top:20px;padding-top:16px}
  .npb-wall-selected-product{grid-template-columns:92px minmax(0,1fr);min-height:98px}
  .npb-wall-selected-image{width:92px;height:92px}
  .npb-wall-help.npb-help-card{margin-top:20px;padding-top:16px}
}

@media(max-width:420px){
  .npb-wall-canvas{padding-left:10px;padding-right:10px}
  .npb-wall-product.npb-product-card{grid-template-columns:76px minmax(0,1fr)}
  .npb-wall-product-image.npb-product-image{width:76px;height:76px}
}


/* v0.10.8.8 – Wall-finjustering mot Stack.
 * Tomtilstanden i byggeflaten er eksplisitt sentrert som én enhet.
 * Høyrepanel-overskriften har ingen Wall-spesifikk font-weight og følger dermed Stack. */

/* v0.10.8.9 – korrigert tomtilstand og oppsummeringsvekt.
 * Hele canvas-scrollen skjules uten monteringsplater, slik at Stack-lik tomtilstand
 * faktisk kan ligge midt i byggeflaten. Wall-h3 overstyrer den eldre 700-regelen. */
.npb-wall-canvas-scroll[hidden]{display:none!important}
.npb-wall-summary-card.npb-summary-card h3{font-weight:400}

/* v0.10.9.0 – Eksperimentell Wall photo-callout for valgt produkt.
 * Isolert presentasjonslag: påvirker ikke footprint, plassering, handlekurv eller Stack. */
.npb-wall-callout-toggle{
  min-height:38px;
  padding:8px 12px;
  border:1px solid var(--npb-border);
  border-radius:6px;
  background:#fff;
  color:var(--npb-text);
  font:inherit;
  font-size:13px;
  font-weight:400;
  cursor:pointer;
  white-space:nowrap;
}
.npb-wall-callout-toggle:hover{background:#f5f5f5}
.npb-wall-callout-toggle.is-active{
  border-color:var(--npb-dark);
  background:var(--npb-dark);
  color:#fff;
}
.npb-wall-callout-line{
  position:absolute;
  inset:0;
  z-index:18;
  width:100%;
  height:100%;
  pointer-events:none;
  overflow:visible;
}
.npb-wall-callout-line[hidden],.npb-wall-photo-callout[hidden]{display:none!important}
.npb-wall-callout-line path{
  fill:none;
  stroke:#555b60;
  stroke-width:1.5;
  vector-effect:non-scaling-stroke;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.npb-wall-callout-line circle{
  fill:var(--npb-red);
  stroke:#fff;
  stroke-width:2;
  vector-effect:non-scaling-stroke;
}
.npb-wall-photo-callout{
  position:absolute;
  z-index:20;
  width:132px;
  padding:8px;
  border:1px solid #cfd2d5;
  border-radius:7px;
  background:#fff;
  box-shadow:0 5px 18px rgba(0,0,0,.13);
  pointer-events:none;
}
.npb-wall-photo-callout-image{
  width:114px;
  height:114px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#fff;
}
.npb-wall-photo-callout-image img{
  display:block;
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
}
.npb-wall-photo-callout-number{
  position:absolute;
  top:7px;
  left:7px;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:24px;
  height:24px;
  padding:0 5px;
  border-radius:999px;
  background:var(--npb-dark);
  color:#fff;
  font-size:11px;
  font-weight:700;
  line-height:1;
}
.npb-wall-photo-callout-name{
  display:-webkit-box;
  margin-top:6px;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  color:var(--npb-text);
  font-size:11px;
  font-weight:400;
  line-height:1.25;
}
.npb-wall-mounted-item[data-wall-item-select]{cursor:pointer}
.npb-wall-mounted-item.is-callout-selected{
  z-index:6;
  box-shadow:inset 0 0 0 2px var(--npb-red),0 2px 8px rgba(0,0,0,.16);
}
.npb-wall-mounted-item.is-callout-selected::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:8px;
  height:8px;
  margin:-4px 0 0 -4px;
  border:2px solid #fff;
  border-radius:50%;
  background:var(--npb-red);
  box-shadow:0 0 0 1px rgba(0,0,0,.18);
  pointer-events:none;
}
.npb-wall-selected-product[data-wall-selected-item]{cursor:pointer}
.npb-wall-selected-product[data-wall-selected-item].is-callout-selected{
  margin-left:-8px;
  margin-right:-8px;
  padding-left:8px;
  padding-right:8px;
  border-radius:6px;
  background:#f6f7f7;
}
@media(max-width:1180px) and (min-width:783px){
  .npb-wall-photo-callout{width:116px;padding:7px}
  .npb-wall-photo-callout-image{width:100px;height:100px}
}
@media(max-width:782px){
  .npb-wall-callout-toggle,.npb-wall-photo-callout,.npb-wall-callout-line{display:none!important}
}

/* v0.10.10.0 – Fase 1: auditerte produkter kan krysse horisontal Compact/XL-skjøt. */
.npb-wall-bridge-layer{
  position:absolute;
  inset:0;
  z-index:8;
  pointer-events:none;
}
.npb-wall-bridge-layer .npb-wall-mounted-item{
  position:absolute;
  z-index:1;
  box-sizing:border-box;
  pointer-events:auto;
}
.npb-wall-bridge-layer .npb-wall-bridged-item{
  border-color:#5f6770;
  background:rgba(255,255,255,.97);
  box-shadow:0 3px 12px rgba(0,0,0,.16);
}
.npb-wall-bridge-layer .npb-wall-bridged-item.is-callout-selected{
  border-color:var(--npb-red);
  box-shadow:0 0 0 2px rgba(219,1,28,.10),0 3px 12px rgba(0,0,0,.16);
}
.npb-wall-plates.is-fit .npb-wall-bridge-layer .npb-wall-bridged-item,
.npb-wall-plates.is-overview-zoom .npb-wall-bridge-layer .npb-wall-bridged-item{
  padding:2px;
}
.npb-wall-plates.is-fit .npb-wall-bridge-layer .npb-wall-bridged-item .npb-wall-move-pad,
.npb-wall-plates.is-fit .npb-wall-bridge-layer .npb-wall-bridged-item .npb-wall-remove,
.npb-wall-plates.is-overview-zoom .npb-wall-bridge-layer .npb-wall-bridged-item .npb-wall-move-pad,
.npb-wall-plates.is-overview-zoom .npb-wall-bridge-layer .npb-wall-bridged-item .npb-wall-remove{
  display:none;
}

/* v0.10.12.0 – Wall Visual System.
 * Samlet visuelt lag for monterte Wall-produkter. Stack, footprints,
 * mount-profiler, bridge-motor og photo-callout er bevisst urørt. */
.npb-wall-mounted-item,
.npb-wall-plates.is-fit .npb-wall-mounted-item,
.npb-wall-bridge-layer .npb-wall-bridged-item{
  border:1px dashed rgba(77,84,91,.28);
  border-radius:6px;
  background:rgba(255,255,255,.36);
  box-shadow:none;
}
.npb-wall-mounted-item:hover{
  border-color:rgba(77,84,91,.55);
  background:rgba(255,255,255,.62);
}
.npb-wall-mounted-item::before,
.npb-wall-mounted-item .npb-wall-svg-figure::before{
  display:none!important;
  content:none!important;
}
.npb-wall-mounted-item .npb-wall-mounted-figure.npb-wall-svg-figure{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:min(82%,108px);
  height:min(72%,76px);
  margin:0;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  overflow:visible;
  color:#4d545b;
}
.npb-wall-mounted-item.npb-wall-fp-1x1 .npb-wall-mounted-figure.npb-wall-svg-figure{width:74%;height:67%}
.npb-wall-mounted-item.npb-wall-fp-1x2 .npb-wall-mounted-figure.npb-wall-svg-figure,
.npb-wall-mounted-item.npb-wall-fp-1x3 .npb-wall-mounted-figure.npb-wall-svg-figure{width:72%;height:76%}
.npb-wall-mounted-item.npb-wall-fp-2x1 .npb-wall-mounted-figure.npb-wall-svg-figure{width:82%;height:62%}
.npb-wall-mounted-item.npb-wall-fp-2x2 .npb-wall-mounted-figure.npb-wall-svg-figure{width:80%;height:72%}
.npb-wall-mounted-item.npb-wall-fp-2x3 .npb-wall-mounted-figure.npb-wall-svg-figure{width:80%;height:75%;max-width:118px;max-height:94px}
.npb-wall-mounted-item.npb-wall-fp-4x2 .npb-wall-mounted-figure.npb-wall-svg-figure,
.npb-wall-mounted-item.npb-wall-fp-4x3 .npb-wall-mounted-figure.npb-wall-svg-figure{width:70%;height:70%;max-width:150px;max-height:104px}

.npb-wall-product-svg{
  display:block;
  width:100%;
  height:100%;
  overflow:visible;
}
.npb-wall-product-svg *{
  vector-effect:non-scaling-stroke;
}
.npb-wall-product-svg .npb-wall-svg-line{
  fill:rgba(255,255,255,.86);
  stroke:#4d545b;
  stroke-width:2.15;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.npb-wall-product-svg path.npb-wall-svg-line,
.npb-wall-product-svg circle.npb-wall-svg-line{
  fill:none;
}
.npb-wall-product-svg .npb-wall-svg-detail{
  fill:none;
  stroke:#7a8187;
  stroke-width:1.45;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.npb-wall-product-svg .npb-wall-svg-accent{
  fill:none;
  stroke:var(--npb-red);
  stroke-width:3.1;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.npb-wall-product-svg .npb-wall-svg-accent-thin{
  fill:none;
  stroke:var(--npb-red);
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.npb-wall-product-svg .npb-wall-svg-mount{
  fill:none;
  stroke:#9aa0a6;
  stroke-width:1.35;
  stroke-linecap:round;
}
.npb-wall-product-svg .npb-wall-svg-bay{
  fill:rgba(77,84,91,.045);
  stroke:#656c72;
  stroke-width:1.45;
  stroke-linejoin:round;
}
.npb-wall-product-svg .npb-wall-svg-accent-dot{
  fill:var(--npb-red);
  stroke:none;
}

/* Nummeret er en forklaringsnøkkel, ikke en del av produkttegningen. */
.npb-wall-item-number{
  left:5px;
  top:5px;
  min-width:18px;
  height:18px;
  padding:0 4px;
  border:1px solid rgba(219,1,28,.72);
  background:rgba(255,255,255,.96);
  color:var(--npb-red);
  font-size:9px;
  font-weight:700;
  box-shadow:none;
}

/* Valgt produkt markeres rolig; photo-callout beholder lederlinjen. */
.npb-wall-mounted-item.is-callout-selected,
.npb-wall-bridge-layer .npb-wall-bridged-item.is-callout-selected{
  border-style:solid;
  border-color:rgba(219,1,28,.74);
  background:rgba(255,255,255,.68);
  box-shadow:inset 0 0 0 1px rgba(219,1,28,.11);
}
.npb-wall-mounted-item.is-callout-selected::after{
  width:6px;
  height:6px;
  margin:-3px 0 0 -3px;
  border:1px solid #fff;
  box-shadow:0 0 0 1px rgba(0,0,0,.12);
}

/* Tilpass/oversiktszoom: behold lesbar silhuett uten kortpreg. */
.npb-wall-plates.is-fit .npb-wall-mounted-item,
.npb-wall-plates.is-overview-zoom .npb-wall-mounted-item,
.npb-wall-plates.is-fit .npb-wall-bridge-layer .npb-wall-bridged-item,
.npb-wall-plates.is-overview-zoom .npb-wall-bridge-layer .npb-wall-bridged-item{
  border-color:rgba(77,84,91,.20);
  background:rgba(255,255,255,.22);
}
.npb-wall-plates.is-fit .npb-wall-mounted-item .npb-wall-mounted-figure.npb-wall-svg-figure,
.npb-wall-plates.is-overview-zoom .npb-wall-mounted-item .npb-wall-mounted-figure.npb-wall-svg-figure{
  transform:none;
  margin:0;
}
.npb-wall-plates.is-overview-zoom .npb-wall-item-number{
  left:2px;
  top:2px;
  min-width:12px;
  height:12px;
  padding:0 2px;
  font-size:6px;
}
/* SVG-illustrasjonen følger feltstørrelsen direkte; unngå dobbel skalering ved 125–400 %. */
.npb-wall-plates:not(.is-fit) .npb-wall-mounted-item .npb-wall-mounted-figure.npb-wall-svg-figure{
  transform:none;
}


/* v0.10.13.0 – Wall Direct Placement System.
 * Progressive enhancement: eksisterende Legg til-/pilkontroller beholdes som fallback.
 * Dra-og-slipp endrer ikke Wall-dataformatet og bruker eksisterende fitsAt/placementCells-validering. */
@media (pointer:fine){
  .npb-wall-product[draggable="true"]:not(.is-disabled),
  .npb-wall-mounted-item[draggable="true"],
  .npb-wall-plate-drag[draggable="true"]{cursor:grab}
  .npb-wall-product[draggable="true"]:active,
  .npb-wall-mounted-item[draggable="true"]:active,
  .npb-wall-plate-drag[draggable="true"]:active{cursor:grabbing}
}
.npb-wall-product.is-drag-source,
.npb-wall-mounted-item.is-drag-source,
.npb-wall-plate-drag.is-drag-source{opacity:.55}
.npb-wall-plate-grid [data-cell].is-drop-valid{
  border-color:#238636!important;
  background:rgba(35,134,54,.14)!important;
  box-shadow:inset 0 0 0 2px rgba(35,134,54,.22)
}
.npb-wall-plate-grid [data-cell].is-drop-invalid{
  border-color:#b42318!important;
  background:rgba(180,35,24,.12)!important;
  box-shadow:inset 0 0 0 2px rgba(180,35,24,.18)
}
.npb-wall-plate-drop-preview{
  position:absolute;
  z-index:25;
  box-sizing:border-box;
  border:2px dashed #238636;
  border-radius:9px;
  background:rgba(35,134,54,.10);
  pointer-events:none
}
.npb-wall-plate-drop-preview.is-invalid{
  border-color:#b42318;
  background:rgba(180,35,24,.09)
}
.npb-wall-is-dragging .npb-wall-plates{box-shadow:inset 0 0 0 1px rgba(255,255,255,.85),0 0 0 2px rgba(219,1,28,.08)}
.npb-wall-plate-actions .npb-wall-plate-drag{font-size:11px;line-height:1}
.npb-wall-mounted-item[tabindex="0"]:focus-visible,
.npb-wall-selected-product[tabindex="0"]:focus-visible{
  outline:2px solid var(--npb-red);
  outline-offset:2px
}
@media (pointer:coarse){.npb-wall-plate-drag{display:none!important}}


/* v0.11.1.0 – Wall følger samme rene desktop-UI som Stack. */
@media(min-width:783px){
  .npb-builder.npb-mode-wall>.npb-progress{display:none!important}
  .npb-wall-catalog-step.is-routine{display:none!important}
}


/* v0.11.3.0 – centered fallback Wall remove icon. */
.npb-wall-remove{font-size:0!important;line-height:0!important;color:transparent!important}
.npb-wall-remove::before,.npb-wall-remove::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:1.5px;border-radius:2px;background:#fff;transform-origin:50% 50%;pointer-events:none}
.npb-wall-remove::before{transform:translate(-50%,-50%) rotate(45deg)}
.npb-wall-remove::after{transform:translate(-50%,-50%) rotate(-45deg)}


/* v0.11.4.5 – Wall-midtfeltet bruker samme kompakte padding som Stack. */
.npb-wall-canvas{
  padding:12px 8px 10px;
}


/* v0.11.5.0 – større touchmål i Wall-fallback/direct-placement på mobil. */
@media(max-width:782px){
  .npb-wall-move-pad{grid-template-columns:repeat(4,40px)!important;gap:5px!important}
  .npb-wall-move-pad button{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;font-size:15px!important}
  .npb-wall-remove{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important}
  .npb-wall-plate-actions button{min-width:40px!important;min-height:40px!important}
}


/* v0.11.5.1 – explicit mobile remove action in Wall Oppsett. */
.npb-wall-selected-remove{display:none}
@media(max-width:782px){
  .npb-wall-selected-product[data-wall-selected-item]{
    position:relative;
    padding-right:82px!important;
  }
  .npb-wall-selected-remove{
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-50%);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:70px;
    min-height:44px;
    padding:0 12px;
    border:0;
    border-radius:6px;
    background:#242629;
    color:#fff;
    font:700 12px/1 inherit;
    cursor:pointer;
    z-index:5;
  }
  .npb-wall-selected-remove:focus-visible{
    outline:2px solid var(--npb-red);
    outline-offset:2px;
  }
  .npb-wall-remove{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
  }
}

/* v0.13.0.0 – fri veggdesign: dupliser monteringsplate raskt. */
.npb-wall-plate-actions .npb-wall-plate-duplicate{font-size:12px;font-weight:900}
.npb-wall-plate-actions .npb-wall-plate-duplicate:hover{background:#eef2f5}

/* v1.9.0 – PACKOUT Racking System inside Wall Builder.
   Productfoto til venstre, separate vertikale Hylle 2 / Hylle 1-byggefelt til høyre.
   Denne presentasjonen er isolert fra den auditerte mounting-plate-canvasen. */
.npb-wall-rack-canvas{width:min(1080px,100%);margin:0 auto;padding:18px 16px 24px;box-sizing:border-box}
.npb-wall-rack-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0 0 18px}
.npb-wall-rack-head>div{display:flex;flex-direction:column;gap:3px}
.npb-wall-rack-head strong{font-size:16px;line-height:1.25}
.npb-wall-rack-head span{font-size:12px;color:#646970}
.npb-wall-rack-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,285px);gap:28px;align-items:start}
.npb-wall-rack-visual{min-width:0;padding:6px 2px 0}
.npb-wall-rack-visual-row{display:grid;grid-template-columns:46px minmax(0,1fr);gap:10px;align-items:stretch}
.npb-wall-rack-photo-frame{position:relative;width:100%;aspect-ratio:var(--npb-rack-width-mm,546) / var(--npb-rack-height-mm,447);min-width:0}
.npb-wall-rack-photo{display:block;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}
.npb-wall-rack-dim-width{position:relative;margin:0 0 8px 56px;height:24px;display:flex;align-items:flex-start;justify-content:center;color:#50575e;font-size:11px;font-weight:700}
.npb-wall-rack-dim-width:before{content:"";position:absolute;left:0;right:0;bottom:3px;border-bottom:1px solid #8c8f94}
.npb-wall-rack-dim-width:after{content:"↔";position:absolute;left:50%;bottom:-7px;transform:translateX(-50%);padding:0 5px;background:#fff;color:#646970;font-size:16px;line-height:16px}
.npb-wall-rack-dim-width span{position:relative;z-index:2;padding:0 6px;background:#fff}
.npb-wall-rack-dim-height{position:relative;display:flex;align-items:center;justify-content:center;color:#50575e;font-size:11px;font-weight:700}
.npb-wall-rack-dim-height:before{content:"";position:absolute;top:0;bottom:0;left:50%;border-left:1px solid #8c8f94}
.npb-wall-rack-dim-height:after{content:"↕";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:5px 0;background:#fff;color:#646970;font-size:16px;line-height:16px}
.npb-wall-rack-dim-height span{position:relative;z-index:2;writing-mode:vertical-rl;transform:rotate(180deg);padding:6px 0;background:#fff}
.npb-wall-rack-depth{display:flex;align-items:baseline;justify-content:center;gap:7px;flex-wrap:wrap;margin:10px 0 0 56px;color:#50575e;font-size:11px}
.npb-wall-rack-depth strong{font-size:11px;text-transform:uppercase;letter-spacing:.03em}
.npb-wall-rack-depth span{font-weight:700}
.npb-wall-rack-depth small{width:100%;text-align:center;color:#646970;font-size:10px}
.npb-wall-rack-shelves{display:flex;flex-direction:column;gap:14px;min-width:0;padding-top:31px}
.npb-wall-rack-shelf{position:relative;display:flex;flex-direction:column;min-height:220px;border:1px solid #c3c4c7;border-radius:10px;background:#fff;outline:0;cursor:pointer;overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}
.npb-wall-rack-shelf:hover{border-color:#8c8f94}
.npb-wall-rack-shelf.is-active{border-color:#c8102e;box-shadow:0 0 0 1px #c8102e}
.npb-wall-rack-shelf-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;background:#f6f7f7;border-bottom:1px solid #dcdcde}
.npb-wall-rack-shelf-head>div{display:flex;flex-direction:column;gap:1px}
.npb-wall-rack-shelf-head span{font-size:9px;color:#646970;text-transform:uppercase;letter-spacing:.05em}
.npb-wall-rack-shelf-head strong{font-size:13px;line-height:1.2}
.npb-wall-rack-shelf-head em{font-style:normal;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#fff;background:#c8102e;border-radius:999px;padding:4px 7px}
.npb-wall-rack-stack{display:flex;flex:1;flex-direction:column;gap:7px;min-height:128px;padding:10px;background:#fff}
.npb-wall-rack-empty{display:flex;align-items:center;justify-content:center;flex:1;min-height:104px;border:1px dashed #c3c4c7;border-radius:7px;color:#646970;font-size:11px;text-align:center;padding:10px;background:#fbfbfb}
.npb-wall-rack-layer{display:flex;flex-direction:column;gap:3px;width:100%}
.npb-wall-rack-layer-label{font-size:9px;font-weight:700;color:#8c8f94;text-transform:uppercase;letter-spacing:.03em}
.npb-wall-rack-layer-items{display:grid;grid-template-columns:1fr 1fr;gap:5px;width:100%}
.npb-wall-rack-module{display:flex;align-items:center;gap:7px;min-width:0;min-height:56px;padding:6px 7px;background:#fff;border:1px solid #dcdcde;border-radius:6px;box-shadow:0 1px 1px rgba(0,0,0,.03)}
.npb-wall-rack-module.is-full{grid-column:1/-1}.npb-wall-rack-module.is-half{grid-column:auto;flex-direction:column;align-items:flex-start;gap:3px}
.npb-wall-rack-module img{width:46px;height:42px;object-fit:contain;flex:0 0 auto}
.npb-wall-rack-module.is-half img{width:38px;height:34px;align-self:center}
.npb-wall-rack-module span{min-width:0;font-size:10px;font-weight:600;line-height:1.2;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.npb-wall-rack-shelf-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-top:1px solid #dcdcde;background:#f6f7f7;color:#646970;font-size:9px}
.npb-wall-rack-shelf-foot button{border:1px solid #8c8f94;background:#fff;color:#2c3338;border-radius:4px;padding:5px 7px;font-size:9px;font-weight:700;cursor:pointer}
.npb-wall-rack-shelf-foot small{font-size:9px;color:#646970}
.npb-wall-rack-note{margin:16px 0 0;font-size:12px;color:#50575e;line-height:1.45}
@media(max-width:920px){.npb-wall-rack-workspace{grid-template-columns:minmax(0,1fr) 230px;gap:18px}.npb-wall-rack-canvas{padding-left:8px;padding-right:8px}.npb-wall-rack-visual-row{grid-template-columns:38px minmax(0,1fr)}.npb-wall-rack-dim-width,.npb-wall-rack-depth{margin-left:48px}.npb-wall-rack-shelves{padding-top:26px}}
@media(max-width:700px){.npb-wall-rack-workspace{grid-template-columns:1fr;gap:18px}.npb-wall-rack-shelves{display:grid;grid-template-columns:1fr 1fr;padding-top:0}.npb-wall-rack-shelf{min-height:190px}.npb-wall-rack-visual-row{grid-template-columns:34px minmax(0,1fr)}.npb-wall-rack-dim-width,.npb-wall-rack-depth{margin-left:44px}}
@media(max-width:480px){.npb-wall-rack-shelves{grid-template-columns:1fr}.npb-wall-rack-head{align-items:flex-start}.npb-wall-rack-shelf{min-height:170px}.npb-wall-rack-module.is-half{flex-direction:row;align-items:center}.npb-wall-rack-module.is-half img{width:34px;height:32px}.npb-wall-rack-visual-row{grid-template-columns:30px minmax(0,1fr)}.npb-wall-rack-dim-width,.npb-wall-rack-depth{margin-left:40px}}
/* Rack view owns the Wall canvas while active; Milwaukee Exact Wall remains untouched for mounting plates. */
.npb-builder.npb-wall-rack-active.npb-mw-image-active.npb-mode-wall .npb-wall-canvas,
.npb-builder.npb-wall-rack-active.npb-visual-mode-milwaukee.npb-mode-wall .npb-wall-canvas{display:block!important}
.npb-builder.npb-wall-rack-active.npb-mode-wall .npb-mw-wall-panel{display:none!important}

/* v2.1.0 – Wall Startsett. Kun presentasjon av preset-lås; Wall-geometrien er uendret. */
.npb-wall-selected-preset{margin-bottom:4px}
.npb-wall-selected-preset .npb-selected-product-info>span{display:block;margin-bottom:2px;color:var(--npb-muted);font-size:9px;font-weight:700}
.npb-wall-selected-preset .npb-selected-product-info>strong{display:block;font-size:11px;line-height:1.25}
.npb-wall-selected-preset .npb-selected-product-info>small{line-height:1.35}
.npb-wall-selected-product.is-preset-locked{position:relative;padding-right:86px}
.npb-wall-selected-product>.npb-selected-preset-lock{position:absolute;right:0;top:50%;transform:translateY(-50%)}
.npb-wall-mounted-item>.npb-preset-lock{position:absolute;right:4px;bottom:4px;z-index:7;font-size:8px;padding:4px 5px;pointer-events:none}
.npb-wall-plate-actions>.npb-preset-lock{margin-left:2px;font-size:9px;padding:5px 7px}
@media(max-width:782px){
  .npb-wall-selected-product.is-preset-locked{padding-right:76px}
  .npb-wall-selected-product>.npb-selected-preset-lock{right:0;top:8px;transform:none}
}

/* v2.8.22 – Rack-komponenter som trygg høyre-rail utenfor bildegeometrien. */
.npb-wall-rack-extras{display:flex;flex-direction:column;gap:7px;padding:10px;border:1px solid #dcdcde;border-radius:10px;background:#f6f7f7}
.npb-wall-rack-extras-head{display:flex;flex-direction:column;gap:1px;margin-bottom:2px}
.npb-wall-rack-extras-head strong{font-size:12px;line-height:1.2}
.npb-wall-rack-extras-head span,.npb-wall-rack-extras-empty{font-size:9px;color:#646970;line-height:1.3}
.npb-wall-rack-extra{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) 22px;gap:7px;align-items:center;padding:6px;padding-right:8px;background:#fff;border:1px solid #dcdcde;border-radius:6px}
.npb-wall-rack-extra-image{width:48px;height:44px;display:flex;align-items:center;justify-content:center}
.npb-wall-rack-extra-image img{display:block;max-width:100%;max-height:100%;object-fit:contain}
.npb-wall-rack-extra>div:nth-child(2){min-width:0;display:flex;flex-direction:column;gap:1px}
.npb-wall-rack-extra span{font-size:8px;color:#8c8f94}
.npb-wall-rack-extra strong{font-size:9px;line-height:1.2;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.npb-wall-rack-extra button{width:22px;height:22px;min-width:22px;min-height:22px;padding:0;margin:0;justify-self:center;align-self:center;display:flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:#2c3338;color:#fff;font-size:15px;line-height:1;cursor:pointer}
@media(max-width:700px){.npb-wall-rack-extras{grid-column:1/-1}.npb-wall-rack-extra{grid-template-columns:44px minmax(0,1fr) 22px}.npb-wall-rack-extra-image{width:44px;height:40px}}


/* v2.8.25 – Wall Nullstill synlig i selve arbeidsfeltet, også i hyllesystemvisning. */
.npb-wall-stage-controls{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin-left:auto;
}
.npb-wall-stage-controls .npb-wall-stage-actions{
  display:flex;
  align-items:center;
  gap:8px;
}
@media(max-width:782px){
  .npb-wall-stage-head{align-items:flex-start}
  .npb-wall-stage-controls{align-items:flex-end;flex-direction:column;gap:6px}
  .npb-wall-stage-controls .npb-wall-stage-actions{max-width:100%;flex-wrap:wrap;justify-content:flex-end}
}

/* v3.0.1 – tydelig platehandling i Wall-fallback uten å endre plategeometri. */
.npb-wall-plate-actions .npb-wall-plate-duplicate{
  width:auto;
  min-width:96px;
  padding:0 7px;
  white-space:nowrap;
  font-size:9px;
}
.npb-wall-plates.is-fit .npb-wall-plate-actions .npb-wall-plate-duplicate,
.npb-wall-plates.is-overview-zoom .npb-wall-plate-actions .npb-wall-plate-duplicate{
  width:auto;
  min-width:82px;
  padding:0 5px;
  font-size:8px;
}
@media(max-width:782px){
  .npb-wall-plate-actions .npb-wall-plate-duplicate{
    width:auto!important;
    min-width:118px!important;
    padding:0 10px!important;
    font-size:11px!important;
  }
}


/* v3.3.7: visible keyboard focus; no changes to wall mounting geometry. */
.npb-wall button:focus-visible,
.npb-wall a:focus-visible,
.npb-wall input:focus-visible {
  outline:2px solid var(--npb-red,#c82027);
  outline-offset:2px;
}
