/* Muuttolaskuri – pixel-perfect alkuperäisen Lovable-designin mukaan.
   tp-* luokat 1:1; body-sääntö korvattu .tp-wrap:lla, ettei teemaan vaikuteta. */
:root{
  --tp-primary:#3aa6b9;--tp-primary-dark:#2a8a9b;--tp-primary-glow:#5fc2d3;
  --tp-navy:#073b4c;--tp-bg:#e9f8f9;--tp-card:#ffffff;--tp-border:#d6e8eb;
  --tp-text:#0f2a33;--tp-muted:#6b7f87;--tp-chip:#f0f7f8;
}
.tp-wrap *{box-sizing:border-box}
.tp-wrap{max-width:1100px;margin:0 auto 20px;background:var(--tp-card);border-radius:18px;padding:28px 28px 32px;box-shadow:0 10px 40px rgba(7,59,76,.08);font-family:inherit;color:var(--tp-text);line-height:1.5}
.tp-badge{display:inline-block;background:#cdeef2;color:var(--tp-navy);font-weight:700;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;padding:6px 14px;border-radius:999px;margin-bottom:14px}
.tp-h{font-family:inherit;font-weight:800;font-size:2rem;color:var(--tp-navy);margin:0 0 6px;letter-spacing:-.01em}
.tp-sub{color:var(--tp-muted);font-size:.95rem;margin:0 0 24px}
.tp-card{background:#fff;border:1px solid var(--tp-border);border-radius:14px;padding:22px 22px 18px;margin-bottom:18px}
.tp-card h3{margin:0 0 14px;font-size:1rem;font-weight:700;color:var(--tp-navy);letter-spacing:.02em;text-transform:uppercase}
.tp-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media(max-width:760px){.tp-grid{grid-template-columns:1fr}}
.tp-chips{display:flex;flex-wrap:wrap;gap:8px}
.tp-chip{background:#fff;border:1px solid var(--tp-border);color:var(--tp-text);padding:9px 16px;border-radius:999px;cursor:pointer;font-family:inherit;font-size:.88rem;font-weight:500;transition:all .15s ease}
.tp-chip:hover{border-color:var(--tp-primary)}
.tp-chip.active{background:#cdeef2;border-color:var(--tp-primary);color:var(--tp-navy);font-weight:700}
.tp-label{display:block;font-size:.85rem;font-weight:700;color:var(--tp-navy);margin:0 0 8px}
.tp-help{font-size:.8rem;color:var(--tp-muted);margin:-6px 0 10px;line-height:1.4}
.tp-input{width:100%;padding:11px 14px;border:1px solid var(--tp-border);border-radius:10px;font-size:1rem;font-family:inherit;background:#fff;color:var(--tp-text)}
.tp-input:focus{outline:none;border-color:var(--tp-primary);box-shadow:0 0 0 3px rgba(58,166,185,.15)}
.tp-col{display:flex;flex-direction:column;gap:6px}
.tp-sub-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
@media(max-width:520px){.tp-sub-row{grid-template-columns:1fr}}
.tp-result{background:linear-gradient(135deg,#cdeef2,#e9f8f9);border:1px solid var(--tp-primary);border-radius:14px;padding:22px 24px;margin-top:8px}
.tp-result-head{font-size:2rem;font-weight:800;color:var(--tp-navy);margin:0 0 8px;line-height:1.1}
.tp-result-head .tp-alv{font-size:.5em;font-weight:600;opacity:.7;letter-spacing:.01em}
.tp-incl{font-size:.85rem;color:var(--tp-navy);opacity:.75;margin-top:4px;line-height:1.45}
.tp-result-meta{font-size:.85rem;color:var(--tp-navy);margin:0 0 14px;opacity:.8}
.tp-lines{font-size:.88rem;color:var(--tp-navy)}
.tp-line{display:flex;justify-content:space-between;padding:4px 0;border-top:1px dashed rgba(7,59,76,.18)}
.tp-line:first-child{border-top:none}
.tp-line.total{border-top:2px solid var(--tp-navy);margin-top:8px;padding-top:10px;font-weight:800;font-size:1.05rem}
.tp-note{font-size:.78rem;color:var(--tp-muted);font-style:italic;margin-top:12px}
.tp-cta{display:block;text-align:center;background:var(--tp-primary);color:#fff;font-weight:700;padding:16px;border-radius:10px;text-decoration:none;margin-top:16px;font-size:1rem;transition:background .15s}
.tp-cta:hover{background:var(--tp-primary-dark)}
.tp-cta:disabled{opacity:.6;cursor:not-allowed}
.tp-warn{background:#fff7e6;border:1px solid #f4cd6a;color:#7a4e00;padding:10px 14px;border-radius:8px;font-size:.85rem;margin-top:10px}
.tp-warn.ok{background:#e7f7ee;border-color:#7fcf9f;color:#185c34}
.tp-toggle-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.tp-pkg{font-weight:700;color:var(--tp-primary-dark)}

/* ---- Tarjouspyyntö-lomake: sama ulkoasu kuin etusivun WPForms #1622 ---- */
.ml-qform .ml-qgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 20px}
.ml-qform .ml-qfield{padding:9px 0;min-width:0;display:flex;flex-direction:column}
.ml-qform .ml-qfield--wide,.ml-qform .ml-qsubmit,.ml-qform #mlFormMsg{grid-column:1 / -1}
.ml-qform label{font:600 13px/1.3 'Montserrat',system-ui,sans-serif;color:#073b4c;margin:0 0 5px}
.ml-qform .ml-req{color:#e2493b}
.ml-qform input,.ml-qform textarea{width:100%;max-width:100%;border:1px solid #d6dee5;border-radius:10px;padding:10px 12px;font:400 14px 'Montserrat',system-ui,sans-serif;color:#073b4c;background:#fff;box-shadow:none;transition:border-color .15s,box-shadow .15s}
.ml-qform input:focus,.ml-qform textarea:focus{outline:none;border-color:#3aa6b9;box-shadow:0 0 0 3px rgba(58,166,185,.18)}
.ml-qform textarea{min-height:110px;resize:vertical}
.ml-qform .ml-qsubmit{margin-top:14px}
.ml-qform .ml-qbtn{width:100%;background:#3aa6b9;color:#fff;border:0;border-radius:10px;padding:14px 22px;font:600 15px 'Montserrat',system-ui,sans-serif;cursor:pointer;transition:background .15s,transform .15s}
.ml-qform .ml-qbtn:hover{background:#2d8a9b;transform:translateY(-1px)}
.ml-qform .ml-qbtn:disabled{opacity:.6;cursor:not-allowed;transform:none}
.ml-qform .ml-hp{position:absolute;left:-9999px;height:0;overflow:hidden}
@media(max-width:600px){.ml-qform .ml-qgrid{grid-template-columns:1fr}}
