/* THE TECHNICIAN · Lüftung – additions to the shared layout */

/* Inputs that do not apply to the chosen installation method */
.tool label.dim { opacity: .5; }

/* Cable sizing: three blocks, protection as a full row */
@media (min-width: 1000px) {
    .tool form.cblf > fieldset:last-of-type { grid-column: 1 / -1; grid-template-columns: repeat(6, minmax(0, 1fr)); }
    .tool form.cblf > fieldset:last-of-type > .btns { grid-column: auto; align-self: end; }
    .tool form.cblf > fieldset:last-of-type > .btns .btn { width: 100%; justify-content: center; }
}

/* Own Iz values */
.cap-note { margin: 4px 18px 8px; font-size: 12.5px; color: var(--text-secondary); }
.tool table.own td.v input.own-in { width: 86px; padding: 4px 8px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--field); color: var(--text); font: inherit; font-size: 12.5px; text-align: right; font-variant-numeric: tabular-nums; }
.tool table.own td.v input.own-in:not(:placeholder-shown) { border-color: var(--cyc); background: var(--cycfill); font-weight: 600; }
.tool table.own td.v input.own-in:focus { outline: none; border-color: var(--blue-300); box-shadow: 0 0 0 3px rgba(138, 181, 227, .25); }
.own-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; padding: 12px 18px 16px; border-top: 1px solid var(--border); font-size: 12.5px; color: var(--text-secondary); }
.tool .own-foot .btn-ghost { padding: 6px 14px; font-size: 12.5px; }
.tool table.cmp td .chip + .chip { margin-left: 3px; }

/* Tools in preparation */
.tile.soon { cursor: default; opacity: .78; }
.tile.soon:hover { transform: none; box-shadow: none; border-color: var(--border); }
.tile.soon .tile-art { filter: saturate(.75); }
.tile-go.soon-tag { color: var(--muted); font-weight: 500; }
.settings-row.soon { opacity: .55; cursor: default; }
.settings-row.soon:hover { background: transparent; }

/* Quick current calculation */
.dash-hero .pt-grid label { min-width: 0; }

/* Chart height: utilisation curves read better a little flatter */
@media (min-width: 901px) { .tool .svgbox { height: clamp(400px, 38vw, 540px); } }

/* CJK: keep labels in the three result tables readable */
:root:is(:lang(zh), :lang(ko), :lang(ja)) .res.three td:first-child { min-width: 7.5em; }
/* Phones: quick calculation facts */
@media (max-width: 480px) { .dash-hero .pt-out .fact { padding: 8px 7px; } .dash-hero .pt-out .fact b { font-size: .9rem; white-space: nowrap; } .dash-hero .pt-out .fact span { font-size: 9.5px; letter-spacing: 0; text-transform: none; overflow-wrap: break-word; } }

/* Voltage drop & length: supply block (two columns wide), limits, section table as full row */
@media (min-width: 1000px) {
    .tool form.vdf > #fsQ { grid-column: span 2; grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .tool form.vdf > #fsQ > .wide { grid-column: span 2; }
    .tool form.vdf > #fsS { grid-column: 1 / -1; }
}
.tool form.vdf table.secs { min-width: 1020px; }
.tool form.vdf table.secs td:nth-child(2) { width: 22%; }
.tool form.vdf table.secs td:nth-child(5) { width: auto; min-width: 0; }
.tool form.vdf table.secs td:nth-child(3), .tool form.vdf table.secs td:nth-child(8) { width: 64px; }
.tool form.vdf table.secs td:nth-child(4), .tool form.vdf table.secs td:nth-child(5), .tool form.vdf table.secs td:nth-child(6), .tool form.vdf table.secs td:nth-child(9), .tool form.vdf table.secs td:nth-child(11) { width: 74px; }
.tool form.vdf table.secs td:nth-child(7) { width: 104px; }
.tool form.vdf table.secs td:nth-child(10) { width: 150px; }

