/* deviz.css — devizul estimativ (S24c b): pe ecran, foaia albă pe banda deschisă; la tipar, doar foaia, pe A4. */
.deviz__pagina { display: grid; gap: var(--acd-sp-card); padding-block: clamp(24px, 5vw, 56px); }
.deviz__unelte { display: flex; flex-wrap: wrap; gap: 12px; }
.deviz__tipar[hidden] { display: none; }   /* .buton pune display: inline-flex, care altfel bate atributul hidden (G44) */
.deviz__fara-js { font-size: var(--acd-mic); color: var(--acd-otel); }
.deviz { display: grid; gap: 14px; width: 100%; max-width: 820px; margin-inline: auto; padding: clamp(20px, 5vw, 56px); background-color: var(--acd-alb); color: var(--acd-ardezie); box-shadow: var(--acd-umbra-treapta), 0 0 0 1px rgb(15 23 42 / .08); }
.deviz h1 { font: 700 clamp(1.5rem, 1.2rem + 1.2vw, 2rem) / 1.15 var(--acd-font-titlu); }
.deviz h2 { font: 600 1.0625rem / 1.3 var(--acd-font-titlu); }
.deviz p, .deviz li { font-size: var(--acd-mic); line-height: 1.5; }
.deviz__cap { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 16px; padding-bottom: 14px; border-bottom: 2px solid var(--acd-ardezie); }
.deviz__cap > div { text-align: right; }
.deviz__data { color: var(--acd-otel); }
.deviz__parti { display: grid; gap: 16px; }
.deviz__parti a { color: inherit; }
.deviz__linii { display: grid; gap: 14px; }
.deviz__linii span { display: block; padding-top: 14px; border-bottom: 1px solid var(--acd-otel); color: var(--acd-otel); }
.deviz__formula { padding: 10px 12px; background-color: color-mix(in srgb, var(--acd-ardezie) 5%, var(--acd-alb)); }
.deviz__tabel { width: 100%; border-collapse: collapse; font-size: var(--acd-mic); line-height: 1.45; }
.deviz__tabel caption { text-align: left; padding-bottom: 8px; font: 600 1.0625rem / 1.3 var(--acd-font-titlu); }
.deviz__tabel th, .deviz__tabel td { padding: 10px 8px; text-align: left; vertical-align: top; border-bottom: 1px solid color-mix(in srgb, var(--acd-ardezie) 18%, var(--acd-alb)); }
.deviz__tabel thead th { font-weight: 700; border-bottom: 2px solid var(--acd-ardezie); }
.deviz__tabel tbody th { font-weight: 400; }
.deviz__tabel th small { display: block; color: var(--acd-otel); }
.deviz__tabel td:first-child { width: 2.5rem; }
.deviz__tabel td:last-child, .deviz__tabel thead th:last-child { text-align: right; white-space: nowrap; }
.deviz__tabel tfoot th, .deviz__tabel tfoot td { font-weight: 700; font-size: 1rem; border-bottom: 0; border-top: 2px solid var(--acd-ardezie); }
.deviz__tabel tfoot td { color: var(--acd-padure); }
.deviz__note { display: grid; gap: 4px; padding-left: 1.1em; }
.deviz__jos { padding-top: 10px; border-top: 1px solid color-mix(in srgb, var(--acd-ardezie) 18%, var(--acd-alb)); color: var(--acd-otel); }
@media (max-width: 639px) {   /* pe telefon, valoarea se rupe la liniuță, ca denumirea să aibă loc */
  .deviz { padding: 16px; }
  .deviz__tabel th, .deviz__tabel td { padding: 8px 4px; }
  .deviz__tabel td:first-child { width: 1.75rem; }
  .deviz__tabel td:last-child { white-space: normal; min-width: 5.5rem; }
}
@media (min-width: 640px) { .deviz__parti { grid-template-columns: 1fr 1fr; } }
@media print {
  @page { size: A4; margin: 14mm; }
  .antet, .subsol, .bara, .sari, .deviz__unelte, .deviz__fara-js { display: none !important; }
  body, main { background: #fff !important; }
  html, body, main { min-height: 0 !important; height: auto !important; padding: 0 !important; }   /* body are 64 px jos pentru bara de pe mobil: împingea o a doua pagină goală (G45) */
  .deviz__pagina { padding: 0; gap: 0; }
  .deviz__tabel, .deviz__note { break-inside: avoid; }
  .deviz { max-width: none; padding: 0; box-shadow: none; }
  .deviz__parti { grid-template-columns: 1fr 1fr; }
  .deviz a { text-decoration: none; }
}
