/* Calculator, checkout and customer profile: upload, models, quantity/price, finishes, summary and contact forms.
   Screen composition owned by this area. Tokens and shared components come from design.css;
   no !important, no #workspace ID selectors, no reserved min-heights. Layout follows the width the
   component actually gets (container queries), not the viewport, so the two-column 1024 case is narrow. */

/* Page frame */
[data-calculator-root]{container:calc-root/inline-size;min-width:0}
[data-calculator-root] [data-visual-section]{scroll-margin-top:72px}
[data-calculator-root] .customer-calculator{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--space-5);align-items:start;margin:0}
[data-calculator-root] .customer-calculator-main{min-width:0}

/* Draft context: one slim line (also shown above checkout) */
.product-draft-context{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;min-height:40px;margin:0 0 var(--space-3);padding:4px 8px 4px 12px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface)}
.product-draft-context>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;flex:1 1 260px;min-width:0}
.product-draft-context strong{font-size:var(--text-md);font-weight:650;color:var(--ink)}
.product-draft-context>div>span{font-size:var(--text-sm);color:var(--muted)}
.product-draft-context>.btn{min-height:var(--control-height-sm);padding:4px 10px;color:var(--ink-2)}
.product-draft-context>.text-link{padding:4px;font-size:var(--text-sm)}
.product-draft-context~.notice{margin:0 0 var(--space-3)}