/* Short circuit: network block (two columns wide), calculation, section table as full row */
@media (min-width: 1000px) {
    .tool form.scf > #fsQ { grid-column: span 2; grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .tool form.scf > #fsQ > .wide { grid-column: span 2; }
    .tool form.scf > #fsS { grid-column: 1 / -1; }
}
.tool form.scf table.secs { min-width: 900px; }
.tool form.scf table.secs td:nth-child(2) { width: 24%; }
.tool form.scf table.secs td:nth-child(5) { width: 64px; min-width: 0; }
.tool form.scf table.secs td:nth-child(3), .tool form.scf table.secs td:nth-child(6), .tool form.scf table.secs td:nth-child(9), .tool form.scf table.secs td:nth-child(10) { width: 72px; }
.tool form.scf table.secs td:nth-child(4) { width: 104px; }
.tool form.scf table.secs td:nth-child(7) { width: 96px; }
.tool form.scf table.secs td:nth-child(8) { width: 150px; }

/* Transformer, genset & UPS: three blocks, UPS as a full row */
@media (min-width: 1000px) {
    .tool form.trf > fieldset:last-of-type { grid-column: 1 / -1; grid-template-columns: repeat(8, minmax(0, 1fr)); }
    .tool form.trf > fieldset:last-of-type > .btns { grid-column: auto; align-self: end; }
    .tool form.trf > fieldset:last-of-type > .btns .btn { width: 100%; justify-content: center; }
}

