/* Free export tools: proforma invoice generator, export price calculator */
.tl-hero{margin-top:var(--nav-h);background:linear-gradient(160deg,#F5F8FF 0%,#EEF3FC 60%,#fff 100%);border-bottom:1px solid var(--lp-line);padding:44px 0 40px;}
.tl-hero h1{font-size:clamp(26px,2.8vw,36px);font-weight:700;line-height:1.15;margin:0 0 12px;}
.tl-hero .lp-lead{margin-bottom:0;max-width:720px;}
.tl-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;}
.tl-badges span{font-size:12px;font-weight:600;color:var(--lp-blue-dk);background:#EEF4FF;border:1px solid #DCE7FB;padding:5px 11px;border-radius:100px;}

.tl-app{padding:36px 0 56px;}
.tl-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:28px;align-items:start;}
.tl-grid > *{min-width:0;}
.tl-panel{background:#fff;border:1px solid var(--lp-line);border-radius:16px;padding:22px 22px 8px;}
.tl-panel h2{font-size:15px;font-weight:600;margin:0 0 4px;}
.tl-panel .tl-hint{font-size:12.5px;color:var(--lp-mid);margin:0 0 14px;line-height:1.55;}
.tl-group{border-top:1px solid var(--lp-line);padding:16px 0 10px;}
.tl-group:first-of-type{border-top:0;padding-top:4px;}
.tl-group > b{display:block;font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--lp-mid);margin-bottom:12px;}
.tl-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.tl-row.three{grid-template-columns:1fr 1fr 1fr;}
.tl-f{display:flex;flex-direction:column;gap:5px;margin-bottom:12px;min-width:0;}
.tl-f label{font-size:12.5px;font-weight:500;color:var(--lp-ink);}
.tl-f small{font-size:11.5px;color:var(--lp-mid);line-height:1.45;}
.tl-f input,.tl-f select,.tl-f textarea{font:inherit;font-size:13.5px;color:var(--lp-ink);background:#fff;border:1px solid #CBD5E1;border-radius:9px;padding:9px 11px;width:100%;box-sizing:border-box;transition:border-color .15s,box-shadow .15s;}
.tl-f textarea{resize:vertical;min-height:62px;line-height:1.5;}
.tl-f input:focus,.tl-f select:focus,.tl-f textarea:focus{outline:none;border-color:var(--lp-blue);box-shadow:0 0 0 3px rgba(37,99,235,.12);}

.tl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.tl-items{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:8px;}
.tl-items th{font-size:11.5px;font-weight:600;color:var(--lp-mid);text-align:left;padding:0 6px 6px 0;}
.tl-items td{padding:0 6px 8px 0;vertical-align:top;}
.tl-items input{font:inherit;font-size:13px;border:1px solid #CBD5E1;border-radius:8px;padding:8px 9px;width:100%;box-sizing:border-box;}
.tl-items input:focus{outline:none;border-color:var(--lp-blue);}
.tl-items .num{width:72px;}
.tl-items .del{background:none;border:0;color:#94A3B8;font-size:18px;line-height:1;padding:8px 4px;cursor:pointer;}
.tl-items .del:hover{color:#DC2626;}
.tl-add{font:inherit;font-size:13px;font-weight:600;color:var(--lp-blue);background:#F5F8FF;border:1px dashed #BFD2F8;border-radius:9px;padding:9px 14px;cursor:pointer;margin-bottom:14px;}
.tl-add:hover{background:#EEF4FF;}

.tl-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 16px;}
.tl-actions button{font:inherit;cursor:pointer;}
.tl-note{font-size:12px;color:var(--lp-mid);line-height:1.55;margin:0 0 14px;}

/* Invoice preview */
.tl-sticky{position:sticky;top:calc(var(--nav-h) + 16px);}
.tl-paper{background:#fff;border:1px solid var(--lp-line);border-radius:12px;box-shadow:0 18px 40px rgba(11,25,41,.08);padding:30px 30px 26px;font-size:12px;color:#1E293B;line-height:1.5;}
.inv-top{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;border-bottom:2px solid #0B1929;padding-bottom:12px;margin-bottom:14px;}
.inv-top h3{font-size:19px;font-weight:700;letter-spacing:.04em;margin:0;color:#0B1929;}
.inv-top .inv-meta{text-align:right;font-size:11.5px;}
.inv-top .inv-meta div{white-space:nowrap;}
.inv-parties{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:14px;}
.inv-parties b,.inv-terms b{display:block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#64748B;margin-bottom:4px;}
.inv-parties p{margin:0;white-space:pre-line;}
.inv-parties .nm{font-weight:600;color:#0B1929;}
.inv-terms{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 16px;border:1px solid #E2E8F0;border-radius:8px;padding:10px 12px;margin-bottom:14px;}
.inv-terms span{font-size:11.5px;color:#0B1929;}
.inv-table{width:100%;border-collapse:collapse;margin-bottom:10px;}
.inv-table th{background:#F1F5F9;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:#475569;text-align:left;padding:7px 8px;}
.inv-table td{border-bottom:1px solid #E2E8F0;padding:7px 8px;vertical-align:top;}
.inv-table .r{text-align:right;white-space:nowrap;}
.inv-sum{margin-left:auto;width:320px;max-width:100%;font-size:12px;}
.inv-sum div{display:flex;justify-content:space-between;gap:12px;padding:4px 8px;}
.inv-sum div span:last-child{white-space:nowrap;}
.inv-sum .tot{border-top:2px solid #0B1929;margin-top:4px;padding-top:8px;font-weight:700;font-size:13.5px;color:#0B1929;}
.inv-foot{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px;}
.inv-foot p{margin:0;white-space:pre-line;font-size:11.5px;}
.inv-foot b{display:block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#64748B;margin-bottom:4px;}
.inv-sign{text-align:right;align-self:end;}
.inv-sign .ln{border-top:1px solid #94A3B8;margin-top:36px;padding-top:4px;font-size:11px;color:#475569;}
.inv-empty{color:#94A3B8;}

/* Price calculator results */
.pc-res{background:#fff;border:1px solid var(--lp-line);border-radius:16px;overflow:hidden;box-shadow:0 18px 40px rgba(11,25,41,.08);}
.pc-res-h{padding:18px 22px;border-bottom:1px solid var(--lp-line);}
.pc-res-h b{font-size:15px;color:var(--lp-ink);}
.pc-res-h p{font-size:12.5px;color:var(--lp-mid);margin:4px 0 0;}
.pc-table{width:100%;border-collapse:collapse;font-size:13.5px;}
.pc-table th{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--lp-mid);text-align:right;padding:10px 22px;background:#FAFBFD;}
.pc-table th:first-child,.pc-table td:first-child{text-align:left;}
.pc-table td{padding:13px 22px;border-top:1px solid var(--lp-line);text-align:right;font-variant-numeric:tabular-nums;color:var(--lp-ink);}
.pc-table td+td{white-space:nowrap;}
.pc-table td:first-child b{display:block;font-weight:600;}
.pc-table td:first-child span{font-size:12px;color:var(--lp-mid);}
.pc-table tr.hl td{background:#F5F8FF;}
.pc-break{padding:16px 22px 18px;border-top:1px solid var(--lp-line);font-size:12.5px;color:var(--lp-body);}
#pcBreak > div{display:flex;justify-content:space-between;padding:3px 0;font-variant-numeric:tabular-nums;}
.pc-break b{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--lp-mid);margin-bottom:6px;}
.pc-warn{font-size:12.5px;color:#92400E;background:#FFFBEB;border:1px solid #FDE68A;border-radius:10px;padding:10px 12px;margin:0 22px 18px;}

/* Content below tools */
.tl-content{padding:8px 0 56px;}
.tl-content h2{font-size:22px;font-weight:700;margin:36px 0 12px;}
.tl-content h3{font-size:16px;font-weight:600;margin:22px 0 8px;}
.tl-content p,.tl-content li{font-size:15px;line-height:1.75;color:var(--lp-body);}
.tl-content table{width:100%;border-collapse:collapse;font-size:14px;margin:12px 0 8px;}
.tl-content th,.tl-content td{border:1px solid var(--lp-line);padding:9px 12px;text-align:left;vertical-align:top;}
.tl-content th{background:#F5F8FF;color:var(--lp-ink);font-weight:600;}
.tl-content details{border:1px solid var(--lp-line);border-radius:12px;padding:14px 18px;margin:10px 0;background:#fff;}
.tl-content summary{font-weight:600;color:var(--lp-ink);cursor:pointer;font-size:15px;}
.tl-content details p{margin:10px 0 0;}
.tl-cta{background:#0B1929;border-radius:18px;padding:30px 32px;display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:40px;}
.tl-cta h2{color:#fff;font-size:20px;margin:0 0 6px;}
.tl-cta p{color:rgba(255,255,255,.75);margin:0;font-size:14.5px;}
.tl-cta .lp-cta-row{flex-shrink:0;}
.tl-more{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:14px;}
.tl-more a{display:block;border:1px solid var(--lp-line);border-radius:14px;padding:18px 20px;text-decoration:none;background:#fff;transition:border-color .15s;}
.tl-more a:hover{border-color:var(--lp-blue);}
.tl-more b{display:block;color:var(--lp-ink);font-size:15px;margin-bottom:4px;}
.tl-more span{color:var(--lp-mid);font-size:13.5px;line-height:1.55;}

/* Tools hub */
.th-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:36px 0 20px;}
.th-card{display:flex;flex-direction:column;border:1px solid var(--lp-line);border-radius:16px;padding:24px;background:#fff;text-decoration:none;transition:border-color .15s,box-shadow .15s;}
.th-card:hover{border-color:var(--lp-blue);box-shadow:0 12px 30px rgba(11,25,41,.07);}
.th-card .k{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--lp-blue-dk);margin-bottom:8px;}
.th-card h2{font-size:19px;margin:0 0 8px;}
.th-card p{font-size:14px;line-height:1.65;color:var(--lp-mid);margin:0 0 16px;flex:1;}
.th-card .go{font-size:14px;font-weight:600;color:var(--lp-blue);}

@media (max-width:1020px){
  .th-grid{grid-template-columns:repeat(2,1fr);}
  .tl-grid{grid-template-columns:1fr;}
  .tl-sticky{position:static;}
  .tl-cta{flex-direction:column;align-items:flex-start;}
}
@media (max-width:640px){
  .lp-wrap{padding:0 16px;}
  .tl-row,.tl-row.three{grid-template-columns:1fr;}
  .tl-paper{padding:18px 14px;font-size:11px;}
  .inv-top{flex-direction:column;}
  .inv-top .inv-meta{text-align:left;}
  .inv-parties,.inv-foot{grid-template-columns:1fr;}
  .inv-terms{grid-template-columns:1fr 1fr;}
  .inv-sum{width:100%;}
  .tl-paper .inv-table{font-size:10.5px;}
  .tl-paper .inv-table th,.tl-paper .inv-table td{padding:6px 5px;}
  .tl-paper .inv-table .r{white-space:normal;}
  .tl-items{min-width:440px;}
  .tl-more,.th-grid{grid-template-columns:1fr;}
  .pc-table th,.pc-table td{padding:10px 12px;}
  .pc-table{font-size:12.5px;}
  .pc-table td+td{white-space:normal;}
  .pc-table th:nth-child(3),.pc-table td:nth-child(3){display:none;}
  .pc-break,.pc-res-h{padding-left:14px;padding-right:14px;}
  .pc-warn{margin:0 14px 14px;}
  .tl-items .num{width:56px;}
}

/* Print: only the invoice */
@media print{
  @page{size:A4;margin:14mm;}
  body *{visibility:hidden !important;}
  #invoice,#invoice *{visibility:visible !important;}
  #invoice{position:absolute;left:0;top:0;width:100%;border:0;box-shadow:none;padding:0;border-radius:0;font-size:11.5px;}
  .wa-float,.navbar{display:none !important;}
}

/* Logo upload */
.tl-logo{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.tl-logo-prev{display:inline-flex;align-items:center;justify-content:center;min-width:96px;height:44px;padding:4px 8px;border:1px solid var(--lp-line);border-radius:9px;background:#FAFBFD;font-size:12px;color:#94A3B8;box-sizing:border-box;}
.tl-logo-prev img{max-height:34px;max-width:140px;display:block;}
.tl .tl-logo-btn,.tl-logo-btn{margin:0;display:inline-block;}
.tl-logo-del{font:inherit;font-size:12.5px;color:#64748B;background:none;border:0;text-decoration:underline;cursor:pointer;padding:4px;}
.tl-logo-del:hover{color:#DC2626;}
.inv-brand{display:flex;align-items:center;min-height:48px;}
.inv-brand img{max-height:52px;max-width:180px;object-fit:contain;display:block;}
.inv-title{margin-bottom:14px;text-align:center;}
.inv-title h3{font-size:19px;font-weight:700;letter-spacing:.04em;margin:0 0 2px;color:#0B1929;}
.inv-title .nm{font-weight:600;color:#334155;}

/* Price calculator v2: aligned fields and result list */
.tl-f label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tl-f small{min-height:17px;}
.tl-in{display:flex;align-items:stretch;border:1px solid #CBD5E1;border-radius:9px;background:#fff;transition:border-color .15s,box-shadow .15s;}
.tl-in:focus-within{border-color:var(--lp-blue);box-shadow:0 0 0 3px rgba(37,99,235,.12);}
.tl-f .tl-in input,.tl-f .tl-in select{border:0;box-shadow:none;border-radius:9px;min-width:0;flex:1;width:auto;}
.tl-f .tl-in input:focus,.tl-f .tl-in select:focus{box-shadow:none;}
.tl-pre,.tl-suf{display:flex;align-items:center;padding:0 10px;font-size:12.5px;font-weight:600;color:var(--lp-mid);background:#F5F7FB;white-space:nowrap;}
.tl-pre{border-right:1px solid var(--lp-line);border-radius:8px 0 0 8px;}
.tl-suf{border-left:1px solid var(--lp-line);border-radius:0 8px 8px 0;}
.tl-in.has-pre input{border-radius:0 9px 9px 0;}
.tl-in.has-suf input{border-radius:9px 0 0 9px;}
.tl-actions .tl-sm{font-size:13.5px;padding:10px 18px;}
.pc-hero{padding:20px 22px 18px;background:linear-gradient(160deg,#F5F8FF,#EEF3FC);border-bottom:1px solid var(--lp-line);}
.pc-hero .k{display:block;font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--lp-blue-dk);}
.pc-hero strong{display:block;font-size:32px;font-weight:700;letter-spacing:-.02em;color:var(--lp-ink);margin:6px 0 4px;font-variant-numeric:tabular-nums;}
.pc-hero .s{display:block;font-size:13px;color:var(--lp-mid);font-variant-numeric:tabular-nums;white-space:pre-wrap;}
.pc-res .pc-warn{margin:16px 22px 0;}
.pc-rows{list-style:none;margin:0;padding:6px 0;}
.pc-rows li{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 22px;border-top:1px solid var(--lp-line);}
.pc-rows li:first-child{border-top:0;}
.pc-rows li.hl{background:#FAFBFF;box-shadow:inset 3px 0 0 var(--lp-blue);}
.pc-rows .l{min-width:0;}
.pc-rows .l b{display:block;font-size:14px;color:var(--lp-ink);}
.pc-rows .l span{display:block;font-size:12.5px;color:var(--lp-mid);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pc-rows .r{text-align:right;flex-shrink:0;}
.pc-rows .r b{display:block;font-size:15px;color:var(--lp-ink);font-variant-numeric:tabular-nums;white-space:nowrap;}
.pc-rows .r b.muted{font-size:13px;font-weight:500;color:#94A3B8;}
.pc-rows .r span{display:block;font-size:12px;color:var(--lp-mid);font-variant-numeric:tabular-nums;white-space:pre;}
#pcBreak > div.tot{border-top:1px solid var(--lp-line);margin-top:6px;padding-top:8px;font-weight:600;color:var(--lp-ink);}
@media (max-width:640px){
  .pc-hero,.pc-rows li{padding-left:14px;padding-right:14px;}
  .pc-hero strong{font-size:26px;}
  .pc-rows li{align-items:flex-start;}
  .pc-rows .l span{white-space:normal;}
  .pc-rows .r span{white-space:normal;}
}
.tl-f input,.tl-f select{min-height:42px;}
.tl-f .tl-in input,.tl-f .tl-in select{min-height:42px;}
.pc-kv > div{display:flex;justify-content:space-between;gap:12px;padding:3px 0;font-variant-numeric:tabular-nums;}
.pc-kv > div.tot{font-weight:600;color:var(--lp-ink);}
.pc-sub{padding:12px 22px 4px;border-top:1px solid var(--lp-line);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--lp-mid);}
.pc-foot{padding:12px 22px 16px;margin:0;border-top:1px solid var(--lp-line);}
@media (max-width:640px){.pc-sub,.pc-foot{padding-left:14px;padding-right:14px;}}
@media (max-width:640px){.tl-content table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;font-size:13px;}.tl-content th,.tl-content td{padding:8px 10px;}}

/* Calmer type: medium weights instead of heavy bold (the invoice paper keeps its own weights) */
.tl-hero h1{font-weight:600;letter-spacing:-.01em;}
.tl-badges span,.tl-add,.th-card .go,.th-card .k,.pc-hero .k,.pc-sub,.tl-group > b,.tl-pre,.tl-suf{font-weight:500;}
.tl-panel h2,.pc-res-h b,.tl-more b,.th-card h2,.tl-cta h2,.pc-rows .l b,.pc-rows .r b,.pc-break b{font-weight:500;}
.pc-hero strong{font-weight:600;}
.tl-content h2{font-weight:600;}
.tl-content h3,.tl-content th,.tl-content summary,.tl-content b,.tl-content strong{font-weight:500;}
.pc-kv > div.tot,#pcBreak > div.tot,.pc-table td:first-child b,.pc-table th,.tl-items th{font-weight:500;}

/* Hub cards with a photo on top */
.th-card{overflow:hidden;}
.th-card .th-img{display:block;margin:-24px -24px 18px;aspect-ratio:16/9;background:#EEF3FC;overflow:hidden;}
.th-card .th-img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s;}
.th-card:hover .th-img img{transform:scale(1.03);}

/* Help box under each tool's result: WhatsApp and the matching service */
.tl-help{margin-top:16px;border:1px solid var(--lp-line);border-radius:14px;background:#fff;padding:18px 20px;}
.tl-help h3{font-size:15px;font-weight:500;color:var(--lp-ink);margin:0 0 6px;}
.tl-help p{font-size:13px;line-height:1.6;color:var(--lp-mid);margin:0 0 14px;}
.tl-help-row{display:flex;flex-wrap:wrap;gap:10px;}
