/* Lema3D Etap 5 — zakres wyłącznie mount pointu konfiguratora. */
.l3d-native-product .l3d-product-form{display:none!important}
#lema3d-configurator{--ink:#171917;--muted:#6c7069;--line:#dedfd8;--error:#b42318;--success:#287044;display:block;margin-top:28px;color:var(--ink);font-family:Inter,Arial,sans-serif;font-synthesis:none}
#lema3d-configurator *{box-sizing:border-box}
#lema3d-configurator [hidden]{display:none!important}
#lema3d-configurator button,#lema3d-configurator input,#lema3d-configurator select,#lema3d-configurator textarea{font:inherit}
#lema3d-configurator button,#lema3d-configurator select,#lema3d-configurator label[for],#lema3d-configurator input[type=checkbox]{cursor:pointer}
#lema3d-configurator button:disabled{cursor:not-allowed}
#lema3d-configurator :focus-visible{outline:3px solid #596f00;outline-offset:3px}
#lema3d-configurator .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#lema3d-configurator #config-form{border-top:1px solid var(--ink)}
#lema3d-configurator .form-section{padding:26px 0 28px;border-bottom:1px solid var(--line)}
#lema3d-configurator .section-heading{display:flex;gap:17px;margin-bottom:22px}
#lema3d-configurator .section-heading>span{padding-top:3px;color:#979b92;font-size:10px}
#lema3d-configurator .section-heading h2{margin:0;font-size:18px;font-weight:550;letter-spacing:-.025em}
#lema3d-configurator .section-heading p{margin:6px 0 0;color:var(--muted);font-size:11px;line-height:1.5}
#lema3d-configurator .upload-zone{position:relative;padding:29px 18px 20px;border:1px dashed #aeb2a7;background:#fbfbf8;text-align:center;transition:background .2s,border-color .2s}
#lema3d-configurator .upload-zone.dragging{border-color:#5b6c1e;background:#f2f7df}
#lema3d-configurator .upload-zone input{position:absolute;width:1px;height:1px;opacity:0}
#lema3d-configurator .upload-zone:focus-within{outline:3px solid #596f00;outline-offset:3px}
#lema3d-configurator .upload-label{display:flex;align-items:center;flex-direction:column;gap:7px}
#lema3d-configurator .upload-label strong{font-size:12px}
#lema3d-configurator .upload-label span{color:var(--muted);font-size:11px}
#lema3d-configurator .upload-zone>p{margin:18px 0 0;color:var(--muted);font-size:9px;line-height:1.6}
#lema3d-configurator .check-row{display:flex;align-items:flex-start;gap:10px;margin-top:17px;font-size:11px;line-height:1.5}
#lema3d-configurator .check-row input{width:16px;height:16px;margin:0;accent-color:var(--ink);flex:none}
#lema3d-configurator .file-list{list-style:none;margin:12px 0 0;padding:0}
#lema3d-configurator .file-list li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);font-size:11px}
#lema3d-configurator .file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#lema3d-configurator .file-size{color:var(--muted);font-size:10px}
#lema3d-configurator .remove-file{min-width:38px;min-height:38px;border:0;background:transparent;font-size:18px}
#lema3d-configurator .field{margin-top:18px}
#lema3d-configurator .field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
#lema3d-configurator .field-grid .field{margin-top:0}
#lema3d-configurator .field label{display:block;margin-bottom:8px;font-size:10px;font-weight:600}
#lema3d-configurator .field input,#lema3d-configurator .field select,#lema3d-configurator .field textarea{width:100%;min-height:47px;padding:12px 13px;border:1px solid #c6c9bf;border-radius:0;background:#fff;color:var(--ink);font-size:12px}
#lema3d-configurator .field textarea{resize:vertical;line-height:1.6}
#lema3d-configurator .field input:disabled,#lema3d-configurator .field select:disabled{cursor:not-allowed;background:#eeeeea;color:#74786f}
#lema3d-configurator .field-help{margin:7px 0 0;color:var(--muted);font-size:10px;line-height:1.5}
#lema3d-configurator .field-error{min-height:0;margin:7px 0 0;color:var(--error);font-size:10px;line-height:1.5}
#lema3d-configurator .field-error:empty{display:none}
#lema3d-configurator .compact-field{max-width:220px;margin-top:0}
#lema3d-configurator .quantity-control{display:grid;grid-template-columns:48px minmax(80px,130px) 48px;max-width:226px;border:1px solid #c6c9bf;background:#fff}
#lema3d-configurator .quantity-control button{min-height:46px;border:0;background:#fff;font-size:20px}
#lema3d-configurator .quantity-control input{width:100%;min-width:0;border:0;border-right:1px solid var(--line);border-left:1px solid var(--line);border-radius:0;text-align:center;appearance:textfield}
#lema3d-configurator .quantity-control input::-webkit-inner-spin-button,#lema3d-configurator .quantity-control input::-webkit-outer-spin-button{margin:0;appearance:none}
#lema3d-configurator .text-button{min-height:38px;margin-top:12px;padding:0;border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--muted);font-size:10px}
#lema3d-configurator .character-count{margin-top:6px;color:var(--muted);font-size:9px;text-align:right}
#lema3d-configurator .summary-card{margin-top:32px;padding:28px;border:1px solid var(--ink);background:#fff}
#lema3d-configurator .summary-top{display:flex;justify-content:space-between;gap:20px;align-items:start}
#lema3d-configurator .summary-top h2{margin:0;font-size:25px;font-weight:500;letter-spacing:-.04em}
#lema3d-configurator .eyebrow{margin:0 0 10px;color:var(--muted);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
#lema3d-configurator .status-badge{display:inline-flex;padding:7px 9px;background:#f0f1eb;color:#5f645b;font-size:9px;line-height:1.3;text-align:center}
#lema3d-configurator .status-badge.priced{background:#e9f4df;color:var(--success)}
#lema3d-configurator .status-badge.quote{background:#fff2d8;color:#885d0b}
#lema3d-configurator .summary-parameters{display:grid;grid-template-columns:1fr 1fr;gap:13px 26px;margin:25px 0;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
#lema3d-configurator .summary-parameters div{min-width:0}
#lema3d-configurator .summary-parameters dt{margin-bottom:4px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.05em}
#lema3d-configurator .summary-parameters dd{margin:0;font-size:11px;line-height:1.45;overflow-wrap:anywhere}
#lema3d-configurator .price-area{display:grid;grid-template-columns:1fr 1fr;gap:24px}
#lema3d-configurator .price-area div>span{display:block;margin-bottom:7px;color:var(--muted);font-size:10px}
#lema3d-configurator .price-area strong{font-size:27px;font-weight:500;letter-spacing:-.04em}
#lema3d-configurator .quote-reason{padding:13px 15px;background:#fff5e3;color:#745110;font-size:11px;line-height:1.6}
#lema3d-configurator .price-disclaimer{margin:17px 0 0;color:var(--muted);font-size:9px;line-height:1.5}
#lema3d-configurator .summary-actions{display:grid;gap:10px;margin-top:22px}
#lema3d-configurator .primary-button,#lema3d-configurator .secondary-button{width:100%;min-height:50px;padding:13px 18px;border:1px solid var(--ink);font-size:11px;font-weight:600;letter-spacing:.02em}
#lema3d-configurator .primary-button{display:flex;justify-content:space-between;align-items:center;background:var(--ink);color:#fff}
#lema3d-configurator .primary-button:hover:not(:disabled){background:#35382f}
#lema3d-configurator .primary-button:disabled{border-color:#d4d6ce;background:#e2e3dd;color:#92968c}
#lema3d-configurator .secondary-button{background:#fff;color:var(--ink)}
#lema3d-configurator .secondary-button:hover{background:#f1f2ec}
#lema3d-configurator .operation-status{min-height:1.4em;margin:13px 0 0;color:var(--muted);font-size:10px;line-height:1.6}
#lema3d-configurator .operation-status.success{color:var(--success)}
#lema3d-configurator .operation-status.error{color:var(--error)}
#lema3d-configurator dialog{width:min(620px,calc(100% - 32px));max-height:90vh;padding:32px;border:1px solid var(--ink);background:#fff;color:var(--ink)}
#lema3d-configurator dialog::backdrop{background:rgba(19,21,17,.55)}
#lema3d-configurator .dialog-heading{display:flex;justify-content:space-between;gap:20px}
#lema3d-configurator .dialog-heading h2{margin:0;font-size:26px;font-weight:500;line-height:1.15;letter-spacing:-.04em}
#lema3d-configurator .icon-button{width:40px;height:40px;border:0;background:transparent;font-size:27px}
#lema3d-configurator .consent-row{margin:22px 0}
#lema3d-configurator #quote-submit{margin-top:20px}
@media(max-width:1199px){#lema3d-configurator .summary-card{padding:24px}}
@media(max-width:767px){#lema3d-configurator{margin-top:0}#lema3d-configurator .form-section{padding:24px 0}#lema3d-configurator .summary-card{margin-top:28px;padding:23px 20px}#lema3d-configurator .summary-top{flex-direction:column;gap:12px}#lema3d-configurator .price-area strong{font-size:24px}#lema3d-configurator dialog{padding:24px 20px}}
@media(max-width:400px){#lema3d-configurator .field-grid{grid-template-columns:1fr}#lema3d-configurator .price-area{grid-template-columns:1fr}#lema3d-configurator .summary-parameters{grid-template-columns:1fr}#lema3d-configurator .file-list li{grid-template-columns:minmax(0,1fr) auto}#lema3d-configurator .file-size{display:none}}
@media(prefers-reduced-motion:reduce){#lema3d-configurator .upload-zone{transition:none}}
