:root {
  --ink: #1e2529;
  --muted: #667177;
  --paper: #f3f1ec;
  --panel: #ffffff;
  --line: #dedbd4;
  --accent: #e85d2a;
  --accent-dark: #bb3f14;
  --soft: #f9f7f3;
  --green: #167552;
  --shadow: 0 18px 55px rgba(26, 31, 34, 0.08);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 84% 2%, rgba(232, 93, 42, 0.11), transparent 26rem),
    var(--paper);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-variant-numeric: tabular-nums;
}

button, input, select { font: inherit; }
button { color: inherit; }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.topbar {
  height: 76px;
  padding: 0 max(24px, calc((100vw - 1440px) / 2));
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(30, 37, 41, 0.98);
  color: white;
  position: sticky;
  top: 0;
  z-index: 20;
  box-shadow: 0 1px 0 rgba(255,255,255,.08);
}

.brand { display: inline-flex; align-items: baseline; text-decoration: none; color: inherit; font-weight: 900; letter-spacing: .03em; }
.brand-mark { background: var(--accent); padding: 8px 9px; font-size: 18px; line-height: 1; }
.brand-name { padding-left: 8px; font-size: 17px; }
.topbar-actions { display: flex; align-items: center; gap: 16px; }
.save-state { color: #c5cbc8; font-size: 12px; display: inline-flex; align-items: center; gap: 7px; }
.save-state i { width: 7px; height: 7px; border-radius: 50%; background: #54cc92; box-shadow: 0 0 0 3px rgba(84,204,146,.12); }

main { max-width: 1440px; margin: 0 auto; padding: 0 24px 64px; }

.intro {
  min-height: 230px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 64px;
  padding: 58px 0 38px;
  border-bottom: 1px solid rgba(30,37,41,.14);
}

.intro > div { max-width: 720px; }
.eyebrow { margin: 0 0 11px; text-transform: uppercase; letter-spacing: .14em; font-size: 11px; font-weight: 800; color: var(--accent-dark); }
h1 { font-size: clamp(38px, 5vw, 68px); line-height: .98; letter-spacing: -.055em; margin: 0 0 20px; }
.intro p:not(.eyebrow) { max-width: 670px; margin: 0; font-size: 17px; line-height: 1.6; color: var(--muted); }

.project-field { width: min(360px, 100%); flex: 0 0 360px; display: grid; gap: 8px; }
.project-field span, .compact-field > span:first-child { font-size: 12px; font-weight: 750; color: #505b60; }

input, select {
  width: 100%;
  min-height: 42px;
  padding: 9px 11px;
  border: 1px solid #cecac1;
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  outline: none;
  transition: border-color .16s ease, box-shadow .16s ease;
}
input:focus, select:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(232,93,42,.12); }
input::placeholder { color: #9aa1a4; }

.workspace { display: grid; grid-template-columns: minmax(0, 1fr) 390px; gap: 28px; align-items: start; padding-top: 30px; }
.calculator-column { display: grid; gap: 20px; min-width: 0; }
.panel, .summary-panel { background: rgba(255,255,255,.94); border: 1px solid rgba(30,37,41,.1); border-radius: 16px; box-shadow: var(--shadow); }
.panel { padding: 25px; }

.panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 3px; }
.panel-heading > div { display: flex; align-items: center; gap: 10px; }
.step { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: #242b2f; color: #fff; font-size: 10px; font-weight: 800; }
h2 { margin: 0; font-size: 21px; letter-spacing: -.02em; }
.panel-note { margin: 7px 0 18px 40px; color: var(--muted); font-size: 13px; line-height: 1.45; }
.text-button { border: 0; background: transparent; padding: 6px 0; cursor: pointer; font-weight: 750; font-size: 13px; color: var(--accent-dark); }
.text-button:hover { color: var(--accent); }

.table-scroll { width: 100%; overflow-x: auto; }
.entry-table { width: 100%; border-collapse: collapse; min-width: 640px; }
.entry-table th { padding: 8px 8px 9px; color: #747d81; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; text-align: left; border-bottom: 1px solid var(--line); }
.entry-table td { padding: 8px; border-bottom: 1px solid #ece9e2; vertical-align: middle; }
.entry-table tr:last-child td { border-bottom: 0; }
.entry-table input, .entry-table select { min-height: 39px; padding: 7px 9px; }
.entry-table td:nth-last-child(2) { white-space: nowrap; font-size: 13px; font-weight: 750; }
.entry-table th:last-child, .entry-table td:last-child { width: 38px; padding-right: 0; }
.row-name { min-width: 150px; }
.number-input { min-width: 92px; }
.row-result { min-width: 98px; }
.icon-button { width: 34px; height: 34px; border: 0; border-radius: 8px; background: transparent; color: #8a9295; cursor: pointer; font-size: 22px; line-height: 1; }
.icon-button:hover { background: #fae9e2; color: var(--accent-dark); }

.settings-row { margin: 17px 0 12px; padding: 12px 14px; border-radius: 10px; display: flex; align-items: end; justify-content: space-between; gap: 18px; background: var(--soft); }
.settings-row p { margin: 0 0 7px; color: var(--muted); font-size: 12px; }
.compact-field { display: grid; gap: 7px; width: 220px; flex: 0 0 auto; }
.input-suffix { display: flex; position: relative; }
.input-suffix input { padding-right: 36px; }
.input-suffix b { position: absolute; right: 12px; top: 11px; color: #71797c; font-size: 13px; }
.material-table { min-width: 900px; }
.material-table .row-name { min-width: 175px; }
.material-table .unit-select { min-width: 74px; }

.variants-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 18px; }
.variant-card { position: relative; display: grid; gap: 14px; min-width: 0; padding: 17px; text-align: left; background: #fff; border: 1px solid var(--line); border-radius: 12px; cursor: pointer; transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.variant-card:hover { transform: translateY(-2px); border-color: #aaa49a; }
.variant-card.selected { border-color: var(--accent); box-shadow: 0 0 0 2px rgba(232,93,42,.13); }
.variant-card.selected::after { content: "✓"; position: absolute; top: 13px; right: 13px; width: 21px; height: 21px; display: grid; place-items: center; border-radius: 50%; background: var(--accent); color: #fff; font-size: 12px; font-weight: 900; }
.variant-title { padding-right: 24px; font-size: 14px; font-weight: 800; }
.variant-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.variant-field { display: grid; gap: 5px; }
.variant-field span { color: var(--muted); font-size: 10px; font-weight: 700; }
.variant-field input { min-width: 0; min-height: 36px; font-size: 12px; }
.variant-cost { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; padding-top: 11px; border-top: 1px solid #ece9e2; }
.variant-cost span { color: var(--muted); font-size: 11px; }
.variant-cost strong { font-size: 15px; }

.summary-panel { position: sticky; top: 98px; overflow: hidden; }
.summary-top { padding: 27px 27px 21px; background: #232a2e; color: #fff; }
.summary-top .eyebrow { color: #ff956e; }
.summary-top h2 { font-size: 25px; }
.summary-project { margin: 8px 0 0; color: #bfc6c8; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.area-summary { margin: 0; padding: 21px 27px 17px; }
.area-summary > div { display: flex; justify-content: space-between; gap: 16px; padding: 6px 0; }
.area-summary dt { color: var(--muted); font-size: 13px; }
.area-summary dd { margin: 0; font-size: 13px; font-weight: 750; }
.area-summary .net-row { margin-top: 7px; padding: 14px 0 7px; border-top: 1px solid var(--line); }
.area-summary .net-row dt, .area-summary .net-row dd { color: var(--ink); font-size: 18px; font-weight: 850; }
.selected-variant { margin: 0 27px; padding: 13px 15px; display: grid; gap: 4px; background: #fff2ec; border-left: 3px solid var(--accent); }
.selected-variant span { color: #89523c; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.selected-variant strong { font-size: 14px; }
.cost-summary { margin: 18px 27px 0; padding: 14px 0 15px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.cost-summary > div { display: flex; justify-content: space-between; gap: 15px; padding: 5px 0; font-size: 12px; }
.cost-summary span { color: var(--muted); }
.cost-summary strong { font-size: 13px; }
.cost-summary .total-row { align-items: baseline; padding: 13px 0 8px; }
.cost-summary .total-row span { color: var(--ink); font-weight: 800; }
.cost-summary .total-row strong { color: var(--accent-dark); font-size: 24px; letter-spacing: -.03em; }
.summary-materials { margin: 19px 27px 0; }
.summary-list-title { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.summary-list-title h3 { margin: 0; font-size: 13px; }
.summary-list-title span { color: var(--muted); font-size: 10px; }
.summary-materials ul { list-style: none; margin: 10px 0 0; padding: 0; max-height: 190px; overflow: auto; }
.summary-materials li { display: flex; justify-content: space-between; gap: 15px; padding: 7px 0; border-bottom: 1px solid #efede8; font-size: 11px; }
.summary-materials li span { min-width: 0; color: #4f5a5f; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.summary-materials li strong { white-space: nowrap; }
.summary-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; padding: 22px 27px 11px; }
.button { min-height: 39px; border-radius: 8px; padding: 9px 14px; border: 1px solid transparent; cursor: pointer; font-size: 12px; font-weight: 800; transition: background .15s ease, border-color .15s ease, transform .15s ease; }
.button:active { transform: translateY(1px); }
.button-primary { background: var(--accent); color: #fff; }
.button-primary:hover { background: var(--accent-dark); }
.button-secondary { background: #fff; border-color: #c9c5bd; }
.button-secondary:hover { background: var(--soft); }
.button-ghost { min-height: 35px; color: #fff; border-color: #555e62; background: transparent; }
.button-ghost:hover { background: rgba(255,255,255,.08); }
.disclaimer { padding: 0 27px 24px; margin: 0; color: #81898c; font-size: 9.5px; line-height: 1.45; }

.toast { position: fixed; left: 50%; bottom: 26px; z-index: 30; padding: 11px 16px; color: #fff; background: #252c30; border-radius: 8px; box-shadow: 0 10px 35px rgba(0,0,0,.25); font-size: 12px; font-weight: 750; opacity: 0; pointer-events: none; transform: translate(-50%, 12px); transition: .2s ease; }
.toast.visible { opacity: 1; transform: translate(-50%, 0); }
.invalid-note { margin: 9px 0 0; color: #a13219; font-size: 11px; font-weight: 700; }

@media (max-width: 1080px) {
  .workspace { grid-template-columns: 1fr; }
  .summary-panel { position: static; }
  .summary-materials ul { max-height: none; }
}

@media (max-width: 760px) {
  .topbar { height: 66px; padding: 0 16px; }
  .save-state { display: none; }
  main { padding: 0 14px 40px; }
  .intro { min-height: auto; align-items: stretch; flex-direction: column; gap: 28px; padding: 38px 2px 28px; }
  .project-field { width: 100%; flex-basis: auto; }
  .workspace { padding-top: 16px; gap: 16px; }
  .panel { padding: 19px 15px; }
  .panel-heading { align-items: flex-start; }
  .panel-heading > div { gap: 8px; }
  .panel-note { margin-left: 38px; }
  .settings-row { align-items: stretch; flex-direction: column; }
  .compact-field { width: 100%; }
  .variants-grid { grid-template-columns: 1fr; }
  .summary-actions { grid-template-columns: 1fr; }
}

@media print {
  body { background: #fff; }
  .topbar, .intro, .calculator-column, .summary-actions, .toast { display: none !important; }
  main { max-width: none; padding: 0; }
  .workspace { display: block; padding: 0; }
  .summary-panel { position: static; box-shadow: none; border: 0; }
  .summary-top { color: #000; background: #fff; border-bottom: 2px solid #000; padding-left: 0; padding-right: 0; }
  .summary-top .eyebrow, .summary-project { color: #444; }
  .area-summary, .disclaimer { padding-left: 0; padding-right: 0; }
  .selected-variant, .cost-summary, .summary-materials { margin-left: 0; margin-right: 0; }
  .summary-materials ul { max-height: none; }
}
/* Embedded SDS-INVEST edition */
@font-face{font-family:'Work Sans';src:url('/wp-content/themes/sds-invest/assets/fonts/work-sans-400.ttf')}@font-face{font-family:'Work Sans';src:url('/wp-content/themes/sds-invest/assets/fonts/work-sans-600.ttf');font-weight:600}
:root{--ink:#141414;--muted:#746e64;--paper:#faf9f6;--accent:#d65f12;--accent-dark:#b84e0b;--line:#ded8ce;--shadow:none}
body{background:#faf9f6;font-family:'Work Sans',Arial,sans-serif}.topbar{height:54px;background:transparent;color:var(--ink);position:static;padding:0 28px;border-bottom:1px solid var(--line);box-shadow:none}.brand{display:none}.topbar-actions{width:100%;justify-content:space-between}.save-state{color:var(--muted)}.save-state i{background:#b7a586;box-shadow:none}.button-ghost{color:var(--ink);border-color:#d8cebd;background:#fff}
main{max-width:1280px;padding:0 28px 30px}.intro{min-height:0;padding:28px 0;gap:28px}.intro h1{font-size:36px;font-weight:400;letter-spacing:-.035em;line-height:1.1}.intro p:not(.eyebrow){font-size:14px}.eyebrow{font-weight:400;color:#746e64}.workspace{display:block;padding-top:0}.calculator-column{gap:0}.panel,.summary-panel{border:0;border-radius:0;box-shadow:none;background:transparent}.panel{padding:24px 0;border-bottom:1px solid var(--line)}h2{font-size:24px;font-weight:600}.step{background:transparent;color:#a39072;font-size:13px;border:1px solid #d8cebd;font-weight:400}.panel-note{margin-left:40px}.text-button{font-weight:400}.entry-table{min-width:630px;background:#fff}.entry-table th{font-weight:500;text-transform:none;letter-spacing:0;font-size:12px}.entry-table td{padding:7px 8px}.entry-table input,.entry-table select,input,select{min-height:30px;padding:4px 8px;border-radius:0;font-size:14px}.number-input{min-width:75px}.material-table{min-width:820px}.settings-row{background:transparent;padding:0;border-radius:0}.input-suffix b{top:7px}.variant-card{border-radius:0;box-shadow:none!important;padding:16px}.variant-title{font-weight:600}.variant-cost strong,.cost-summary strong{color:#d65f12}.summary-panel{position:static;margin-top:28px}.summary-top{background:transparent;color:#141414;padding:0 0 16px}.summary-top .eyebrow,.summary-project{color:#746e64}.area-summary{padding:10px 0;max-width:600px}.selected-variant{margin:16px 0;padding:0;border:0;background:transparent}.cost-summary{margin:0;padding:10px 0;border-top:1px solid var(--line);border-bottom:0;max-width:600px}.cost-summary .total-row{display:block}.cost-summary .total-row strong{display:block;margin-top:8px;color:#d65f12}.summary-materials{margin:16px 0}.summary-materials ul{max-height:none}.summary-actions{padding:16px 0;display:flex;flex-wrap:wrap}.button{border-radius:999px;font-weight:400;min-height:44px}.button-primary{background:#141414}.button-secondary{border-color:#b7a586}.disclaimer{padding:0;font-size:12px;max-width:800px}.project-field{flex-basis:300px}.variant-card:hover{transform:none}
@media(max-width:760px){main{padding:0 14px 24px}.topbar{padding:0 14px}.intro{gap:18px}.intro h1{font-size:30px}.project-field{flex-basis:auto}.panel{padding:20px 0}.panel-heading{flex-wrap:wrap;gap:10px}h2{font-size:21px}input,select,.entry-table input,.entry-table select{font-size:16px}.save-state{display:inline-flex}.variants-grid{grid-template-columns:1fr}}
@media print{@page{size:A4 portrait;margin:15mm}.summary-panel{margin:0}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}.summary-top{padding:0 0 12px}.cost-summary strong{color:#d65f12!important}}

.wall-shape{min-width:175px}.wall-heights{display:flex;gap:8px}.wall-dimension{display:grid;gap:4px;min-width:85px}.wall-dimension>span{font-size:11px;white-space:nowrap;font-weight:400;color:#746e64}.wall-warning{display:block;max-width:220px;color:#a13219;font-size:11px;white-space:normal}.wall-warning:empty{display:none}#wallsBody .row-name{min-width:130px}#wallsBody .number-input{width:95px;min-width:75px}

.step.step-icon{border:0;border-radius:0;background:transparent;color:#b7a586;flex:0 0 30px}.step-icon svg{display:block}.wall-shape-picker{display:flex;gap:6px}.wall-shape-option{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:5px;border:1px solid #ded6c9;border-radius:6px;background:white;color:#b7a586;cursor:pointer;flex:0 0 44px}.wall-shape-option:hover{border-color:#d65f12;color:#d65f12}.wall-shape-option[aria-pressed="true"]{border-color:#d65f12;color:#d65f12;background:#fff7ef;box-shadow:inset 0 0 0 1px #d65f12}.wall-shape-option:focus-visible{outline:2px solid #d65f12;outline-offset:3px}
