.pgb{
  --ink:#243730;--muted:#6f7f76;--line:#d8dfd8;--panel:#ffffff;--soft:#eef2ec;--soft-2:#f7f9f5;--accent:#2d5342;--accent-2:#c52b35;
  font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:linear-gradient(180deg,#f7f9f5 0%,#f2f4ef 100%);
  border:1px solid #e2e8e1;border-radius:24px;padding:28px;max-width:1580px;margin:24px auto;box-sizing:border-box;box-shadow:0 14px 40px rgba(29,48,35,.08)
}
.pgb *{box-sizing:border-box}.pgb [hidden]{display:none!important}.pgb button,.pgb input,.pgb select{font:inherit}.pgb h2,.pgb h3,.pgb h4,.pgb p{font-family:inherit;color:inherit;letter-spacing:normal;text-transform:none}.pgb p{margin:0 0 12px}
.pgb button{cursor:pointer;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);padding:10px 14px;line-height:1.3;transition:background .15s,border-color .15s,transform .15s,box-shadow .15s}.pgb button:hover{border-color:#9caf9e;background:#f6faf5;box-shadow:0 6px 14px rgba(27,44,32,.06);transform:translateY(-1px)}
.pgb button:focus-visible,.pgb input:focus-visible,.pgb select:focus-visible,.pgb canvas:focus-visible{outline:3px solid #a6c4ad;outline-offset:3px}
.pgb h2{font-size:39px;line-height:1.08;margin:12px 0 10px;font-weight:700;letter-spacing:-1.4px}.pgb h3{font-size:28px;line-height:1.14;margin:6px 0 18px;font-weight:680;letter-spacing:-.7px}.pgb h4{font-size:15px;font-weight:650;margin:18px 0 12px}
.pgb-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:24px}.pgb-header-main{max-width:760px}.pgb-header p{color:var(--muted);font-size:15px;max-width:660px}
.pgb-brand{display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:1.8px;font-weight:780}.pgb-mark{background:var(--accent-2);color:#fff;border-radius:5px;padding:3px 8px;font-size:17px;letter-spacing:0}.pgb-divider{width:1px;height:20px;background:#c9d1c7;margin:0 5px}
.pgb-header-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;font-size:12px}.pgb-test{font-size:10px;letter-spacing:1.2px;border:1px solid #cbd8ca;background:#edf2e9;padding:7px 10px;border-radius:999px;font-weight:700}
.pgb-stage,.pgb-controls{background:rgba(255,255,255,.88);border:1px solid #e2e8e1;border-radius:20px;box-shadow:0 10px 24px rgba(28,42,33,.05)}
.pgb-stage{overflow:hidden;background:linear-gradient(180deg,#f5f7f2 0%,#eef2ed 100%);margin-bottom:18px}
.pgb-stage-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px 10px}.pgb-stage-toolbar [data-roof-title]{display:block;font-weight:700;font-size:18px;margin-top:10px}
.pgb-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.86);border:1px solid #d7e0d7;color:#5e7268;font-size:10px;letter-spacing:1px;text-transform:uppercase;font-weight:700}
.pgb-stage-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pgb-view-switch{display:flex;border-radius:12px;padding:4px;background:#e5ebe3;white-space:nowrap;border:1px solid #d8dfd8}.pgb .pgb-view-switch button{font-size:11px;border:0;background:transparent;padding:9px 11px;border-radius:9px}.pgb .pgb-view-switch button[aria-pressed=true]{background:#fff;box-shadow:0 4px 10px rgba(36,54,41,.10)}
.pgb-stage-canvaswrap{position:relative;padding:0 18px 0 18px}.pgb canvas{display:block;width:100%;height:620px;touch-action:none;cursor:grab}.pgb canvas:active{cursor:grabbing}.pgb-diagram{height:620px;background:#fff;padding:16px;overflow:auto}.pgb-diagram img{width:100%;height:100%;object-fit:contain;background:#fff}
.pgb-stage-price{position:absolute;right:26px;bottom:28px;width:min(360px,36%);background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border:1px solid #dee6df;border-radius:18px;padding:18px 20px;box-shadow:0 14px 34px rgba(25,40,31,.10)}
.pgb-stage-price>span{display:block;font-size:12px;color:var(--muted)}.pgb-stage-price strong{display:block;font-size:52px;line-height:.95;letter-spacing:-2px;font-weight:760;margin:8px 0 12px}.pgb-stage-price small{display:block;font-size:13px;color:var(--muted);margin-top:4px}.pgb-stage-price small b{color:var(--ink)}
.pgb button.pgb-primary{background:var(--accent);color:#fff;border:0;width:100%;display:flex;justify-content:space-between;gap:18px;padding:15px 18px;margin-top:15px}.pgb button.pgb-primary:hover{background:#365a48}
.pgb-view-bottom{display:flex;align-items:center;justify-content:space-between;padding:14px 20px 10px;gap:10px;color:var(--muted);font-size:11px}.pgb-view-bottom>div{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.pgb .pgb-view-bottom button{font-size:11px;padding:8px 10px;background:rgba(255,255,255,.84)}.pgb-visual-caption{font-size:11px;color:var(--muted);padding:0 20px 18px}
.pgb-controls{overflow:hidden;padding:14px;background:linear-gradient(180deg,#fff 0%,#fbfcfa 100%)}.pgb-controls nav{display:flex;flex-wrap:wrap;padding:6px;gap:6px;background:#f4f7f3;border:1px solid #e2e8e1;border-radius:16px}.pgb-controls nav button{border:0;border-radius:12px;font-size:12px;padding:11px 14px;text-align:left;background:transparent;display:flex;align-items:center;gap:8px;min-height:44px}.pgb-controls nav button span{font-size:10px;opacity:.58;font-weight:700}.pgb-controls nav button[aria-selected=true]{background:var(--accent);color:#fff;box-shadow:0 8px 16px rgba(36,61,50,.16)}
.pgb-panel{padding:22px 10px 6px;max-height:760px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#c5d1c2 transparent}.pgb-kicker{font-size:10px;letter-spacing:1.8px;color:#829079;font-weight:700}
.pgb-roof-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.pgb-roof-options button{padding:7px 7px 12px;overflow:hidden;text-align:left;position:relative;background:#fff;border:1px solid #dce4dc}.pgb-roof-options button img{width:100%;height:220px;object-fit:contain;object-position:center;mix-blend-mode:multiply;border-radius:10px;background:#f3f5f1}.pgb-roof-options strong{display:block;font-size:12px;padding:6px 5px 1px}.pgb-roof-options small{font-size:10px;color:var(--muted);padding:0 5px}.pgb-roof-options button[aria-pressed=true]{border:2px solid #40634f;padding:6px 6px 11px;background:#f4f8f2}
.pgb-section-title{display:flex;justify-content:space-between;align-items:center;margin-top:15px;gap:6px}.pgb-section-title span{font-size:10px;color:var(--muted)}.pgb-help{font-size:12px;line-height:1.7;color:var(--muted)!important;max-width:60ch}
.pgb-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.pgb-field{display:block;margin:0 0 14px}.pgb-field>span{font-size:11px;display:block;margin-bottom:6px;font-weight:600}.pgb-field select,.pgb-input-unit{border:1px solid #d8e1d5;border-radius:10px;background:#fff;min-height:46px;max-width:100%;width:100%;color:var(--ink);box-shadow:inset 0 1px 2px rgba(25,35,28,.03)}.pgb-field select{padding:11px 12px;font-size:12px}.pgb-input-unit{display:flex;align-items:center;overflow:hidden}.pgb .pgb-input-unit input{border:0!important;background:transparent!important;box-shadow:none!important;margin:0!important;padding:11px 12px!important;width:100%;min-width:0;color:var(--ink);font-size:14px;height:44px}.pgb-input-unit>span{font-size:11px;color:var(--muted);padding:0 12px;white-space:nowrap}
.pgb-colors{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0 0 20px}.pgb-colors button{padding:8px 4px;border:1px solid transparent;border-radius:12px}.pgb-colors button>span{display:block;background:var(--swatch);width:32px;height:32px;border:1px solid #0002;border-radius:50%;margin:0 auto 5px;box-shadow:inset 0 1px 2px rgba(255,255,255,.3)}.pgb-colors button small{font-size:9px;line-height:1.2;display:block;min-height:22px}.pgb-colors button[aria-pressed=true]{border-color:#506d55;background:#f2f6ee}
.pgb-check{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);padding:14px;border-radius:12px;margin:9px 0;cursor:pointer;background:#fff}.pgb-check:has(input:checked){background:#f3f7ef;border-color:#859e7f}.pgb-check input{accent-color:#325941;width:17px;height:17px;flex-shrink:0;margin-top:3px}.pgb-check strong{font-size:13px;display:block}.pgb-check small{color:var(--muted);font-size:11px;display:block;margin-top:3px}
.pgb-tip{font-size:12px;line-height:1.7;background:#f4f6f0;border-radius:12px;padding:13px 14px;margin-top:18px;color:#697666;border:1px solid #e3e8e2}
.pgb-messages:empty{display:none}.pgb-messages{margin-top:18px}.pgb-notice,.pgb-error{font-size:12px;padding:13px 16px;border-radius:10px;margin:7px 0!important;background:#fff6e2;color:#735d2e!important;border:1px solid #eddfbb}.pgb-error{background:#fcecec;color:#9b2630!important;border-color:#edbfc3}.pgb-invalid canvas{opacity:.35}.pgb-status{font-size:12px;color:var(--muted)!important;margin-top:12px!important}.pgb-status:empty{display:none}
.pgb-material-group{border:1px solid var(--line);border-radius:12px;margin:0 0 12px;overflow:hidden;background:#fff}.pgb-material-group summary{cursor:pointer;background:#f3f6f1;padding:12px 13px;display:flex;justify-content:space-between;gap:8px;font-size:12px}.pgb-material-group summary small{font-size:10px;color:var(--muted);display:block}.pgb-material-row{display:flex;justify-content:space-between;gap:12px;padding:11px 13px;border-top:1px solid #eef1ec;font-size:11px}.pgb-material-row strong{font-weight:550;display:block}.pgb-material-row small{color:var(--muted);display:block;margin-top:4px}.pgb-material-row b{white-space:nowrap;font-weight:600}.pgb-material-total{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:15px 0;margin-bottom:10px;font-weight:700}
@media(max-width:1180px){.pgb-stage-price{position:static;width:100%;margin:0 auto 16px}.pgb-stage-canvaswrap{display:flex;flex-direction:column}.pgb-stage-canvaswrap .pgb-stage-price{order:2;margin-top:12px}}
@media(max-width:900px){.pgb{padding:20px}.pgb-header{flex-wrap:wrap}.pgb-controls nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.pgb-fields{grid-template-columns:1fr}.pgb-roof-options{grid-template-columns:1fr 1fr}.pgb-colors{grid-template-columns:repeat(4,minmax(0,1fr))}.pgb canvas,.pgb-diagram{height:480px}.pgb-stage-price strong{font-size:40px}}
@media(max-width:700px){.pgb{padding:14px;border-radius:14px;margin:10px auto}.pgb h2{font-size:30px;margin-top:10px}.pgb-header p{font-size:13px}.pgb-brand{font-size:9px;gap:6px;letter-spacing:1px}.pgb-stage-toolbar{padding:14px 14px 8px;flex-wrap:wrap}.pgb-stage-canvaswrap{padding:0 10px}.pgb canvas,.pgb-diagram{height:330px}.pgb-stage-price{padding:14px}.pgb-stage-price strong{font-size:34px}.pgb-view-bottom{padding:10px 14px 8px;flex-wrap:wrap}.pgb-visual-caption{padding:0 14px 14px}.pgb-controls nav{grid-template-columns:repeat(2,minmax(0,1fr))}.pgb-panel{padding:18px 6px 4px}.pgb-roof-options{grid-template-columns:1fr}.pgb-colors{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* v0.17: taktyp väljs före konfiguratorn */
.pgb-roof-select{
  background:rgba(255,255,255,.9);
  border:1px solid #dfe6df;
  border-radius:20px;
  padding:20px;
  margin-bottom:18px;
  box-shadow:0 10px 24px rgba(28,42,33,.05);
  scroll-margin-top:24px;
}
.pgb-roof-select-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:16px}
.pgb-roof-select-head h3{margin:5px 0 7px}
.pgb-roof-select-head p{color:var(--muted);max-width:680px;font-size:13px;margin:0}
.pgb-flow-step{display:inline-flex;align-items:center;justify-content:center;padding:7px 11px;border:1px solid #d8e2d8;border-radius:999px;background:#f3f7f1;color:#51685b;font-size:10px;font-weight:750;letter-spacing:.9px;text-transform:uppercase;white-space:nowrap}
.pgb-roof-options-top{gap:14px}
.pgb-roof-options-top button{padding:8px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;min-height:222px;border-radius:16px}
.pgb-roof-options-top button img{grid-column:1/-1;width:100%;height:clamp(190px,20vw,280px);object-fit:contain;border-radius:11px;margin-bottom:8px;background:#edf1ec}
.pgb-roof-card-copy{min-width:0;padding:0 6px 5px;display:block}
.pgb-roof-card-copy strong{font-size:14px;padding:0 0 2px;display:block}
.pgb-roof-card-copy small{font-size:10px;padding:0;color:var(--muted);display:block}
.pgb-roof-card-copy em{font-size:11px;color:var(--muted);font-style:normal;display:block;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pgb-roof-card-arrow{font-size:20px;color:#789084;padding:0 7px 4px}
.pgb-roof-options-top button:hover{border-color:#708d7b;background:#f7faf5}
.pgb-roof-options-top button:focus-visible{border-color:#496c58}
.pgb-roof-summary{display:grid;grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:16px}
.pgb-roof-summary img{width:96px;height:66px;object-fit:contain;border-radius:11px;background:#eef2ed;border:1px solid #e0e6df}
.pgb-roof-summary div{min-width:0}
.pgb-roof-summary small{display:block;font-size:9px;letter-spacing:1.4px;color:#819087;font-weight:750;margin-bottom:3px}
.pgb-roof-summary strong{display:block;font-size:16px;line-height:1.2}
.pgb-roof-summary span{display:block;color:var(--muted);font-size:11px;margin-top:3px}
.pgb-roof-summary button{white-space:nowrap}
.pgb-stage,.pgb-controls{scroll-margin-top:24px}
.pgb-measure-title{margin-top:2px;margin-bottom:2px}
.pgb-measure-title h3{margin:0}
.pgb button:disabled{cursor:not-allowed;opacity:.45;transform:none;box-shadow:none}

@media(max-width:900px){
  .pgb-roof-options-top{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pgb-roof-summary{grid-template-columns:82px minmax(0,1fr) auto}
  .pgb-roof-summary img{width:82px;height:58px}
}
@media(max-width:700px){
  .pgb-roof-select{padding:14px;border-radius:16px}
  .pgb-roof-select-head{gap:10px;flex-wrap:wrap}
  .pgb-roof-options-top{grid-template-columns:1fr}
  .pgb-roof-options-top button{min-height:0}
  .pgb-roof-options-top button img{height:150px}
  .pgb-roof-summary{grid-template-columns:64px minmax(0,1fr);gap:10px}
  .pgb-roof-summary img{width:64px;height:50px}
  .pgb-roof-summary button{grid-column:1/-1;width:100%}
  .pgb-roof-card-copy em{white-space:normal}
}

.pgb-roof-options-top{max-height:640px;overflow:auto;padding-right:6px}.pgb-roof-options-top button[hidden]{display:none}.pgb-plan{height:620px;overflow:auto;background:white;padding:18px}.pgb-plan figure{margin:0 0 24px}.pgb-plan figcaption{font-weight:700;padding:8px}.pgb-plan img{width:100%;height:auto;display:block}.pgb-plan[hidden]{display:none}

.pgb-flat-view .pgb-stage-price{position:static;width:100%;margin:12px 0}.pgb-flat-view .pgb-stage-canvaswrap{display:block}
@media(max-width:700px){.pgb-plan{height:420px}.pgb-view-switch{flex-wrap:wrap}}

/* Dimension validation stays next to the editable measurements. */
.pgb .pgb-dimension-summary:empty{display:none}.pgb .pgb-dimension-summary{padding:16px 20px;background:#fff;border-bottom:1px solid #ddd}.pgb .pgb-dimension-item{margin:10px 0;padding:10px 14px;border-left:4px solid #b57215;background:#fff6df}.pgb .pgb-dimension-error{border-color:#b32632;background:#fff0f1}.pgb .pgb-dimension-item p{margin:0 0 8px!important}.pgb .pgb-dimension-item button{margin:0 8px 4px 0;padding:6px 10px;font-size:13px}.pgb .pgb-field-error input{border:2px solid #b32632!important;background:#fff3f3!important}.pgb .pgb-field-warning input{border:2px solid #a36713!important;background:#fff9eb!important}.pgb .pgb-dimension-help{display:block;line-height:1.5;margin-top:6px;color:#805512!important}.pgb .pgb-field-error .pgb-dimension-help{color:#a02330!important}.pgb .pgb-model-status{position:absolute;left:16px;top:16px;right:16px;z-index:5;padding:12px 16px;background:#fff0f1;color:#a02330;font-weight:600;border:1px solid #edbfc3;border-radius:8px;pointer-events:none}.pgb.pgb-no-valid-model canvas{visibility:hidden}


/* v0.34.1: fail-safe startup and customer fallback */
.pgb-loading-shell{min-height:150px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:14px}
.pgb-loading{font-size:15px;color:var(--muted)!important;margin:0!important}
.pgb-startup-fallback{max-width:760px;padding:18px 20px;border:1px solid #ead9b9;border-radius:16px;background:#fffaf0;text-align:left;opacity:0;visibility:hidden;animation:pgb-startup-fallback-show 0s linear 8s forwards}
.pgb-startup-fallback strong{display:block;font-size:17px;margin-bottom:5px}.pgb-startup-fallback p{color:var(--muted)!important;font-size:13px}
.pgb-startup-actions,.pgb-compat-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}
.pgb .pgb-action-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)!important;text-decoration:none!important;font-weight:650;font-size:13px;line-height:1.3}
.pgb .pgb-action-link:hover{border-color:#9caf9e;background:#f6faf5}
.pgb .pgb-action-primary{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}
@keyframes pgb-startup-fallback-show{to{opacity:1;visibility:visible}}
.pgb.pgb-compat-failed>:not(.pgb-compat-card){display:none!important}
.pgb-compat-card{max-width:900px;margin:10px auto;padding:28px;display:grid;grid-template-columns:52px minmax(0,1fr);gap:18px;border:1px solid #e2d7bd;border-radius:20px;background:#fffdf7;box-shadow:0 12px 28px rgba(29,48,35,.07)}
.pgb-compat-mark{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff0cf;color:#8a5b00;font-size:27px;font-weight:800;border:1px solid #ead6a6}
.pgb-compat-card h3{margin:5px 0 10px;font-size:28px}.pgb-compat-card p{max-width:720px;color:var(--muted)!important;font-size:14px;line-height:1.7}.pgb-compat-card small{display:block;max-width:760px;color:var(--muted);font-size:11px;line-height:1.6;margin-top:12px}
@media(max-width:700px){.pgb-compat-card{grid-template-columns:1fr;padding:20px}.pgb-compat-mark{width:44px;height:44px}.pgb-compat-actions>*{width:100%}.pgb-startup-actions>*{width:100%}}

/* Neutral model status while an unfinished edit cannot form a roof. */
.pgb .pgb-model-status.pgb-model-pending{background:#f0f5f3;color:#315548;border-color:#cbdcd4}.pgb .pgb-dimension-warnings summary{cursor:pointer;color:#805512;font-weight:600;padding:6px 0}

.pgb-zero-help{display:block;color:var(--muted);font-size:11px;line-height:1.4;margin-top:5px}

/* Customer inquiry: let the page grow instead of nesting scrolling panels. */
.pgb .pgb-panel{max-height:none;overflow:visible}
.pgb [data-price]{display:none!important}
.pgb .pgb-penetrations{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:18px 0}
.pgb .pgb-penetration{position:relative;display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:white;cursor:pointer}
.pgb .pgb-penetration:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:#f4f8f2}
.pgb .pgb-penetration input{position:absolute;top:12px;left:12px;width:20px;height:20px;accent-color:var(--accent)}
.pgb .pgb-penetration img{width:100%;height:170px;object-fit:contain}
.pgb .pgb-penetration strong,.pgb .pgb-penetration small{display:block}.pgb .pgb-penetration small{color:var(--muted);margin-top:5px}
.pgb [data-contact],.pgb [data-inquiry-photo]{max-width:100%;box-sizing:border-box}
.pgb input[data-contact]:not([type="checkbox"]),.pgb textarea[data-contact]{width:100%;padding:12px;border:1px solid #d8e1d5;border-radius:10px;background:white;color:var(--ink)}
.pgb .pgb-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.pgb [data-inquiry-status]{color:#8b3328}.pgb .pgb-inquiry-success{padding:24px;background:#eef6eb;border-radius:14px}
.pgb [data-inquiry-form] .pgb-primary{min-height:48px;padding:12px 24px}
@media(min-width:1100px){.pgb .pgb-panel .pgb-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.pgb .pgb-panel .pgb-fields{grid-template-columns:1fr}.pgb .pgb-penetrations{grid-template-columns:repeat(2,minmax(0,1fr))}.pgb .pgb-penetration img{height:120px}}

/* Contact checkboxes must never inherit the full-width text-input layout. */
.pgb [data-inquiry-form] .pgb-contact-check{display:flex!important;align-items:flex-start!important;gap:10px;width:100%;box-sizing:border-box;padding:14px;margin:16px 0;border:1px solid #d8e1d5;border-radius:10px;float:none!important}
.pgb [data-inquiry-form] .pgb-contact-check input[type="checkbox"]{display:block!important;position:static!important;flex:0 0 18px!important;width:18px!important;height:18px!important;min-width:18px!important;max-width:18px!important;margin:3px 0 0!important;padding:0!important;float:none!important;appearance:auto;accent-color:var(--accent)}
.pgb [data-inquiry-form] .pgb-contact-check span{display:block!important;flex:1 1 auto!important;min-width:0;width:auto!important;max-width:none!important;white-space:normal!important;overflow-wrap:anywhere;line-height:1.5;float:none!important}
.pgb [data-inquiry-form] [hidden]{display:none!important}
.pgb [data-inquiry-form] select[data-contact]{width:100%;min-width:0;height:auto;min-height:44px;box-sizing:border-box}

/* Bottom navigation and direct 3D dimension editor */
.pgb-step-actions{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:12px;margin-top:26px;padding-top:20px;border-top:1px solid #d8e1d5}
.pgb-step-actions [data-action="skip-step"]{margin-right:auto}
.pgb .pgb-dimension-editor{width:min(420px,calc(100vw - 32px));box-sizing:border-box;border:1px solid #d8e1d5;border-radius:16px;padding:24px;background:#fff;color:var(--ink);box-shadow:0 20px 65px #0004;position:fixed;inset:0;margin:auto;max-height:calc(100vh - 32px);overflow:auto}
.pgb-dimension-editor:not([open]){display:none}
.pgb-dimension-editor::backdrop{background:#132c2455}
.pgb-dimension-editor h3{margin-top:0}.pgb-dimension-editor input{width:100%;font-size:22px}.pgb-dimension-editor input[readonly]{background:#eef1eb}
@media(max-width:600px){.pgb-step-actions{flex-direction:column-reverse;align-items:stretch}.pgb-step-actions button{width:100%;margin:0!important}}

/* Beslagstudio-only elements; Takstudio layout and typography above are retained. */
.pgb .pgb-stage-price{z-index:4}
.pgb .pgb-stage-price h3{font-size:22px;line-height:1.15;letter-spacing:-.5px;margin:9px 0 10px}
.pgb .pgb-stage-price strong{font-size:40px;line-height:1.12;margin:7px 0 8px;letter-spacing:-1.4px}
.pgb .pgb-stage-price small{font-size:12px;line-height:1.5}
.pgb .pgb-stage-price small b{font-weight:700}
.pgb .pgb-stage-price .pgb-card-note{font-size:10px;line-height:1.45;color:#6c786f!important;margin:12px 0 0}
.pgb .pgb-stage-price .pgb-primary{margin-top:13px}
.pgb .pgb-current-template{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;margin-bottom:14px;border:1px solid #e2e9df;border-radius:14px;background:#f8faf7}
.pgb .pgb-current-template img{width:72px;height:52px;object-fit:contain;border-radius:10px;background:#eef2ed;border:1px solid #e0e6df}
.pgb .pgb-current-template>div{min-width:0}
.pgb .pgb-current-template small{display:block;font-size:9px;letter-spacing:1.2px;color:#819087;font-weight:750;margin-bottom:4px}
.pgb .pgb-current-template strong{display:block;font-size:18px;line-height:1.2;margin-bottom:2px;word-break:break-word}
.pgb .pgb-current-template span{display:block;font-size:11px;color:var(--muted);line-height:1.45;overflow-wrap:anywhere}
.pgb .pgb-current-template button{white-space:nowrap}
.pgb .pgb-current-template-custom{grid-template-columns:minmax(0,1fr) auto}
/* Compact selected-beslag card inside the sticky price box. */
.pgb .pgb-stage-price .pgb-current-template{grid-template-columns:64px minmax(0,1fr);gap:10px;padding:12px 12px 10px}
.pgb .pgb-stage-price .pgb-current-template img{width:64px;height:48px}
.pgb .pgb-stage-price .pgb-current-template small{font-size:9px;line-height:1.35;letter-spacing:1.1px;margin:0 0 4px;color:#819087}
.pgb .pgb-stage-price .pgb-current-template strong{font-size:17px!important;line-height:1.18!important;letter-spacing:-.2px!important;margin:0 0 4px!important;font-weight:740!important}
.pgb .pgb-stage-price .pgb-current-template span{font-size:11px;line-height:1.45;margin:0}
.pgb .pgb-stage-price .pgb-current-template button{grid-column:1/-1;width:100%;white-space:normal}
.pgb .pgb-stage-price .pgb-current-template-custom{grid-template-columns:minmax(0,1fr)}
.pgb .pgb-stage-canvaswrap{background:#e9edf0}
.pgb .pgb-diagram{background:#f9fbf8;padding:16px;overflow:hidden}
.pgb .pgb-drawing{height:100%;display:flex;align-items:center;flex-direction:column;justify-content:center}
.pgb .pgb-drawing svg{display:block;width:min(100%,840px);height:calc(100% - 46px);max-height:530px}
.pgb .pgb-drawing [data-svg-measure]{cursor:pointer}
.pgb .pgb-roof-options-top .pgb-custom-card-icon{grid-column:1/-1;display:flex;align-items:center;justify-content:center;background:#edf1ec;height:200px;font-size:110px;color:#3a5e4b;border-radius:12px;margin-bottom:8px}
.pgb .pgb-reference-details{margin:14px 0;border:1px solid #dfe6dd;background:#fff;border-radius:13px;overflow:hidden}
.pgb .pgb-reference-details summary{padding:13px 15px;font-size:13px;cursor:pointer;font-weight:600;background:#f3f6f1}
.pgb .pgb-references{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:15px}
.pgb .pgb-references figure{margin:0;border:1px solid #e6ece4;border-radius:12px;padding:8px}
.pgb .pgb-references img{width:100%;height:205px;object-fit:contain}
.pgb .pgb-references figcaption{font-size:11px;color:var(--muted);margin:5px}
.pgb .pgb-custom-lines{display:flex;flex-direction:column;gap:7px;margin:12px 0}
.pgb .pgb-custom-head,.pgb .pgb-custom-row{display:grid;grid-template-columns:56px minmax(0,1fr) minmax(0,1fr) 44px;align-items:center;gap:8px}
.pgb .pgb-custom-head{font-size:11px;font-weight:700;color:var(--muted)}
.pgb .pgb-custom-row{padding:8px;border:1px solid #e0e7dd;border-radius:11px;background:#fafcf9}
.pgb .pgb-custom-row input{width:100%;min-width:0;border:1px solid #dae2d9;border-radius:8px;background:#fff;padding:10px}
.pgb .pgb-basket-entry{display:grid;grid-template-columns:minmax(0,1fr) 185px auto;align-items:center;gap:16px;padding:14px}
.pgb .pgb-basket-entry strong,.pgb .pgb-basket-entry small{display:block}
.pgb .pgb-basket-entry strong{font-size:14px}.pgb .pgb-basket-entry small{color:var(--muted);font-size:11px;margin-top:5px}
.pgb .pgb-basket-price{text-align:right;font-weight:750;white-space:nowrap;font-size:13px}
.pgb .pgb-basket-price small{font-weight:400}
.pgb .pgb-basket-actions{display:flex;gap:5px;flex-wrap:wrap}
.pgb .pgb-basket-actions button{font-size:11px;padding:8px}
.pgb [data-inquiry-form] textarea[data-contact]{display:block;min-height:95px;width:100%;resize:vertical}
.pgb .pgb-contact-check{display:flex;align-items:flex-start;gap:10px;border:1px solid #dde5dc;padding:13px;border-radius:10px;margin:12px 0}
.pgb .pgb-contact-check input{margin-top:3px;width:18px;height:18px;accent-color:var(--accent)}
.pgb .pgb-contact-check span{flex:1;line-height:1.55;font-size:12px}
.pgb .pgb-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.pgb .pgb-tip{max-width:800px}
.pgb .pgb-roof-summary img[hidden]{display:none}
.pgb .pgb-roof-summary:has(img[hidden]){grid-template-columns:minmax(0,1fr) auto}
.pgb .pgb-view-bottom button[aria-pressed=false]{opacity:.65}
@media(min-width:1181px){.pgb .pgb-stage-price{width:min(320px,33%)}.pgb .pgb-stage-price strong{font-size:35px}}
@media(max-width:900px){.pgb .pgb-basket-entry{grid-template-columns:1fr auto}.pgb .pgb-basket-actions{grid-column:1/-1}.pgb .pgb-custom-card-icon{height:150px}}
@media(max-width:700px){.pgb .pgb-stage-price{width:100%}.pgb .pgb-references{grid-template-columns:1fr}.pgb .pgb-basket-entry{grid-template-columns:1fr}.pgb .pgb-basket-price{text-align:left}.pgb .pgb-custom-head{font-size:9px}.pgb .pgb-custom-head,.pgb .pgb-custom-row{grid-template-columns:36px 1fr 1fr 36px;gap:4px}.pgb .pgb-current-template{grid-template-columns:56px minmax(0,1fr);gap:10px}.pgb .pgb-current-template img{width:56px;height:44px}.pgb .pgb-current-template button{grid-column:1/-1;width:100%}.pgb .pgb-current-template-custom{grid-template-columns:minmax(0,1fr)}}

.pgb .pgb-selected-list{border-top:1px solid #e2e9df;margin-top:10px;padding-top:8px}
.pgb .pgb-selected-list>span{font-size:10px;letter-spacing:.5px;font-weight:750;color:var(--muted)}
.pgb .pgb-selected-list small{display:flex;justify-content:space-between;gap:9px;font-size:11px}

/* v0.4.1: collision-free Takstudio-style dimension marks and popup editor */
.pgb .pgb-measure-layer{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden}
.pgb .pgb-measure-layer[hidden]{display:none!important}
.pgb .pgb-measure-lines{width:100%;height:100%;position:absolute;inset:0;pointer-events:none}
.pgb .pgb-measure-leader{stroke:#547365;stroke-width:1.2;opacity:.65;stroke-dasharray:3 3;pointer-events:none}
.pgb .pgb-measure-badge{position:absolute;transform:translate(-50%,-50%)!important;display:grid;place-items:center;
 width:39px!important;height:39px!important;min-height:39px!important;min-width:39px!important;padding:0!important;
 border:2px solid #cddad3!important;border-radius:50%!important;background:#ffffffee!important;
 color:#305443!important;font-size:14px!important;font-weight:750!important;line-height:1!important;
 box-shadow:0 2px 9px #182d2427;pointer-events:auto;cursor:pointer;touch-action:manipulation;
 /* The generic .pgb button:hover lift must never override the -50% centering.
    Otherwise the label jumps ~20px away as soon as the pointer reaches it. */
 transition:background-color .15s,border-color .15s,box-shadow .15s!important}
.pgb .pgb-measure-badge:hover,.pgb .pgb-measure-badge:focus-visible{border-color:#2e684c!important;background:#e7f2e9!important;outline:2px solid #629879;outline-offset:2px}
.pgb .pgb-quick-editor{position:absolute;box-sizing:border-box;z-index:8;width:260px;max-width:calc(100% - 20px);
 padding:14px 15px;border:1px solid #c6d8cc;border-radius:14px;background:#fffffffc;
 color:#21392e;box-shadow:0 15px 35px #2036283d;pointer-events:auto}
.pgb .pgb-quick-editor[hidden]{display:none!important}
.pgb .pgb-quick-header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:9px}
.pgb .pgb-quick-header strong{font-size:16px}
.pgb .pgb-quick-header button{border:0;background:transparent;font-size:20px;cursor:pointer;padding:1px 4px}
.pgb .pgb-quick-editor label{display:block;font-size:12px;font-weight:600}
.pgb .pgb-quick-editor input{display:block;box-sizing:border-box;width:100%;margin:5px 0 9px;padding:10px;border-radius:9px;
 background:#fff;border:1px solid #bbcfc1;color:#1f3328;font:inherit;font-size:17px}
.pgb .pgb-quick-editor [data-quick-feedback]{display:block;min-height:34px;color:#587061;font-size:11px;line-height:1.45}
.pgb .pgb-quick-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:11px}
.pgb .pgb-quick-actions button{border:1px solid #ccd9cf;border-radius:9px;background:#f1f5f1;color:#284735;padding:8px 10px;cursor:pointer;font-size:12px}
.pgb .pgb-quick-actions button:last-child{background:#2d5342;border-color:#2d5342;color:#fff}
@media(max-width:700px){.pgb .pgb-measure-badge{width:35px!important;height:35px!important;min-width:35px!important;min-height:35px!important}}

/* v0.4.2 – Free-drawing editor, following existing Takstudio panel styling. */
.pgb .pgb-custom-builder{max-width:900px;margin-top:18px}
.pgb .pgb-custom-builder>h4{font-size:16px;margin:0 0 8px;color:#263c30}
.pgb .pgb-custom-shape-choices{display:flex;flex-wrap:wrap;gap:7px;margin:13px 0 12px}
.pgb .pgb-custom-shape-choices button{border:1px solid #d5e0d6;background:#f7faf7;border-radius:10px;color:#294936;font-size:12px;font-weight:650;padding:10px 13px;cursor:pointer}
.pgb .pgb-custom-shape-choices button:hover,.pgb .pgb-custom-shape-choices button:focus-visible{border-color:#438362;background:#edf6ee}
.pgb .pgb-custom-sketch-panel{border:1px solid #d5e2df;border-radius:16px;background:#f7fafb;overflow:hidden;line-height:0}
.pgb .pgb-custom-sketch-panel svg{display:block;width:100%;height:auto;max-height:390px;touch-action:none;user-select:none;cursor:crosshair}
.pgb .pgb-custom-sketch-panel [data-custom-node]{cursor:grab;outline:none}
.pgb .pgb-custom-sketch-panel [data-custom-node]:active{cursor:grabbing}
.pgb .pgb-custom-sketch-panel [data-custom-node]:focus-visible>circle:last-child{stroke:#1e557b;stroke-width:5}
.pgb .pgb-custom-sketch-label{font-family:inherit;font-size:14px;font-weight:700;paint-order:stroke;stroke:#f7fafb;stroke-width:5;stroke-linejoin:round;fill:#284b5f}
.pgb .pgb-custom-sketch-tip{font-size:12px;color:#5f7168;margin:9px 2px 14px;line-height:1.5}
.pgb .pgb-custom-width-warning{margin:10px 0 0;padding:10px 12px;border:1px solid #edc6bc;border-radius:9px;background:#fff5f1;color:#9b3a20;font-size:12px;line-height:1.5}
.pgb .pgb-custom-width-warning[hidden]{display:none!important}
.pgb .pgb-custom-angle-tools{padding:14px 16px;margin:12px 0 17px;border:1px solid #dae6df;border-radius:12px;background:#f7faf8}
.pgb .pgb-custom-angle-tools strong,.pgb .pgb-custom-angle-tools span{display:block;font-size:12px}
.pgb .pgb-custom-angle-tools strong{color:#284b38;margin:0 0 3px}
.pgb .pgb-custom-angle-tools span{color:#617366}
.pgb .pgb-custom-angle-buttons{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.pgb .pgb-custom-angle-buttons button{border:1px solid #d2dfd7;border-radius:9px;padding:8px 11px;background:white;font-size:12px;font-weight:600;color:#294836;cursor:pointer}
.pgb .pgb-custom-angle-buttons button[aria-pressed=true]{background:#2c5942;color:#fff;border-color:#2c5942}
.pgb .pgb-custom-angle-buttons button:hover,.pgb .pgb-custom-angle-buttons button:focus-visible{outline:1px solid #396849}
.pgb .pgb-custom-row-selected{background:#eef6f1;border-color:#a5c8b3}
.pgb .pgb-custom-row button[data-pick-custom]{border:1px solid #d6e1db;border-radius:9px;min-height:36px;background:#fff;color:#294b39;font-size:15px;font-weight:750;cursor:pointer}
.pgb .pgb-custom-row button[data-pick-custom][aria-pressed=true]{background:#285a40;color:#fff;border-color:#285a40}
@media(max-width:600px){.pgb .pgb-custom-shape-choices{gap:6px}.pgb .pgb-custom-shape-choices button{font-size:11px;padding:9px}.pgb .pgb-custom-angle-tools{padding:11px}.pgb .pgb-custom-sketch-label{font-size:15px}}

/* Beslagstudio 0.4.4: standalone product picker before 3D editor. */
.pgb.pgb-selecting .pgb-roof-select{padding:24px;margin-bottom:0}
.pgb.pgb-selecting .pgb-roof-options-top{
  grid-template-columns:repeat(4,minmax(0,1fr));
  max-height:none;
  overflow:visible;
  padding-right:0;
  gap:13px;
}
.pgb.pgb-selecting .pgb-roof-options-top button{
  min-height:245px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-rows:150px auto;
  align-content:stretch;
  padding:9px;
}
.pgb.pgb-selecting .pgb-roof-options-top button img{
  width:100%;height:148px;max-height:148px;
  object-fit:contain;grid-column:1/-1;
  border-radius:10px;background:#eef2eb;margin-bottom:7px;
}
.pgb.pgb-selecting .pgb-roof-options-top .pgb-custom-card-icon{
  height:148px;max-height:148px;font-size:80px;grid-column:1/-1;
  background:#edf1ec;margin-bottom:7px;
}
.pgb .pgb-catalog-tools{display:flex;gap:14px;align-items:end;justify-content:space-between;flex-wrap:wrap;margin:0 0 18px}
.pgb .pgb-catalog-search{min-width:220px;width:min(360px,100%);display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:650;color:#496052}
.pgb .pgb-catalog-search input{background:#fff;width:100%;padding:11px 13px;border:1px solid #d8e2d6;border-radius:11px;color:#263e31}
.pgb .pgb-catalog-count{white-space:nowrap;font-size:12px;color:#61766a;padding-bottom:11px}
.pgb.pgb-selecting .pgb-roof-options-top button[hidden]{display:none!important}
@media(max-width:1180px){
  .pgb.pgb-selecting .pgb-roof-options-top{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:850px){
  .pgb.pgb-selecting .pgb-roof-options-top{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
  .pgb.pgb-selecting .pgb-roof-options-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .pgb.pgb-selecting .pgb-roof-select{padding:14px}
  .pgb.pgb-selecting .pgb-roof-options-top button{min-height:185px;grid-template-rows:108px auto;padding:7px}
  .pgb.pgb-selecting .pgb-roof-options-top button img,
  .pgb.pgb-selecting .pgb-roof-options-top .pgb-custom-card-icon{height:107px;max-height:107px;font-size:60px}
  .pgb.pgb-selecting .pgb-roof-card-copy strong{font-size:12px}
  .pgb.pgb-selecting .pgb-roof-card-copy small{font-size:9px}
  .pgb.pgb-selecting .pgb-roof-card-copy em{display:none}
  .pgb.pgb-selecting .pgb-roof-select-head h3{font-size:25px}
  .pgb .pgb-catalog-search{min-width:0;width:100%}
  .pgb .pgb-catalog-count{padding-bottom:0}
}

/* v0.5: symmetrical custom profile building controls */
.pgb .pgb-custom-add-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 8px}
.pgb .pgb-custom-add-actions button{background:#f5f9f6;border:1px solid #cad8cf;color:#28543d;font-weight:650}
.pgb .pgb-custom-add-actions button:disabled{opacity:.5;cursor:not-allowed}
.pgb [data-custom-prepend]{touch-action:none;cursor:pointer}

/* Adjustable bend angles summarized near the actual model */
.pgb .pgb-angle-readout{display:flex;align-items:center;flex-wrap:wrap;gap:7px;padding:0 20px 10px}
.pgb .pgb-angle-readout span{font-size:11px;color:#486051;border:1px solid #d5dfd5;background:#f5f8f4;border-radius:99px;padding:4px 9px}
.pgb .pgb-angle-readout b{font-weight:750;color:#274737}

/* v0.6.5: independent price column, no overlapping 3D controls. */
.pgb .pgb-stage-canvaswrap{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(285px,320px);
  align-items:start;
  gap:16px;
  padding:14px 18px 18px;
}
.pgb .pgb-stage-canvaswrap > canvas,
.pgb .pgb-stage-canvaswrap > .pgb-diagram{
  grid-column:1;
  grid-row:1;
  min-width:0;
  width:100%;
  max-width:100%;
}
.pgb .pgb-stage-canvaswrap > .pgb-stage-price{
  position:relative;
  inset:auto;
  grid-column:2;
  grid-row:1;
  width:100%;
  min-width:0;
  margin:0;
  padding:16px;
  box-shadow:0 8px 24px rgba(25,40,31,.07);
  background:#fff;
  max-height:none;
  overflow:visible;
  align-self:start;
}
.pgb .pgb-stage-price .pgb-selected-list{margin:14px 0 0}
.pgb .pgb-stage-price .pgb-selected-list small{display:flex;justify-content:space-between;gap:12px;overflow-wrap:anywhere}
.pgb .pgb-stage-price .pgb-piece-price{font-size:32px;letter-spacing:-.9px;line-height:1.18}
.pgb .pgb-stage-price .pgb-current-template{margin-bottom:16px}
.pgb .pgb-price-summary{
  display:grid;
  gap:10px;
  margin:18px 0 12px;
  padding:17px 20px;
  border:1px solid #dbe4dc;
  border-radius:14px;
  background:#f7faf6;
}
.pgb .pgb-price-summary>div{display:flex;justify-content:space-between;align-items:baseline;gap:14px;font-size:13px}
.pgb .pgb-price-summary>div>span{color:#65756a}
.pgb .pgb-price-summary>div>b{white-space:nowrap;color:#283f33;font-weight:650;font-variant-numeric:tabular-nums}
.pgb .pgb-price-summary .pgb-price-summary-total{
  padding-top:11px;
  border-top:1px solid #d6e1d7;
  font-size:16px;
}
.pgb .pgb-price-summary .pgb-price-summary-total>span{color:#223f31;font-weight:720}
.pgb .pgb-price-summary .pgb-price-summary-total strong{
  margin:0;
  line-height:1.25;
  letter-spacing:0;
  font-size:23px;
  color:#223f31;
  font-weight:780;
  white-space:nowrap;
}
.pgb .pgb-stage-price .pgb-price-summary-compact{margin:12px 0 4px;padding:12px;border-radius:11px;gap:7px}
.pgb .pgb-stage-price .pgb-price-summary-compact>div{font-size:11px}
.pgb .pgb-stage-price .pgb-price-summary-compact .pgb-price-summary-total{font-size:12px;padding-top:8px}
.pgb .pgb-stage-price .pgb-price-summary-compact .pgb-price-summary-total strong{
  display:inline;
  font-size:15px!important;
  line-height:1.3!important;
  letter-spacing:0!important;
  margin:0!important;
}
.pgb .pgb-price-excluded,.pgb .pgb-price-unavailable{font-size:12px;color:#6b786d;margin:10px 0 12px;line-height:1.5}
.pgb .pgb-stage-price .pgb-card-note{font-size:11px;line-height:1.45;margin:10px 0 0}
.pgb .pgb-stage-price .pgb-primary{margin-top:12px;width:100%}
@media(max-width:1080px){
  .pgb .pgb-stage-canvaswrap{grid-template-columns:minmax(0,1fr);gap:14px}
  .pgb .pgb-stage-canvaswrap > .pgb-stage-price{
    grid-column:1;
    grid-row:2;
    width:100%;
    margin:0;
    max-width:none;
  }
}
@media(max-width:700px){
  .pgb .pgb-stage-canvaswrap{padding:10px;gap:12px}
  .pgb .pgb-price-summary{padding:14px;gap:8px}
  .pgb .pgb-price-summary .pgb-price-summary-total strong{font-size:19px}
}
/* v0.6.6: clear customer-facing ex-VAT summary and packaging line. */
.pgb .pgb-price-summary-subtotal{
  padding-top:10px;
  border-top:1px solid #d6e1d7;
  font-weight:700;
}
.pgb .pgb-price-summary-subtotal span{color:#253e30!important}
.pgb .pgb-price-shipping{
  font-size:12px;
  color:#5b6b60;
  margin:6px 0 13px;
  line-height:1.5;
}
.pgb .pgb-basket-price{font-variant-numeric:tabular-nums}
.pgb .pgb-basket-price small{display:block;font-weight:400;margin-top:4px}
.pgb .pgb-price-summary b,.pgb .pgb-price-summary strong{font-variant-numeric:tabular-nums}
@media(max-width:700px){
  .pgb .pgb-price-summary > div{align-items:flex-start;gap:8px}
  .pgb .pgb-price-summary > div > b,.pgb .pgb-price-summary > div > strong{flex-shrink:0}
}

/* v0.6.7: stay inside actual content width, not just the screen viewport. */
.pgb .pgb-stage,.pgb .pgb-stage-canvaswrap{min-width:0;max-width:100%;box-sizing:border-box;}
.pgb .pgb-stage-canvaswrap > canvas,.pgb .pgb-stage-canvaswrap > .pgb-diagram,
.pgb .pgb-stage-canvaswrap > .pgb-stage-price{min-width:0;max-width:100%;box-sizing:border-box;}
.pgb .pgb-stage-canvaswrap.pgb-narrow-stage{grid-template-columns:minmax(0,1fr)!important;gap:12px!important;}
.pgb .pgb-stage-canvaswrap.pgb-narrow-stage > canvas,
.pgb .pgb-stage-canvaswrap.pgb-narrow-stage > .pgb-diagram{grid-column:1!important;grid-row:1!important;}
.pgb .pgb-stage-canvaswrap.pgb-narrow-stage > .pgb-stage-price{
  grid-column:1!important;grid-row:2!important;position:relative!important;inset:auto!important;
  width:100%!important;max-width:none!important;margin:0!important;box-sizing:border-box;
}
.pgb .pgb-stage-canvaswrap > [hidden],.pgb .pgb-browser-notice[hidden]{display:none!important;}
.pgb .pgb-kb-status{
  padding:11px 14px;margin:14px 0 12px;border-radius:11px;
  background:#f1f6f2;color:#365849;border:1px solid #d6e2d7;
  font-weight:650;font-size:12px;line-height:1.5;
}
.pgb .pgb-kb-status.pgb-kb-over{
  color:#922d2c;background:#fff0ee;border-color:#e9b7b1;
}
.pgb .pgb-browser-notice{
  display:flex;gap:18px;align-items:center;justify-content:space-between;
  margin:4px 18px 12px;padding:15px 18px;
  border:1px solid #e7c9a6;border-radius:14px;
  background:#fff8ed;color:#694720;box-sizing:border-box;
}
.pgb .pgb-browser-notice strong{display:block;font-size:15px;margin-bottom:4px;color:#643b20;}
.pgb .pgb-browser-notice p{font-size:12px;line-height:1.55;margin:0;max-width:700px;color:#775436;}
.pgb .pgb-browser-notice-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px;flex-shrink:0;}
.pgb .pgb-browser-notice-actions a,.pgb .pgb-browser-notice-actions button{
  padding:9px 12px;border-radius:9px;font-size:12px;font-weight:600;text-decoration:none;
  background:#fff;color:#315a46;border:1px solid #d6e1d6;white-space:normal;
}
.pgb .pgb-browser-notice-actions a{background:#2d5943;color:white;}
@media(max-width:1100px){
  .pgb .pgb-browser-notice{flex-direction:column;align-items:stretch;}
  .pgb .pgb-browser-notice-actions{justify-content:flex-start;}
}
@media(max-width:580px){
  .pgb .pgb-browser-notice-actions{flex-direction:column;align-items:stretch;}
  .pgb .pgb-browser-notice-actions a,.pgb .pgb-browser-notice-actions button{text-align:center;}
}

/* v0.6.8 - alternative drawing upload and streamlined custom mode */
.pgb .pgb-drawing-modes{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 20px}
.pgb .pgb-drawing-modes button{border:1px solid #cddbd2;border-radius:11px;background:#fff;color:#284b39;padding:12px 16px;font-weight:650;min-height:42px;cursor:pointer}
.pgb .pgb-drawing-modes button[aria-pressed="true"]{background:#2d5943;color:#fff;border-color:#2d5943}
.pgb .pgb-drawing-modes button:hover{border-color:#2d5943}
.pgb .pgb-upload-explain,.pgb .pgb-upload-form{background:#f6f9f7;border:1px solid #d9e5dc;border-radius:16px;padding:20px;max-width:900px;margin:14px 0 20px}
.pgb .pgb-upload-explain strong,.pgb .pgb-upload-form h4{display:block;font-size:18px;font-weight:700;color:#2b4338;margin:0 0 10px}
.pgb .pgb-upload-explain p,.pgb .pgb-upload-form p{font-size:13px;line-height:1.65;color:#54685a;margin:8px 0}
.pgb .pgb-upload-form input[type="file"]{display:block;width:100%;padding:14px;background:#fff;border:1px dashed #94b2a0;border-radius:11px;font-size:13px;min-height:50px;box-sizing:border-box}
.pgb .pgb-upload-form .pgb-upload-status{margin:10px 0 16px;font-size:12px;color:#345341;overflow-wrap:anywhere}
.pgb .pgb-upload-form input[data-attachment-quantity]{width:100%;max-width:240px;min-height:45px;box-sizing:border-box;padding:9px 12px;border:1px solid #cadbd0;border-radius:9px;background:#fff}
.pgb .pgb-attachment-mode .pgb-stage{display:none!important}
.pgb [data-tab][hidden]{display:none!important}
.pgb .pgb-custom-sketch-panel [data-custom-append],.pgb .pgb-custom-sketch-panel [data-custom-prepend]{cursor:pointer;outline:none}
.pgb .pgb-custom-sketch-panel [data-custom-append]:focus-visible circle,.pgb .pgb-custom-sketch-panel [data-custom-prepend]:focus-visible circle{stroke-width:4;stroke:#184f36}
@media(max-width:700px){.pgb .pgb-drawing-modes{flex-direction:column}.pgb .pgb-drawing-modes button{width:100%}.pgb .pgb-upload-explain,.pgb .pgb-upload-form{padding:14px}}

/* v0.6.9: quantity editing in preview and each order line, plus production notices. */
.pgb .pgb-quantity-control{display:flex;align-items:center;gap:10px;min-width:0;line-height:1.35;color:#395447;font-size:12px;font-weight:650}
.pgb .pgb-quantity-control>span{display:block;min-width:0}
.pgb .pgb-quantity-control input[type=number]{box-sizing:border-box;width:78px;min-width:68px;max-width:100%;height:42px;border:1px solid #cbd8cf;border-radius:10px;background:#fff;color:#1b3326;padding:7px 8px;font-size:15px;font-weight:700;text-align:center;font-variant-numeric:tabular-nums}
.pgb .pgb-quantity-control input:focus-visible{outline:2px solid #35674f;outline-offset:2px}
.pgb .pgb-stage-price .pgb-quantity-control-card{margin:14px 0 4px;padding:12px 0 2px;border-top:1px solid #e0e7df;justify-content:space-between}
.pgb .pgb-basket-entry{grid-template-columns:minmax(0,1fr) 95px minmax(140px,175px) auto;gap:14px}
.pgb .pgb-basket-entry .pgb-basket-description{min-width:0;overflow-wrap:anywhere}
.pgb .pgb-basket-entry .pgb-quantity-control-row{flex-direction:column;align-items:flex-start;gap:5px}
.pgb .pgb-basket-entry .pgb-basket-price{min-width:0}
.pgb .pgb-order-information{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0 18px}
.pgb .pgb-order-information>div{padding:14px 16px;border:1px solid #dde6dd;border-radius:12px;background:#fbfcfa;min-width:0}
.pgb .pgb-order-information strong{display:block;font-size:13px;font-weight:750;color:#203e30;margin:0 0 6px}
.pgb .pgb-order-information p{font-size:12px;color:#5b685f;line-height:1.6;margin:0}
@media(max-width:1050px){.pgb .pgb-basket-entry{grid-template-columns:minmax(0,1fr) 85px minmax(140px,1fr)}.pgb .pgb-basket-actions{grid-column:1/-1;justify-content:flex-end}}
@media(max-width:680px){.pgb .pgb-basket-entry{grid-template-columns:minmax(0,1fr) minmax(110px,135px);row-gap:14px}.pgb .pgb-basket-description{grid-column:1/-1}.pgb .pgb-basket-actions{grid-column:1/-1}.pgb .pgb-order-information{grid-template-columns:1fr}.pgb .pgb-basket-price{text-align:right}}


/* v0.6.11: Ståndskiva with optional upper fold (existing straight version remains default). */
.pgb .pgb-stand-top{margin:18px 0 8px;padding:18px;border:1px solid #dbe6dc;border-radius:14px;background:#f6f9f5}
.pgb .pgb-stand-top>strong{font-size:14px;font-weight:750;display:block;margin-bottom:4px}
.pgb .pgb-stand-top>p{font-size:12px;line-height:1.5;color:var(--muted);margin:0 0 12px}
.pgb .pgb-stand-top-actions{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:12px}
.pgb .pgb-stand-top-actions button{font-size:12px;min-height:39px}
.pgb .pgb-stand-top-actions button[aria-pressed=true]{color:#fff;background:var(--accent);border-color:var(--accent)}
.pgb .pgb-stand-top-actions button[aria-pressed=true]:hover{background:#244533;color:#fff;transform:none}
.pgb .pgb-stand-top .pgb-fields{margin-top:4px}
.pgb .pgb-stand-top-help{margin-top:10px!important;margin-bottom:0!important}
@media(max-width:600px){.pgb .pgb-stand-top{padding:12px}.pgb .pgb-stand-top-actions button{flex:1 1 160px}}

/* v0.7.2: concise angle bounds and customer quote contact/delivery fields. */
.pgb .pgb-angle-limit{display:block;font-size:11px;line-height:1.5;margin:5px 0 0;color:var(--muted)}
.pgb .pgb-angle-invalid .pgb-input-unit{border-color:#b32632;background:#fff7f7}
.pgb .pgb-angle-invalid .pgb-angle-limit{color:#a02330}
.pgb .pgb-quote-section{display:block;min-width:0;border:1px solid var(--line);border-radius:14px;padding:16px 18px 8px;margin:16px 0 22px;background:#fff}
.pgb .pgb-quote-section legend{font-family:inherit;font-size:16px;line-height:1.4;font-weight:700;color:var(--ink);padding:0 7px;width:auto;float:none;border:0;margin:0}
.pgb .pgb-quote-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
.pgb .pgb-quote-fields .pgb-quote-full{grid-column:1/-1}
.pgb .pgb-quote-section .pgb-help{max-width:none}
.pgb .pgb-contact-check a{text-decoration:underline;color:var(--accent)}
.pgb .pgb-personal-consent{background:#f8faf7}
@media(max-width:600px){.pgb .pgb-quote-fields{grid-template-columns:1fr}.pgb .pgb-quote-section{padding:12px 12px 4px}.pgb .pgb-quote-section legend{font-size:15px}}

.pgb [data-inquiry-form] .pgb-fields.pgb-quote-fields{grid-template-columns:repeat(2,minmax(0,1fr))!important}
@media(max-width:600px){.pgb [data-inquiry-form] .pgb-fields.pgb-quote-fields{grid-template-columns:1fr!important}}

/* 0.7.3: keep the cart action beside the tabs, not inside the tablist. */
.pgb .pgb-controls nav .pgb-step-tabs{display:contents}
.pgb .pgb-controls nav .pgb-step-cart{
  color:var(--accent);font-weight:650;background:#edf3ee;
  box-shadow:inset 0 0 0 1px #ccdbcf;min-width:0;
}
.pgb .pgb-controls nav .pgb-step-cart:hover:not(:disabled){background:#e1ece4}
.pgb .pgb-controls nav .pgb-step-cart:disabled{opacity:.55;cursor:not-allowed;transform:none}
@media(max-width:700px){
  .pgb .pgb-controls nav .pgb-step-cart{white-space:normal;overflow-wrap:normal}
}

/* v0.7.4: Woo cart rows and manual quotations are separate lists. */
.pgb .pgb-summary-section{margin:18px 0 24px;padding:18px 0 0;border-top:1px solid #dce5de;min-width:0}
.pgb .pgb-summary-section h4{font-size:19px;line-height:1.3;margin:0 0 8px}
.pgb .pgb-summary-section>p,.pgb .pgb-summary-section-heading p{font-size:12px;color:var(--muted);line-height:1.6}
.pgb .pgb-summary-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.pgb .pgb-cart-link{display:inline-block;padding:10px 14px;border:1px solid #d5dfd8;border-radius:10px;background:#fff;color:var(--accent);text-decoration:none;font-size:12px;white-space:nowrap}
.pgb .pgb-cart-link:hover{background:#f1f6f2}
.pgb .pgb-cart-sync-message{padding:12px;border:1px solid #e7cfac;background:#fff9ed;border-radius:10px;font-size:12px;margin:12px 0}
.pgb .pgb-cart-sync-message button{margin-left:8px;font-size:12px;padding:6px 10px}
.pgb .pgb-cart-drawing-link{display:inline-block;font-size:11px;margin-top:5px;color:var(--accent);text-decoration:underline}
.pgb .pgb-cart-row-error{font-size:12px;color:#9b2630;margin-top:8px}
.pgb .pgb-selected-list .pgb-selection-link{display:block;border:0;padding:6px 0 0;background:none;box-shadow:none;font-size:11px;color:var(--accent);text-decoration:underline;transform:none}
.pgb [data-cart-row][aria-busy="true"]{opacity:.7}
.pgb [data-cart-quantity]:disabled{cursor:wait}
.pgb .pgb-summary-section .pgb-basket-description{min-width:0;overflow-wrap:anywhere}
@media(max-width:550px){.pgb .pgb-summary-section-heading{display:block}.pgb .pgb-cart-link{margin-top:4px}.pgb .pgb-summary-section{padding-top:15px}}

/* v0.7.5: one clear next step for each selection, without a misleading quote total. */
.pgb .pgb-combined-intro,.pgb .pgb-quote-review,.pgb .pgb-quote-receipt{border:1px solid var(--line);border-radius:16px;background:#f5f9f5;padding:20px;margin:14px 0 22px;min-width:0}
.pgb .pgb-combined-intro>strong,.pgb .pgb-quote-review>strong{display:block;font-size:17px;line-height:1.4;margin-bottom:8px;color:var(--ink)}
.pgb .pgb-combined-intro p,.pgb .pgb-combined-next p,.pgb .pgb-quote-review p,.pgb .pgb-quote-receipt p{font-size:13px;line-height:1.65;max-width:90ch}
.pgb .pgb-combined-intro p:last-child{margin-bottom:0}
.pgb .pgb-combined-next{margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}
.pgb .pgb-combined-next h4{font-size:18px;margin:0 0 10px}
.pgb .pgb-combined-next>.pgb-primary{margin-top:16px;width:100%}
.pgb a.pgb-quote-primary-link{background:var(--accent);color:white;border:0;border-radius:12px;padding:15px 18px;display:flex;justify-content:space-between;text-decoration:none;font-size:14px;line-height:1.4;gap:15px}
.pgb a.pgb-quote-primary-link:hover{background:#365a48;color:white}
.pgb .pgb-quote-secondary{display:block;margin:15px 0 8px;color:var(--accent);font-size:13px;text-align:center;text-decoration:underline;text-underline-offset:3px}
.pgb .pgb-selection-more{display:flex;justify-content:flex-end;margin-top:18px}
.pgb .pgb-quote-review ul{list-style:none;padding:0;margin:14px 0}
.pgb .pgb-quote-review li{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:13px 0;margin:0;border-top:1px solid #dfe7e0}
.pgb .pgb-quote-review li>div{min-width:0}
.pgb .pgb-quote-review li strong{font-size:14px;display:block;line-height:1.4}
.pgb .pgb-quote-review li small{font-size:12px;display:block;color:var(--muted);line-height:1.6;margin-top:5px;overflow-wrap:anywhere}
.pgb .pgb-quote-review li>b{font-size:13px;white-space:nowrap;font-weight:650}
.pgb .pgb-quote-review-warning{background:#fff7e9;border:1px solid #e8cd9e;border-radius:12px;padding:15px;margin:14px 0;color:#614a2d}
.pgb .pgb-quote-review-warning p{margin:0 0 12px;color:inherit}
.pgb .pgb-quote-price-note,.pgb .pgb-attachment-summary{padding:14px 16px;background:#f7faf7;border:1px solid #dfe7e0;border-radius:12px;margin:12px 0;font-size:13px;line-height:1.6}
.pgb .pgb-quote-receipt h3{font-size:24px;line-height:1.3;margin-top:10px}
.pgb .pgb-price-summary-total>span{max-width:70%;line-height:1.5}
@media(max-width:600px){
 .pgb .pgb-combined-intro,.pgb .pgb-quote-review,.pgb .pgb-quote-receipt{padding:15px}
 .pgb .pgb-combined-intro>strong,.pgb .pgb-quote-review>strong{font-size:16px}
 .pgb .pgb-quote-review li{gap:12px}
 .pgb .pgb-price-summary-total{align-items:flex-end;gap:12px}
 .pgb .pgb-price-summary-total>span{max-width:57%;font-size:13px}
 .pgb .pgb-selection-more button{width:100%}
}

/* Theme link colours must not override the primary cart button. */
.pgb.pgb-root a.pgb-primary.pgb-quote-primary-link,
.pgb.pgb-root a.pgb-primary.pgb-quote-primary-link:link,
.pgb.pgb-root a.pgb-primary.pgb-quote-primary-link:visited,
.pgb.pgb-root a.pgb-primary.pgb-quote-primary-link:hover,
.pgb.pgb-root a.pgb-primary.pgb-quote-primary-link:focus,
.pgb.pgb-root a.pgb-primary.pgb-quote-primary-link:active,
.pgb.pgb-root a.pgb-primary.pgb-quote-primary-link span{color:#fff!important;}