/* Three real stages; compact screens retain each label instead of unexplained numbered dots. */
[data-calculator-root] .calculator-process{position:relative;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin:0 0 var(--space-4)}
[data-calculator-root] .calculator-process::before{content:"";position:absolute;left:var(--space-4);right:var(--space-4);top:50%;height:1px;background:#d3deea}
[data-calculator-root] .customer-flow-step{position:relative;display:inline-flex;align-items:center;gap:8px;min-width:0;min-height:36px;padding:4px 12px 4px 6px;border:1px solid transparent;border-radius:999px;background:var(--background);color:var(--muted);font:inherit;font-size:var(--text-sm);font-weight:600;line-height:1.3;white-space:nowrap;text-decoration:none;cursor:pointer}
[data-calculator-root] .customer-flow-step>span{display:inline-grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:#e3eaf2;color:var(--ink-2);font-size:var(--text-xs);font-weight:700;font-variant-numeric:tabular-nums}
[data-calculator-root] .customer-flow-step>b{font-weight:600}
[data-calculator-root] .customer-flow-step:hover{border-color:var(--line);background:var(--surface);color:var(--ink)}
[data-calculator-root] .customer-flow-step.current{border-color:#c9d9f7;background:var(--accent-soft);color:var(--accent)}
[data-calculator-root] .customer-flow-step.current>span{background:var(--accent);color:#fff}
[data-calculator-root] [data-calculator-step-continue][aria-disabled="true"]{border-color:transparent;background:var(--surface-2);color:var(--muted);cursor:not-allowed}
[data-calculator-root] [data-calculator-step-continue][aria-disabled="true"]:hover{border-color:transparent;background:var(--surface-2);color:var(--muted)}

/* Upload stays visible after adding models (prominent until the first one); the format is stated once (hint). */
[data-calculator-root] .calculator-upload-zone{container:calc-upload/inline-size;display:block;padding:var(--space-4);border:2px dashed #b9cff5;border-radius:var(--radius-lg);background:var(--accent-soft);transition:background-color .15s,border-color .15s} /* Z1b: čiarkovaná zóna V6.2 .upl */
/* D4 (V7 krok 1, k1-upload.has): po prvom modeli zóna ustúpi, tenký okraj a svetlý povrch; hover, fokus a ťahanie nižšie ostávajú. */
[data-calculator-root] .calculator-upload-zone.is-compact{border-width:1px;border-color:#c9d9f7;background:var(--surface-2)}
[data-calculator-root] .calculator-upload-zone:hover{border-color:var(--accent-hover);background:#e3eeff}
[data-calculator-root] .calculator-upload-zone:focus-within{outline:3px solid #93b4ff;outline-offset:3px}
[data-calculator-root] .calculator-upload-zone:is(.is-dragging,[data-drag-active="true"]){border-color:var(--accent-hover);border-style:dashed;background:#d8e8ff;box-shadow:inset 0 0 0 2px #9bbdff}
[data-calculator-root] .calculator-upload-invitation{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:4px var(--space-3)}
[data-calculator-root] .customer-upload-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--radius-control);background:var(--accent);color:#fff}
[data-calculator-root] .customer-upload-icon>.icon{width:26px;height:26px}
[data-calculator-root] .calculator-upload-invitation>div{min-width:0}
[data-calculator-root] .calculator-upload-invitation h2{margin:0;font-size:var(--text-xl);font-weight:700;line-height:1.35}
[data-calculator-root] .calculator-upload-invitation p{margin:2px 0 0;font-size:var(--text-sm);line-height:1.45;color:var(--muted)}
[data-calculator-root] .calculator-upload-invitation .customer-upload-format{display:none}
[data-calculator-root] .calculator-upload-invitation>.btn{grid-column:3;min-height:44px;padding:10px var(--space-4);font-weight:700;white-space:normal;text-align:center}
[data-calculator-root] .calculator-upload-zone .upload-format-hint{margin:6px 0 0 56px;font-size:var(--text-xs);line-height:1.45;color:var(--muted)}
[data-calculator-root] [data-upload-drop-status]{margin:8px 0 0;font-size:var(--text-sm);font-weight:650;line-height:1.45;color:var(--accent-hover)}
[data-calculator-root] [data-upload-drop-status]:empty{display:none}
[data-calculator-root].calculator-has-models .calculator-upload-zone{padding:var(--space-3)}
[data-calculator-root].calculator-has-models .calculator-upload-zone .upload-format-hint{margin-top:2px}
[data-calculator-root] .calculator-upload-list{display:grid;gap:var(--space-2);margin-top:var(--space-3)}
[data-calculator-root] .calculator-upload-list:empty{display:none}
[data-calculator-root] .calculator-upload-receipt{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px var(--space-3);padding:8px var(--space-3);border:1px solid #d7e4f2;border-radius:var(--radius-control);background:var(--surface);text-align:left}
[data-calculator-root] .calculator-upload-file{grid-column:1/-1;display:flex;align-items:center;gap:8px;min-width:0;font-size:var(--text-sm);color:var(--ink-2)}
[data-calculator-root] .calculator-upload-file>.icon{width:var(--icon-sm);height:var(--icon-sm);color:#6584ab}
[data-calculator-root] .calculator-upload-file>strong{min-width:0;font-weight:600;overflow-wrap:anywhere}
[data-calculator-root] [data-calculator-upload-status]{grid-column:1;min-width:0}
[data-calculator-root] .calculator-upload-status-line{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);font-size:var(--text-sm);color:var(--ink-2)}
[data-calculator-root] .calculator-upload-status-line>strong{font-weight:600}
[data-calculator-root] .calculator-upload-status-line>span{min-width:3.5em;text-align:right;font-variant-numeric:tabular-nums}
[data-calculator-root] .calculator-upload-status p{margin:2px 0 6px;font-size:var(--text-xs);line-height:1.45;color:var(--muted)}
[data-calculator-root] .calculator-upload-status[data-tone="error"] .calculator-upload-status-line{color:#9f3541}
[data-calculator-root] .calculator-upload-status[data-tone="warning"] .calculator-upload-status-line{color:#87621d}
[data-calculator-root] .calculator-upload-status[data-tone="success"] .calculator-upload-status-line{color:#347455}
/* F1 (T03): výzva na STEP pri IPT v riadku nahrávania a pri položke (postup z Inventora a tlačidlo Nahrať STEP). */
[data-calculator-root] .calculator-ipt-step-receipt{grid-column:1/-1;margin:0;padding:6px 10px;border-radius:var(--radius-sm);background:#f3f8fe;color:#35557c;font-size:var(--text-xs);line-height:1.45;overflow-wrap:anywhere}
[data-calculator-root] .calculator-ipt-step{margin:var(--space-2) 0 var(--space-3);overflow-wrap:anywhere}
[data-calculator-root] .calculator-ipt-step>p{margin:0}
[data-calculator-root] .calculator-ipt-step>ol{margin:var(--space-1) 0 var(--space-2);padding-left:1.4em}
[data-calculator-root] .calculator-ipt-step>ol>li+li{margin-top:2px}
[data-calculator-root] .calculator-ipt-step>.btn{margin-top:var(--space-2)}
[data-calculator-root] .calculator-upload-progress{display:flex;align-items:center;height:6px}
[data-calculator-root] .calculator-upload-progress.is-idle{visibility:hidden}
[data-calculator-root] .calculator-upload-progress progress{display:block;width:100%;height:6px;border:0;border-radius:6px;overflow:hidden;accent-color:var(--accent)}
[data-calculator-root] .calculator-upload-progress progress::-webkit-progress-bar{background:#e7eef8;border-radius:6px}
[data-calculator-root] .calculator-upload-progress progress::-webkit-progress-value{background:#4c8bde;border-radius:6px;transition:width .18s ease}
[data-calculator-root] .calculator-upload-progress progress:indeterminate{background:linear-gradient(90deg,#e7eef8 0%,#c2d8f3 48%,#e7eef8 100%);background-size:200% 100%;animation:calculator-upload-pulse 1.7s ease-in-out infinite}
[data-calculator-root] [data-upload-phase="ready"] .calculator-upload-progress{display:none}
[data-calculator-root] [data-upload-phase="ready"] p{margin:2px 0 0}
[data-calculator-root] [data-calculator-upload-retry][hidden]{display:none}
@keyframes calculator-upload-pulse{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

/* Model list */
[data-calculator-root] .customer-model-list-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin:var(--space-4) 0 var(--space-2)}
[data-calculator-root] .customer-model-list-head h2{margin:0;font-size:var(--text-lg);font-weight:650}
[data-calculator-root] .customer-model-list-head>span{font-size:var(--text-sm);white-space:nowrap}
[data-calculator-root] .customer-part-list{display:grid;gap:var(--space-3);min-width:0;container:calc-parts/inline-size}
[data-calculator-root] .customer-part-list>.panel>.panel-head:has(>h2:empty:only-child){display:none}

/* Model card: preview column, then name, material, quantity/price row, status + re-price, finishes */
[data-calculator-root] .customer-part{display:grid;grid-template-columns:136px minmax(0,1fr);margin:0;border-radius:var(--radius-lg);box-shadow:var(--shadow)} /* Z1b: karta V6.2 .mcard s náhľadom 112 px */
[data-calculator-root] .customer-part-drawing{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-2);min-width:0;padding:14px 0 14px 14px}
[data-calculator-root] .customer-part-drawing .product-thumbnail{width:100%;max-width:112px;height:auto;aspect-ratio:1;margin-inline:auto;border:1px solid var(--line-soft);border-radius:10px;background:linear-gradient(180deg,var(--surface-2),var(--background))}
[data-calculator-root] .customer-part-drawing .product-thumbnail>svg.icon{width:32px;height:32px;max-width:none;max-height:none;color:#8ea3ba}
[data-calculator-root] .customer-part-drawing .product-thumbnail img{width:100%;height:100%;object-fit:contain}
[data-calculator-root] .customer-part-drawing>.btn.product-viewer-button{width:100%;gap:6px;padding:6px 8px;white-space:nowrap}
[data-calculator-root] .customer-part-drawing>span{font-size:var(--text-xs);line-height:1.4;text-align:center;color:var(--muted);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
/* PR-29b (06-Ulohy/PR-29/K2.md, O-62 až O-64): model pod 5 mm a odkaz na jednotku pri rozmeroch karty (web/model-unit-scale.js). */
.customer-part-drawing [data-model-unit-small],.customer-part-drawing [data-model-volume]{display:block;margin-top:var(--space-1);font-size:var(--text-xs)}
.customer-part-drawing [data-action="model-unit-open"]{display:block;font-size:var(--text-xs);padding-inline:0}
[data-calculator-root] .customer-part-main{display:flow-root;min-width:0;padding:var(--space-3) var(--space-4)}
[data-calculator-root] .customer-part-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}
[data-calculator-root] .customer-part-heading>div{min-width:0}
[data-calculator-root] .customer-part-heading h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;margin:0;overflow:hidden;font-size:var(--text-lg);font-weight:650;line-height:1.35;color:var(--ink);overflow-wrap:anywhere}
[data-calculator-root] .customer-part-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px var(--space-2);margin-top:2px;font-size:var(--text-xs);color:var(--muted)}
[data-calculator-root] .customer-part-meta>span:first-child{overflow-wrap:anywhere}
[data-calculator-root] .customer-part-heading>.btn[data-action="cart-remove"]{flex:0 0 auto;min-width:var(--control-height-sm);min-height:32px;margin:-4px -8px 0 0;padding:6px;color:var(--muted)}
[data-calculator-root] .customer-part-heading>.btn[data-action="cart-remove"]:hover{color:#b64e4e;background:#fff3f3}

/* Material line: label, value and the finish trigger share one baseline */
[data-calculator-root] .material-info{display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--space-3);min-width:0;margin-top:6px;font-size:var(--text-sm);color:var(--muted)}
[data-calculator-root] .material-info-labels{display:contents}
[data-calculator-root] .material-info-labels>span{line-height:28px;white-space:nowrap}
[data-calculator-root] .material-info-labels strong{font-weight:650;color:var(--ink)}
[data-calculator-root] .material-info-labels>.finish-info-label{margin-inline-start:-6px}
[data-calculator-root] .material-info-details{min-width:0;font-size:var(--text-sm)}
[data-calculator-root] .material-info-details[open]{flex-basis:100%}
[data-calculator-root] .material-info-details>summary{display:inline-flex;align-items:center;min-height:28px;padding:2px 4px;border-radius:var(--radius-sm);color:var(--accent);font-weight:600;overflow-wrap:anywhere}
[data-calculator-root] .material-info-panel{display:grid;gap:var(--space-2);margin:4px 0 var(--space-2);padding:10px var(--space-3);border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface-2);font-size:var(--text-sm);line-height:1.5;color:var(--ink);overflow-wrap:anywhere}
[data-calculator-root] .material-info-panel p{margin:0}
[data-calculator-root] .material-info-panel dl{display:grid;gap:6px;margin:0}
[data-calculator-root] .material-info-panel dt{font-weight:650}
[data-calculator-root] .material-info-panel dd{margin:2px 0 0}
[data-calculator-root] .material-info-assets{display:grid;gap:4px;margin:0;padding-left:18px}
[data-calculator-root] .material-info-panel a{display:inline-flex;align-items:center;min-height:28px;margin-left:var(--space-3);font-weight:600}
[data-calculator-root] .material-info-sheet-note{color:var(--muted);font-size:var(--text-xs)}

/* Quantity and price: one subgrid, labels on one row, values on the next, no reserved heights */
[data-calculator-root] .calculator-quantity-price{display:grid;grid-template-columns:84px minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:var(--space-4);row-gap:4px;margin-top:var(--space-2);padding:10px 0;border-block:1px solid var(--line-soft)}
[data-calculator-root] .calculator-quantity-price>.field{grid-column:1;grid-row:1/span 2;display:grid;grid-template-rows:subgrid;gap:0;margin:0;min-width:0}
[data-calculator-root] .calculator-quantity-price>.field>span{align-self:end;line-height:1.35}
[data-calculator-root] .calculator-quantity-price>.field>.input{padding:6px 8px;font-size:var(--text-lg);font-weight:650;font-variant-numeric:tabular-nums}
[data-calculator-root] .calculator-quantity-price>[data-calculator-price]{grid-column:2/4;grid-row:1/span 3;display:grid;grid-template-columns:subgrid;grid-template-rows:subgrid;min-width:0}
[data-calculator-root] .calculator-model-price{grid-column:1/-1;grid-row:1/-1;display:grid;grid-template-columns:subgrid;grid-template-rows:subgrid;min-width:0}
[data-calculator-root] .calculator-model-price>dl{grid-column:1/-1;grid-row:1/span 2;display:grid;grid-template-columns:subgrid;grid-template-rows:subgrid;margin:0}
[data-calculator-root] .calculator-model-price>dl>div{grid-row:1/span 2;display:grid;grid-template-rows:subgrid;row-gap:4px;min-width:0}
[data-calculator-root] .calculator-model-price [data-calculator-price-row="unit-net"]{grid-column:1}
[data-calculator-root] .calculator-model-price [data-calculator-price-row="line-net"]{grid-column:2}
[data-calculator-root] .calculator-model-price dt{align-self:end;min-width:0;font-size:var(--text-xs);font-weight:600;line-height:1.35;color:var(--muted);overflow-wrap:break-word}
[data-calculator-root] .calculator-model-price dd{align-self:center;min-width:0;margin:0}
[data-calculator-root] .calculator-model-price dd strong{font-size:20px;font-weight:700;line-height:1.25;letter-spacing:-.3px;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums}
[data-calculator-root] .calculator-model-price [data-calculator-price-row="line-net"] dd strong{color:var(--accent)}
[data-calculator-root] .calculator-model-price:not([data-price-state="auto"]) dd strong{font-size:var(--text-md);font-weight:600;color:var(--muted);white-space:normal;overflow-wrap:break-word}
[data-calculator-root] .calculator-price-scope{grid-column:1/-1;grid-row:3;margin:0;font-size:var(--text-xs);line-height:1.4;color:var(--muted)}
[data-calculator-root] .calculator-price-scope.is-empty{display:none}
/* Price feedback stays next to re-price. Finishes and the note stay visible in one full-width section with the saved choice,
   so the important configuration is not a small trailing link. DOM and focus order stay unchanged. */
[data-calculator-root] .calculator-config-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);margin-top:4px}
[data-calculator-root] .customer-part-footer.calculator-part-footer{display:flex;flex:1 1 auto;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:var(--space-2);min-width:0;margin:0}
[data-calculator-root] [data-calculator-footer]{display:flex;flex:0 1 auto;flex-wrap:wrap;justify-content:flex-start;gap:4px;min-width:0}
[data-calculator-root] [data-calculator-footer]>p{margin:0;font-size:var(--text-xs);line-height:1.45;overflow-wrap:anywhere}
[data-calculator-root] [data-calculator-footer]>p[hidden]{display:none}
[data-calculator-root] .calculator-price-status{padding:3px 8px;border-radius:var(--radius-sm);background:var(--gray-bg);color:var(--gray);font-weight:600}
[data-calculator-root] .customer-part:has([data-calculator-model-price][data-price-state="auto"]) .calculator-price-status{background:var(--green-bg);color:var(--green)}
[data-calculator-root] .customer-part:has([data-calculator-model-price][data-price-state="rfq"]) .calculator-price-status{background:var(--amber-bg);color:var(--amber)}
[data-calculator-root] .calculator-model-review{padding:3px 8px;border-radius:var(--radius-sm);background:#fff3db;color:#805611}
[data-calculator-root] .calculator-price-error{padding:3px 8px;border-radius:var(--radius-sm);background:var(--red-bg);color:var(--red)}
[data-calculator-root] [data-calculator-reprice]{flex:0 0 auto;min-height:var(--control-height-sm);padding:4px var(--space-3)}
[data-calculator-root] .calculator-config-details{flex:1 1 100%;min-width:0;margin:0;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface)}
[data-calculator-root] .calculator-config-heading{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 4px;padding:8px 10px 0;line-height:1.35;overflow-wrap:anywhere}
[data-calculator-root] .calculator-config-heading h4{margin:0;color:var(--ink);font-size:var(--text-sm);font-weight:600}
[data-calculator-root] .calculator-options-selection{grid-column:2;min-width:0;padding-left:var(--space-2);font-size:var(--text-xs);font-weight:400;line-height:1.4;text-align:right;color:var(--ink-2)}
[data-calculator-root] .customer-part-options{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-2);padding:var(--space-2) 10px 10px}
[data-calculator-root] .customer-part-options>.field{margin:0}

/* Several models: smaller preview column; finishes and notes remain visible */
[data-calculator-root].calculator-dense .customer-part{grid-template-columns:120px minmax(0,1fr)}
[data-calculator-root].calculator-dense .customer-part-drawing{gap:6px;padding:10px}
[data-calculator-root].calculator-dense .customer-part-drawing .product-thumbnail{max-width:76px}

/* Without a model */
[data-calculator-root] .customer-no-model{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--line)}
[data-calculator-root] .customer-no-model>div{display:flex;align-items:center;gap:10px;min-width:0;color:var(--subtle)}
[data-calculator-root] .customer-no-model>div>.icon{width:var(--icon-lg);height:var(--icon-lg)}
[data-calculator-root] .customer-no-model>div>span{min-width:0}
[data-calculator-root] .customer-no-model strong{display:block;font-size:var(--text-md);color:var(--ink-2)}
[data-calculator-root] .customer-no-model small{display:block;font-size:var(--text-sm);color:var(--muted)}
[data-calculator-root] .customer-no-model>.btn{flex-shrink:0;color:var(--accent)}

/* Summary: label | value rows, one total box inside the panel padding */
[data-calculator-root] .customer-summary{position:sticky;top:calc(var(--topbar-height) + var(--space-3));min-width:0}
[data-calculator-root] .customer-summary>.panel{border-top:3px solid var(--accent)}
[data-calculator-root] .customer-summary .panel-head{min-height:44px;padding:10px var(--space-4)}
[data-calculator-root] .customer-summary .panel-body{gap:var(--space-3);padding:var(--space-3) var(--space-4) var(--space-4)}
[data-calculator-root] .calculator-summary-count{display:inline-flex;margin:0 0 4px;padding:3px 10px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line-soft);font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}
[data-calculator-root] .calculator-summary-price dl{display:grid;margin:0}
[data-calculator-root] .calculator-summary-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:var(--space-3);padding:8px 0;border-bottom:1px solid var(--line-soft)}
[data-calculator-root] .calculator-summary-row dt{min-width:0;font-size:var(--text-sm);line-height:1.4;color:var(--muted)}
[data-calculator-root] .calculator-summary-row dd{margin:0;font-size:var(--text-md);font-weight:650;color:var(--ink);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
[data-calculator-root] .calculator-summary-row.calculator-summary-total{margin-top:var(--space-2);padding:10px var(--space-3);border:0;border-radius:var(--radius-control);background:var(--accent)}
[data-calculator-root] .calculator-summary-total dt{font-weight:600;color:var(--surface)}
[data-calculator-root] .calculator-summary-total dd{font-size:var(--text-3xl);font-weight:700;letter-spacing:-.4px;color:var(--surface)}
/* R7: bez úplnej ceny ostáva súčet na neutrálnej ploche, tlmený text na akcente by nemal kontrast. */
[data-calculator-root] .calculator-summary-price:not([data-price-state="auto"]) .calculator-summary-total{background:var(--surface-2)}
[data-calculator-root] .calculator-summary-price:not([data-price-state="auto"]) .calculator-summary-total dt{color:var(--ink)}
[data-calculator-root] .calculator-summary-price:not([data-price-state="auto"]) .calculator-summary-total dd{font-size:var(--text-md);font-weight:600;letter-spacing:0;color:var(--muted)}
[data-calculator-root] .calculator-summary-price:is([data-price-state="mixed"],[data-price-state="rfq"],[data-price-state="blocked"]) [data-calculator-summary-row="shipping-net"]{display:none}
[data-calculator-root] .calculator-summary-note{margin:var(--space-2) 0 0;font-size:var(--text-xs);line-height:1.5;color:var(--muted)}
/* G9 CP-05: the account discount the server applied ("Vaša zľava 15 %"), shown above the amounts. */
[data-calculator-root] .calculator-summary-discount{display:flex;margin:4px 0 0;padding:6px 10px;border-radius:var(--radius-sm);background:var(--accent-soft);font-size:var(--text-sm);font-weight:650;color:var(--accent)}
[data-calculator-root] [data-calculator-continue]{width:100%;min-height:44px;font-size:var(--text-md);white-space:normal;text-align:center}
[data-calculator-root] [data-calculator-continue][aria-disabled="true"]{opacity:.55;cursor:not-allowed;pointer-events:none}
[data-calculator-root] .customer-summary .customer-summary-save{width:100%;color:var(--accent)}

/* Phone total bar: shown only while the summary sits under the models. It sticks to the bottom of the screen and
   stops above the summary at the end of the list; a tap jumps to the summary. Values mirror the summary rows. */
[data-calculator-root] .calculator-total-bar{display:none}

/* Content width breakpoints (container: calculator root and model list) */
@container calc-root (max-width:1000px){
 [data-calculator-root] .customer-calculator{grid-template-columns:minmax(0,1fr) 292px;gap:var(--space-4)}
}
@container calc-root (max-width:720px){
 [data-calculator-root] .customer-calculator{grid-template-columns:minmax(0,1fr)}
 [data-calculator-root] .customer-summary{position:static;scroll-margin-top:calc(var(--topbar-height) + var(--space-3))}
 [data-calculator-root] .calculator-total-bar{position:sticky;bottom:calc(var(--space-2) + env(safe-area-inset-bottom,0px));z-index:6;display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:56px;margin-top:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--accent-line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-popover);color:var(--ink);font:inherit;text-align:left;cursor:pointer}
 [data-calculator-root] .calculator-total-bar:hover{border-color:var(--accent)}
 [data-calculator-root] .calculator-total-bar-copy{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 var(--space-2);flex:1 1 auto;min-width:0}
 [data-calculator-root] .calculator-total-bar-label{flex:1 1 100%;font-size:var(--text-xs);line-height:1.35;color:var(--muted)}
 [data-calculator-root] .calculator-total-bar-value{font-size:var(--text-lg);font-weight:700;line-height:1.3;color:var(--accent);white-space:nowrap;font-variant-numeric:tabular-nums}
 [data-calculator-root] .calculator-total-bar-value.is-pending{font-size:var(--text-md);font-weight:600;color:var(--ink-2)}
 /* The count moves to its own line rather than being cut. */
 [data-calculator-root] .calculator-total-bar-count{min-width:0;font-size:var(--text-xs);line-height:1.3;color:var(--muted)}
 [data-calculator-root] .calculator-total-bar-go{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;min-height:44px;padding:0 4px 0 var(--space-2);border-left:1px solid var(--line-soft);font-size:var(--text-sm);font-weight:650;color:var(--accent)}
 /* A focused control (field, button, link or disclosure summary) is scrolled clear of the bar, not under it. */
 [data-calculator-root].calculator-has-models .customer-calculator-main :is(button,a,input,textarea,select,summary){scroll-margin-bottom:96px}
}
/* Low screens (phone in landscape, 400 % zoom): the bar stays in the flow above the summary instead of covering content. */
@media (max-height:480px){[data-calculator-root] .calculator-total-bar{position:static}}
@container calc-root (max-width:319px){
 /* 320px phones: the bar keeps label and amount; the count is shown in the summary. */
 [data-calculator-root] .calculator-total-bar-count{display:none}
}
@container calc-root (max-width:640px){
 [data-calculator-root] .calculator-process{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:var(--space-1)}
 [data-calculator-root] .calculator-process::before{top:19px}
 [data-calculator-root] .customer-flow-step{flex-direction:column;justify-content:flex-start;gap:4px;min-width:0;padding:6px 4px;border-radius:var(--radius-control);text-align:center;white-space:normal}
 [data-calculator-root] .customer-flow-step>b{min-width:0;font-size:var(--text-xs);line-height:1.35;overflow-wrap:anywhere}
}
/* D8 (Q-D4-1, 22-Rozhodnutia-D-davka-1): na mobile ukáže krok 1 riadok „Krok 1 z 3“ s pruhom ako V7 a krok 2 (checkout-summary.css);
   klikateľné dlaždice sa skryjú cez display:none, takže nie sú fokusovateľné. Návrat: zmazať tento blok. */
@container calc-root (max-width:640px){
 [data-calculator-root] .calculator-process{display:none}
 [data-calculator-root] .flow-steps-mobile{display:grid;gap:var(--space-2);margin:0 0 var(--space-4);color:var(--muted);font-size:var(--text-sm);line-height:1.5}
 [data-calculator-root] .flow-steps-mobile b{color:var(--ink);font-weight:600}
 [data-calculator-root] .flow-steps-track{appearance:none;display:block;width:100%;height:4px;border:0;border-radius:999px;overflow:hidden;background:var(--line);color:var(--accent);accent-color:var(--accent)}
 [data-calculator-root] .flow-steps-track::-webkit-progress-bar{background:var(--line)}
 [data-calculator-root] .flow-steps-track::-webkit-progress-value{background:var(--accent);border-radius:999px}
 [data-calculator-root] .flow-steps-track::-moz-progress-bar{background:var(--accent);border-radius:999px}
}
@container calc-root (max-width:560px){
 [data-calculator-root] .calculator-upload-receipt{grid-template-columns:minmax(0,1fr)}
 [data-calculator-root] [data-calculator-upload-retry]{justify-self:start}
 [data-calculator-root] .customer-no-model{flex-wrap:wrap}
}
@container calc-upload (max-width:480px){
 [data-calculator-root] .calculator-upload-invitation{grid-template-columns:44px minmax(0,1fr)}
 [data-calculator-root] .calculator-upload-invitation>.btn{grid-column:1/-1;width:100%;margin-top:6px}
 [data-calculator-root] .calculator-upload-zone .upload-format-hint,[data-calculator-root].calculator-has-models .calculator-upload-zone .upload-format-hint{margin:6px 0 0}
}
@container calc-parts (max-width:620px){
 [data-calculator-root] .customer-part,[data-calculator-root].calculator-dense .customer-part{grid-template-columns:minmax(0,1fr)}
 [data-calculator-root] .customer-part-drawing,[data-calculator-root].calculator-dense .customer-part-drawing{display:grid;grid-template-columns:56px auto minmax(0,1fr);align-items:center;gap:var(--space-3);padding:8px var(--space-3);border-right:0;border-bottom:1px solid var(--line-soft)}
 [data-calculator-root] .customer-part-drawing .product-thumbnail,[data-calculator-root].calculator-dense .customer-part-drawing .product-thumbnail{width:56px;max-width:none}
 [data-calculator-root] .customer-part-drawing .product-thumbnail>svg.icon{width:24px;height:24px}
 [data-calculator-root] .customer-part-drawing>.btn.product-viewer-button{width:auto;flex-direction:row;gap:6px;padding:6px 12px}
 [data-calculator-root] .customer-part-drawing>span{text-align:right}
 [data-calculator-root] .customer-part-main{padding:10px var(--space-3)}
 [data-calculator-root] .calculator-quantity-price{grid-template-columns:76px minmax(0,1fr) minmax(0,1fr);column-gap:var(--space-3)}
}
@container calc-parts (max-width:440px){
 [data-calculator-root] .customer-part-footer.calculator-part-footer{flex-basis:100%;flex-wrap:wrap;justify-content:flex-start}
 [data-calculator-root] [data-calculator-footer]{flex:1 1 12em;justify-content:flex-start}
 [data-calculator-root] [data-calculator-reprice]{margin-left:auto}
 [data-calculator-root] .calculator-config-heading{grid-template-columns:minmax(0,1fr)}
 [data-calculator-root] .calculator-options-selection{grid-column:1;padding-left:0;text-align:left}
}
@container calc-parts (max-width:340px){
 [data-calculator-root] .calculator-quantity-price{grid-template-columns:68px minmax(0,1fr) minmax(0,1fr);column-gap:10px}
 [data-calculator-root] .calculator-model-price dd strong{font-size:var(--text-lg)}
 [data-calculator-root] .customer-part-drawing>span{grid-column:2/-1;text-align:left}
}