/* Load schedule: consumer table as full row, diversity factors two columns wide */
@media (min-width: 1000px) {
    .tool form.lsf > #fsS { grid-column: 1 / -1; }
    .tool form.lsf > #fsD { grid-column: span 2; grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.tool form.lsf table.secs { min-width: 1080px; }
.tool form.lsf table.secs td:nth-child(2) { width: 20%; }
.tool form.lsf table.secs td:nth-child(5) { width: 78px; min-width: 0; }
.tool form.lsf table.secs td:nth-child(3) { width: 200px; }
.tool form.lsf table.secs td:nth-child(10) { width: 160px; }
.tool form.lsf table.secs td:nth-child(4) { width: 100px; }
.tool form.lsf table.secs td:nth-child(6), .tool form.lsf table.secs td:nth-child(7), .tool form.lsf table.secs td:nth-child(8), .tool form.lsf table.secs td:nth-child(9) { width: 76px; }
/* Cable routes: cable table as full row */
@media (min-width: 1000px) { .tool form.rtf > #fsS { grid-column: 1 / -1; } }
.tool form.rtf table.secs { min-width: 1000px; }
.tool form.rtf table.secs td:nth-child(2) { width: 22%; }
.tool form.rtf table.secs td:nth-child(3) { width: 64px; min-width: 0; }
.tool form.rtf table.secs td:nth-child(4) { width: 160px; }
.tool form.rtf table.secs td:nth-child(5), .tool form.rtf table.secs td:nth-child(6), .tool form.rtf table.secs td:nth-child(7) { width: 92px; }
.tool form.rtf table.secs td:nth-child(8), .tool form.rtf table.secs td:nth-child(9), .tool form.rtf table.secs td:nth-child(10) { width: 76px; }
/* Transfer card */
.xfer { display: grid; grid-template-columns: 1fr auto; gap: 8px 10px; align-items: center; padding: 6px 18px 18px; }
.xfer .btn { justify-content: center; padding: 8px 12px; font-size: 12.5px; }
.xfer-txt { grid-column: 1 / -1; font-size: 12px; color: var(--text-secondary); margin: -2px 0 8px; }
.xfer-txt.ok { color: var(--ok); } .xfer-txt.warn { color: var(--warn); }
.tool .xfer .btn:disabled { opacity: .5; cursor: default; }

/* Air volume: room table as full row, quality block two columns wide */
@media (min-width: 1000px) {
    .tool form.airf > #fsS { grid-column: 1 / -1; }
    .tool form.airf > #fsQ { grid-column: span 2; grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.tool form.airf table.secs { min-width: 900px; }
.tool form.airf table.secs td:nth-child(2) { width: 26%; }
.tool form.airf table.secs td:nth-child(3) { width: 210px; }
.tool form.airf table.secs td:nth-child(4), .tool form.airf table.secs td:nth-child(5), .tool form.airf table.secs td:nth-child(6), .tool form.airf table.secs td:nth-child(8) { width: 84px; }
.tool form.airf table.secs td:nth-child(7) { width: 110px; }

/* Duct network: section table as full row */
@media (min-width: 1000px) { .tool form.ductf > #fsS { grid-column: 1 / -1; } .tool form.ductf > #fsD, .tool form.ductf > #fsA { grid-column: span 1; } }
@media (min-width: 1000px) { .tool form.ductf > #fsD { grid-column: span 2; grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.tool form.ductf table.secs { min-width: 1060px; }
.tool form.ductf table.secs td:nth-child(2) { width: 22%; }
.tool form.ductf table.secs td:nth-child(5) { width: 130px; }
.tool form.ductf table.secs td:nth-child(3), .tool form.ductf table.secs td:nth-child(6), .tool form.ductf table.secs td:nth-child(7) { width: 92px; }
.tool form.ductf table.secs td:nth-child(4), .tool form.ductf table.secs td:nth-child(8), .tool form.ductf table.secs td:nth-child(9), .tool form.ductf table.secs td:nth-child(10), .tool form.ductf table.secs td:nth-child(11) { width: 76px; }

/* h,x chart & air treatment: site block as full row, three season/coil blocks */
@media (min-width: 1000px) { .tool form.hxf > #fsF { grid-column: 1 / -1; grid-template-columns: repeat(5, minmax(0, 1fr)); } .tool form.hxf > #fsF > .btns { grid-column: auto; align-self: end; } }
.tool .pair { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.tool .pair input { min-width: 0; }
.res .card .xfer { padding-top: 12px; }

/* Fan: operating point as full row */
@media (min-width: 1000px) { .tool form.fanf > #fsO { grid-column: 1 / -1; grid-template-columns: repeat(5, minmax(0, 1fr)); } .tool form.fanf > #fsO > .btns { grid-column: auto; align-self: end; } }

/* Heat recovery: option table as full row */
@media (min-width: 1000px) { .tool form.hrf > #fsS { grid-column: 1 / -1; } }
.tool form.hrf table.secs { min-width: 1040px; }
.tool form.hrf table.secs td:nth-child(2) { width: 22%; }
.tool form.hrf table.secs td:nth-child(3) { width: 220px; }
.tool form.hrf table.secs td:nth-child(4), .tool form.hrf table.secs td:nth-child(5), .tool form.hrf table.secs td:nth-child(6), .tool form.hrf table.secs td:nth-child(7), .tool form.hrf table.secs td:nth-child(8) { width: 82px; }
.tool form.hrf table.secs td:nth-child(9) { width: 104px; }

/* Sound: fan and manufacturer octave data as full rows */
.tool form.sndf > #fsM { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tool form.sndf > #fsM > .hint { grid-column: 1 / -1; }
@media (min-width: 1000px) {
  .tool form.sndf > #fsF { grid-column: 1 / -1; grid-template-columns: repeat(5, minmax(0, 1fr)); } .tool form.sndf > #fsF > .btns { grid-column: auto; align-self: end; }
  .tool form.sndf > #fsM { grid-column: 1 / -1; grid-template-columns: repeat(8, minmax(0, 1fr)); }
}
.tool table.cmp tr.ref td { font-weight: 600; }

/* Air distribution: room & loads as full row */
@media (min-width: 1000px) { .tool form.distf > #fsR { grid-column: 1 / -1; grid-template-columns: repeat(6, minmax(0, 1fr)); } }

/* Smoke extraction: design fire as full row */
@media (min-width: 1000px) { .tool form.smkf > #fsF { grid-column: 1 / -1; grid-template-columns: repeat(5, minmax(0, 1fr)); } }

/* Formelsammlung */
.fx-bar { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; padding: 14px 16px; margin-bottom: 18px; }
@media (min-width: 1000px) { .fx-bar { position: sticky; top: 64px; z-index: 5; } }
.fx-toc { display: flex; flex-wrap: wrap; gap: 6px; flex: 1 1 520px; }
.fx-toc a.badge { text-decoration: none; }
.tool label.fx-search { display: flex; flex-direction: row; align-items: center; gap: 8px; flex: 1 1 260px; font-size: 13px; color: var(--muted); margin: 0; }
.tool label.fx-search input { flex: 1; min-width: 0; margin: 0; }
.fx-count { font-size: 12px; color: var(--muted); font-variant-numeric: tabular-nums; }
.fx-sec { margin: 26px 0 8px; scroll-margin-top: 140px; }
.fx-sec-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; border-bottom: 1px solid var(--grid2, var(--grid)); padding-bottom: 6px; }
.fx-sec-head h2 { margin: 0; font-size: 18px; }
.fx-sec-head a.badge { text-decoration: none; }
.fx-intro { color: var(--ink2); font-size: 13.5px; margin: 8px 0 14px; }
.fx-sec { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.fx-sec > .fx-sec-head, .fx-sec > .fx-intro { grid-column: 1 / -1; }
.fx-sec > .fx-intro { margin-top: -6px; margin-bottom: 0; }
@media (max-width: 1000px) { .fx-sec { grid-template-columns: minmax(0, 1fr); } }
article.fx { padding: 14px 16px 12px; display: flex; flex-direction: column; gap: 8px; min-width: 0; scroll-margin-top: 140px; }
article.fx h3 { margin: 0; font-size: 14.5px; display: flex; gap: 8px; align-items: baseline; }
.fx-no { font-size: 11px; color: var(--muted); font-variant-numeric: tabular-nums; min-width: 1.6em; }
.fx-math { overflow-x: auto; overflow-y: hidden; padding: 2px 0; }
.fx-math .katex-display { margin: 4px 0; text-align: left; }
.fx-math .katex-display > .katex { text-align: left; }
.fx-math .katex { font-size: 1.08em; }
.fx-d { margin: 0; font-size: 13px; color: var(--ink2); line-height: 1.5; }
table.fx-sym { width: 100%; border-collapse: collapse; font-size: 12.5px; }
table.fx-sym td { padding: 4px 6px; border-top: 1px solid var(--grid); vertical-align: top; }
table.fx-sym td.fx-s { width: 1%; white-space: nowrap; }
table.fx-sym td.fx-u { width: 1%; white-space: nowrap; text-align: right; color: var(--ink2); }
.fx-ex { background: color-mix(in srgb, var(--cyc) 7%, transparent); border-left: 3px solid var(--cyc); border-radius: 6px; padding: 6px 10px; }
.fx-exl { font-size: 11.5px; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; }
.fx-ex .fx-math .katex { font-size: 0.98em; }
html:lang(de) .fx-ex .fx-dot, html:not(:lang(de)) .fx-ex .fx-com { display: none; }
.fx-src { margin-top: auto; display: flex; gap: 6px; flex-wrap: wrap; }
p.fx-link { margin: 10px 0 0; }
p.fx-link a.badge, a.fx-row { text-decoration: none; }
a.fx-row { color: inherit; }
article.fx:target { outline: 2px solid var(--cyc); }
.fx-sec[hidden], article.fx[hidden] { display: none; }
.fx-search input { padding: 7px 10px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--field); color: var(--text); font: inherit; font-size: 13px; outline: none; }
.fx-search input:focus { border-color: var(--blue-300); box-shadow: 0 0 0 3px rgba(138, 181, 227, .25); }
html:lang(de) .fx > .fx-math.fx-dot, html:not(:lang(de)) .fx > .fx-math.fx-com { display: none; }
.fx > .fx-math .katex-display { margin: 2px 0; }
@media (max-width: 600px) { .fx-math .katex { font-size: 0.95em; } .fx-ex .fx-math .katex { font-size: 0.88em; } article.fx { padding: 12px; } }
