/* Kalkulačka nákladů na výstavbu RD – navazuje na styles.css (varianta 1A Grafit Fokus) */
.calc-warning{background:#2a2617;border:1px solid #5c5126;border-left:5px solid #e2c44d;border-radius:14px;padding:16px 20px;color:#f1e6bd;font-size:14px;line-height:1.7}
.calc-warning strong{color:#fff3c4}
.calc-warning a{color:#fff3c4;text-decoration:underline}
.calc-warning p{color:#f1e6bd;font-size:14px;margin-bottom:10px}
.calc-warning p:last-child{margin-bottom:0}
.calc-warning-hero{max-width:640px;margin-top:28px}

.calc-section{padding:60px 0 90px;border-bottom:1px solid var(--line)}
.calc-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:40px;align-items:start}
.calc-form{display:grid;gap:22px;min-width:0}
.calc-card{margin:0;min-width:0;background:var(--surface-card);border:1px solid var(--line);border-radius:22px;padding:30px 32px 32px}
.calc-card legend,.calc-legend{float:left;width:100%;display:flex;align-items:center;gap:14px;font-size:23px;font-weight:650;letter-spacing:-.04em;line-height:1.2;margin:0 0 18px;padding:0}
.calc-card legend+*{clear:both}
.calc-step{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;border-radius:50%;background:var(--accent);color:var(--ink);font-size:14px;letter-spacing:0}
.calc-help{font-size:14px;line-height:1.75;color:var(--muted);margin:12px 0 0}
.calc-help:first-of-type{margin-top:0}
.calc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;margin-top:18px}
.calc-wide{grid-column:1/-1}
.calc-field{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600;color:var(--text);min-width:0}
.calc-field small{font-weight:500;color:var(--muted);font-size:12px}
.calc-field input,.calc-field select,.calc-field textarea,.calc-table input[type=text]{width:100%;min-width:0;border:1px solid #ffffff2e;background:#171a20;border-radius:10px;color:var(--text);padding:11px 13px;font-size:16px;font-weight:500;line-height:1.4;transition:border-color .2s,box-shadow .2s}
.calc-field textarea{resize:vertical}
.calc-field input:focus,.calc-field select:focus,.calc-field textarea:focus,.calc-table input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #d6ef8733}
.calc-unit{display:flex;align-items:stretch;position:relative}
.calc-unit input{padding-right:58px}
.calc-unit>span{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:13px;color:var(--muted);font-weight:600;pointer-events:none}
.calc-check{display:flex;gap:11px;align-items:flex-start;font-size:14px;line-height:1.5;color:var(--text);cursor:pointer}
.calc-check input{width:19px;height:19px;flex-shrink:0;margin:1px 0 0;accent-color:#d6ef87}
.calc-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}

.calc-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.calc-tabs label{cursor:pointer}
.calc-tabs input,.calc-option input{position:absolute;opacity:0;pointer-events:none}
.calc-tabs span{display:inline-block;padding:10px 16px;border:1px solid #ffffff2e;border-radius:99px;font-size:13px;color:var(--text);font-weight:650;transition:background .2s,border-color .2s}
.calc-tabs input:checked+span{background:var(--accent);color:var(--ink);border-color:var(--accent)}
.calc-tabs input:focus-visible+span,.calc-option input:focus-visible+span{outline:3px solid var(--accent);outline-offset:3px}
.calc-mode{margin-top:4px}

.calc-breakdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:22px 0 0;padding:16px;border-radius:14px;background:var(--surface-secondary);border:1px solid var(--line)}
.calc-breakdown div{min-width:0}
.calc-breakdown dt{font-size:11px;color:var(--muted);line-height:1.4}
.calc-breakdown dd{margin:3px 0 0;font-weight:700;font-size:15px;white-space:nowrap}
.calc-breakdown .is-total dd{color:var(--accent)}

.calc-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.calc-option{position:relative;cursor:pointer}
.calc-option>span{display:flex;flex-direction:column;gap:3px;height:100%;padding:16px 18px;border:1px solid #ffffff2e;border-radius:16px;transition:border-color .2s,background .2s,box-shadow .2s}
.calc-option strong{font-size:15px;letter-spacing:-.02em}
.calc-option strong{color:var(--text)}
.calc-option em{font-style:normal;font-weight:750;color:var(--accent);font-size:18px;letter-spacing:-.03em}
.calc-option small{font-size:12px;line-height:1.55;color:var(--muted)}
.calc-option input:checked+span{border-color:var(--accent);background:#d6ef8714;box-shadow:inset 0 0 0 1px var(--accent)}
.calc-custom-price{margin-top:16px;max-width:320px}

.calc-extra{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px 20px;margin-top:16px}

.calc-table-wrap{margin-top:16px;overflow-x:auto;border:1px solid var(--line);border-radius:14px}
.calc-table{width:100%;border-collapse:collapse;font-size:13px;min-width:620px}
.calc-table th,.calc-table td{padding:7px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.calc-table thead th{background:var(--surface-secondary);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.calc-table td:first-child,.calc-table th:first-child{width:62px;text-align:center}
.calc-table tbody th{font-weight:600;width:30%;color:var(--text)}
.calc-table input[type=text]{padding:7px 9px;font-size:16px;border-radius:8px}
.calc-table .num{text-align:right;width:140px}
.calc-table .num input{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
.calc-table tr.is-off th,.calc-table tr.is-off input[type=text]{color:#8a8f99;text-decoration:line-through}
.calc-table tr.is-edited .num input{border-color:#e2c44d;background:#2a2617}
.calc-table tr.is-extra th{color:var(--accent)}
.calc-table tfoot th,.calc-table tfoot td{font-size:15px;font-weight:800;border-bottom:0;background:#d6ef871a;color:var(--text);padding:13px 10px}
.calc-table tfoot th{text-align:right}
.calc-reset-row{border:0;background:none;color:#e2c44d;font-size:11px;font-weight:700;padding:2px 0 0;cursor:pointer;text-decoration:underline}

.calc-export .calc-warning{margin:4px 0 18px}
.calc-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.calc-actions .button{border:0}
.calc-actions .button:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.calc-button-ghost{background:transparent;border:1px solid #ffffff60!important;color:var(--text)}
.calc-button-ghost:hover{background:#ffffff14}
.calc-status{font-size:13px;font-weight:600;color:var(--accent);min-height:1.5em;margin:12px 0 0}
.calc-status.is-error{color:#ff8a80}
.calc-link-button{border:0;background:none;padding:0;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}

.calc-summary{position:sticky;top:110px}
.calc-summary-inner{background:var(--surface-secondary);color:var(--text);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:22px;padding:28px;box-shadow:0 20px 50px #0006}
.calc-summary .eyebrow{color:var(--accent);margin-bottom:8px}
.calc-total{font-size:38px;font-weight:750;letter-spacing:-.05em;line-height:1.1;color:white;margin:0 0 20px;font-variant-numeric:tabular-nums}
.calc-kpis{margin:0;display:grid;gap:9px;padding-bottom:18px;border-bottom:1px solid #ffffff1f}
.calc-kpis div{display:flex;justify-content:space-between;gap:12px;font-size:13px}
.calc-kpis dt{color:var(--muted)}
.calc-kpis dd{margin:0;font-weight:700;text-align:right}
.calc-groups{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:11px}
.calc-groups li{font-size:12px;color:var(--muted)}
.calc-groups .row{display:flex;justify-content:space-between;gap:10px;margin-bottom:5px}
.calc-groups .row b{color:white}
.calc-groups .bar{height:6px;border-radius:9px;background:#ffffff14;overflow:hidden}
.calc-groups .bar i{display:block;height:100%;background:var(--accent);border-radius:9px;transition:width .35s}
.calc-summary-note{font-size:12px;line-height:1.6;color:var(--muted);margin:18px 0 0}
.calc-summary-cta{width:100%;margin-top:16px}
.calc-mobile-bar{display:none}
.print-form{display:none}

@media(max-width:1050px){
  .calc-layout{grid-template-columns:1fr}
  .calc-summary{position:static;order:-1}
  .calc-summary-cta{display:none}
  .calc-mobile-bar{display:flex;position:fixed;z-index:30;left:0;right:0;bottom:0;align-items:center;gap:12px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:#141419f7;color:white;backdrop-filter:blur(14px);border-top:1px solid #ffffff1a;font-size:12px;transform:translateY(110%);transition:transform .3s}
  .calc-mobile-bar.is-visible{transform:none}
  .calc-mobile-bar span{color:var(--muted)}
  .calc-mobile-bar strong{font-size:19px;letter-spacing:-.03em;flex:1}
  .calc-mobile-bar a{color:var(--accent);font-weight:700}
  .calc-page .footer{padding-bottom:70px}
}
@media(max-width:700px){
  .calc-section{padding:28px 0 60px}
  .calc-card{padding:22px 18px 24px;border-radius:18px}
  .calc-card legend,.calc-legend{font-size:20px}
  .calc-grid,.calc-options,.calc-checks,.calc-extra{grid-template-columns:1fr}
  .calc-breakdown{grid-template-columns:repeat(2,minmax(0,1fr))}
  .calc-total{font-size:34px}
  .calc-actions .button{width:100%}
  .calc-table{min-width:0}
  .calc-table thead{display:none}
  .calc-table,.calc-table tbody,.calc-table tr,.calc-table td,.calc-table th{display:block;width:auto!important}
  .calc-table tbody tr{display:grid;grid-template-columns:34px minmax(0,1fr) 128px;gap:6px 8px;padding:10px;border-bottom:1px solid var(--line)}
  .calc-table tbody td,.calc-table tbody th{padding:0;border:0}
  .calc-table tbody td:first-child{grid-row:1/3;padding-top:4px}
  .calc-table tbody th{grid-column:2;align-self:center}
  .calc-table tbody td.num{grid-column:3;grid-row:1}
  .calc-table tbody td.desc{grid-column:2/4}
  .calc-table tfoot tr{display:flex;justify-content:space-between}
  .calc-table tfoot th,.calc-table tfoot td{padding:12px}
}

/* Tisk: jen formulář Rozpočet výstavby */
@media print{
  @page{size:A4;margin:14mm}
  body{background:white}
  body>*:not(main),main>*:not(.print-form),.skip-link{display:none!important}
  .print-form{display:block!important;color:#000;font-family:Arial,sans-serif;font-size:9.5pt;line-height:1.3}
  .print-form tfoot{display:table-row-group}
  .print-form tr{break-inside:avoid}
  .print-form h1{font-size:18pt;letter-spacing:0;margin:0 0 10pt;font-weight:700}
  .print-form table{width:100%;border-collapse:collapse}
  .print-form th,.print-form td{border:1px solid #000;padding:2pt 5pt;text-align:left;font-weight:normal}
  .print-form .head th{width:38%;font-weight:700}
  .print-form .items thead th{font-weight:700;background:#eee}
  .print-form .num{text-align:right;white-space:nowrap;width:22%}
  .print-form tfoot th,.print-form tfoot td{font-weight:700}
  .print-form .comment{border:1px solid #000;border-top:0;padding:5pt 6pt;min-height:30pt}
  .print-form .sign{display:flex;justify-content:space-between;margin-top:28pt}
  .print-form .sign div{width:42%;border-top:1px solid #000;padding-top:3pt;text-align:center}
  .print-form .note{font-size:8pt;margin-top:16pt;color:#333}
}
.calc-field[hidden],.calc-mode[hidden],.calc-table tr[hidden]{display:none!important}
.calc-legend{float:none}
@media(max-width:700px){.calc-table tfoot tr{display:flex;align-items:center;background:#d6ef871a}.calc-table tfoot th{flex:1;text-align:left;background:none}.calc-table tfoot td{background:none;white-space:nowrap}}
.calc-help a{text-decoration:underline;text-underline-offset:3px;font-weight:650;color:var(--text)}
@media print{.print-form p{color:#000}}
.calc-mode[data-mode="op"]{margin-top:18px}
/* našeptávač katastrálních území */
.calc-ku{position:relative}
.calc-ku>label{font:inherit;color:inherit}
.calc-ku-list{position:absolute;z-index:15;left:0;right:0;top:calc(100% - 18px);margin:0;padding:6px;list-style:none;background:#171a20;border:1px solid var(--accent);border-radius:12px;box-shadow:0 18px 40px #0008;max-height:320px;overflow-y:auto}
.calc-ku-list li{padding:8px 10px;border-radius:8px;cursor:pointer;line-height:1.35}
.calc-ku-list li b{display:block;font-size:15px;color:var(--text);font-weight:650}
.calc-ku-list li span{font-size:12px;color:var(--muted);font-weight:500}
.calc-ku-list li[aria-selected="true"],.calc-ku-list li:hover{background:#d6ef871f}
.calc-ku-list .calc-ku-info{cursor:default;font-size:13px;color:var(--muted);font-weight:500}
.calc-ku-list .calc-ku-info:hover{background:none}
@media(max-width:700px){.calc-table tfoot{display:block}.calc-table tfoot tr{width:100%!important}}
