/* Calculator Tehnologie Asistivă — stilat pe tokenii temei (var(--...)) cu fallback,
   deci se potrivește cu site-ul și merge în dark mode. Accesibil (contrast, focus, 44px). */
.cta{--c-pri:var(--color-primary,#0d4f93);--c-acc:var(--color-accent,#b45309);--c-ink:var(--color-ink,#14222f);
  --c-txt:var(--color-text,#243447);--c-mut:var(--color-muted,#5a6b7a);--c-bd:var(--color-border,#d8e1ec);
  --c-surf:var(--color-surface,#fff);--c-sub:var(--color-surface-subtle,#f7f9fc);--c-ok:var(--color-success,#1a6e37);
  --c-warn:var(--color-danger,#b3261e);--c-onpri:var(--color-on-primary,#fff);
  color:var(--c-txt);max-width:100%;}
.cta *{box-sizing:border-box}
.cta-card{background:var(--c-sub);border:1px solid var(--c-bd);border-radius:10px;padding:1rem;margin:0 0 1rem}
.cta-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.8rem}
.cta label{display:block;font-weight:600;color:var(--c-ink);font-size:.9rem;margin-bottom:.25rem}
.cta input,.cta select{width:100%;min-height:44px;padding:.5rem .7rem;border:1px solid #949aa4;border-radius:6px;font-size:1rem;background:var(--c-surf);color:var(--c-ink)}
.cta input:focus,.cta select:focus,.cta button:focus,.cta a:focus{outline:3px solid var(--c-acc);outline-offset:2px}
.cta-actions{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin-top:.8rem}
.cta-btn{min-height:44px;padding:.5rem 1rem;border-radius:6px;border:2px solid var(--c-pri);background:var(--c-pri);color:var(--c-onpri);font-weight:700;font-size:.95rem;cursor:pointer}
.cta-btn.cta-sec{background:var(--c-surf);color:var(--c-pri)}
.cta-btn.cta-warnbtn{border-color:var(--c-warn);background:var(--c-surf);color:var(--c-warn)}
.cta-btn[disabled]{opacity:.45;cursor:not-allowed}
.cta-count{font-weight:700;color:var(--c-ink);margin:.6rem 0}
.cta-tablewrap{overflow-x:auto;border:1px solid var(--c-bd);border-radius:10px;background:var(--c-surf)}
.cta-table{border-collapse:collapse;width:100%;min-width:820px;margin:0}
.cta-table caption{text-align:left;padding:.6rem .8rem;color:var(--c-mut);font-size:.9rem}
.cta-table th,.cta-table td{text-align:left;padding:.55rem .7rem;border-bottom:1px solid var(--c-bd);font-size:.94rem;vertical-align:top}
/* antet fix (albastru închis) — contrast AA cu text alb în AMBELE teme, nu se deschide în dark */
.cta-table thead th{background:#0d4f93;color:#fff;position:sticky;top:0}
.cta-table tbody tr:hover{background:var(--c-sub)}
.cta-table td.cta-pr{white-space:nowrap;font-variant-numeric:tabular-nums}
.cta-table td.cta-chk{width:44px;text-align:center}
.cta-table td.cta-chk input{width:22px;height:22px;min-height:22px}
.cta a{color:var(--c-pri);font-weight:600}
.cta-pager{display:flex;gap:.6rem;align-items:center;justify-content:center;margin:.8rem 0}
.cta-selh{margin:.1rem 0 .6rem;color:var(--c-ink)}
.cta-sel-item{display:flex;justify-content:space-between;gap:.6rem;align-items:center;padding:.4rem 0;border-bottom:1px solid var(--c-bd)}
.cta-sel-item .cta-nm{flex:1}
.cta-sel-item .cta-rm{min-height:32px;padding:.15rem .6rem;background:var(--c-surf);border:2px solid var(--c-warn);color:var(--c-warn);border-radius:6px;font-size:.85rem;font-weight:700;cursor:pointer}
.cta-total{font-size:1.15rem;font-weight:800;color:var(--c-ink);margin:.6rem 0}
.cta-msg{padding:.55rem .8rem;border-radius:6px;margin:.4rem 0;font-weight:600}
.cta-msg.ok{background:var(--color-success-bg,#e7f4ec);color:var(--c-ok);border:1px solid var(--c-ok)}
.cta-msg.bad{background:var(--color-danger-bg,#fdeceb);color:var(--c-warn);border:1px solid var(--c-warn)}
.cta-limits{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.8rem;margin-bottom:.6rem}
.cta-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.cta-exp{display:flex;gap:.6rem;flex-wrap:wrap;margin:.8rem 0 .4rem}
.cta-manual{margin:.4rem 0 .8rem}
.cta-manual[hidden]{display:none}
.cta-manual textarea{width:100%;font-family:ui-monospace,Consolas,monospace;font-size:.85rem;line-height:1.45;padding:.6rem;border:1px solid #949aa4;border-radius:6px;background:var(--c-surf);color:var(--c-ink)}
#cta-expmsg:empty{display:none}
#cta-expmsg{margin:.2rem 0 .6rem;font-weight:600;color:var(--c-ink)}
.cta-muted,.cta-note{color:var(--c-mut);font-size:.88rem}
.cta-note{max-width:75ch;line-height:1.5;margin-top:1rem}
@media(max-width:640px){.cta-table th,.cta-table td{font-size:.88rem;padding:.45rem .5rem}}
.cta-contact{min-height:36px;padding:.25rem .7rem;font-size:.85rem}
/* numele furnizorului = buton care arată ca un link (filtrează lista la produsele lui) */
.cta-flink{background:none;border:0;padding:.25rem 0;margin:0;font:inherit;font-weight:600;color:var(--c-pri);
  text-align:left;text-decoration:underline;text-underline-offset:2px;cursor:pointer;min-height:24px}
.cta-flink:hover{color:var(--c-acc);text-decoration-thickness:2px}
.cta-sublabel{display:block;font-size:.78rem;color:var(--c-mut);margin-top:.15rem}
/* ===== Tipărire / salvare ca PDF (doar lista aleasă) ===== */
#cta-print{color:#000;background:#fff}
#cta-print h1{font-size:18pt;margin:0 0 .2rem}
.cta-psub{color:#444;margin:0 0 1rem;font-size:10pt}
.cta-ptable{width:100%;border-collapse:collapse;margin:0 0 1rem}
.cta-ptable th,.cta-ptable td{border:1px solid #888;padding:6pt 7pt;text-align:left;font-size:10pt;vertical-align:top}
.cta-ptable thead th{background:#e8eef6}
.cta-ptable tfoot td{background:#f2f5f9;font-weight:700}
.cta-pcontact{display:block;margin-top:3pt;font-size:9pt;color:#333;line-height:1.45}
.cta-pnote{font-size:9pt;color:#333;line-height:1.5;border-top:1px solid #bbb;padding-top:6pt}
/* Când există produse alese, ORICE tipărire a paginii (buton sau meniul browserului)
   scoate doar lista curată — important pe telefoanele unde window.print() nu face nimic. */
@media print{
  body.cta-has-sel *{visibility:hidden !important}
  body.cta-has-sel #cta-print,body.cta-has-sel #cta-print *{visibility:visible !important}
  body.cta-has-sel #cta-print{display:block !important;position:absolute;left:0;top:0;width:100%;padding:0;margin:0}
  .cta-ptable{page-break-inside:auto}
  .cta-ptable tr{page-break-inside:avoid}
  a[href]:after{content:''}
  @page{margin:14mm}
}
/* Modală contact */
.cta-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:rgba(20,34,47,.55);padding:1rem}
.cta-modal[hidden]{display:none}
.cta-modal-box{position:relative;background:var(--c-surf);color:var(--c-txt);border:1px solid var(--c-bd);border-radius:12px;max-width:440px;width:100%;padding:1.4rem 1.4rem 1rem;box-shadow:0 10px 40px rgba(0,0,0,.3)}
.cta-modal-h{margin:0 2rem .8rem 0;color:var(--c-ink);font-size:1.2rem}
.cta-modal-box p{margin:.4rem 0}
.cta-modal-box a{color:var(--c-pri);font-weight:600}
.cta-modal-x{position:absolute;top:.6rem;right:.6rem;min-height:40px;min-width:40px;padding:0;border:1px solid var(--c-bd);background:var(--c-sub);color:var(--c-ink);border-radius:6px;font-size:1.1rem;cursor:pointer}
.cta-modal-x:hover{border-color:var(--c-acc);color:var(--c-acc)}
