/* Maalisto – hinta-arviolaskuri (sivukohtainen ja Elementor-ystävällinen) */
.maalisto-price-calc { --mlpc-orange:#ff820a; --mlpc-orange-deep:#de6500; --mlpc-ink:#20252b; --mlpc-muted:#677078; --mlpc-edge:#e5e9ed; --mlpc-surface:#fff; position:relative; max-width:700px; width:100%; margin:24px auto; box-sizing:border-box; font-family:'Source Sans Pro', 'Source Sans 3', 'Segoe UI', Arial, sans-serif; color:var(--mlpc-ink); }
.maalisto-price-calc *, .maalisto-price-calc *::before, .maalisto-price-calc *::after {box-sizing:border-box}
.maalisto-price-calc .mlpc-backdrop {display:none}
.maalisto-price-calc .mlpc-card {position:relative; z-index:1; background:#fff; border:1px solid #e9e9e9; border-radius:20px; overflow:hidden; box-shadow:0 14px 55px rgba(25,30,35,.10); width:100%; max-width:700px; margin:auto; }
.maalisto-price-calc .mlpc-close {display:none;position:absolute;z-index:4;top:11px;right:12px;border:0;padding:0;width:38px;height:38px;align-items:center;justify-content:center;line-height:1;font-size:27px;border-radius:12px;background:#f5f5f5;color:#333;cursor:pointer}
.maalisto-price-calc .mlpc-close:hover {background:#ececec;color:#000}
.maalisto-price-calc .mlpc-progress {display:none;padding:16px 30px 0;background:#fff}
.maalisto-price-calc.mlpc-show-progress .mlpc-progress {display:block}
.maalisto-price-calc .mlpc-progress-text {display:flex;justify-content:space-between;color:#6b737c;font-size:12px;font-weight:700;margin-bottom:9px}
.maalisto-price-calc .mlpc-progress-track {height:7px;background:#f0f0f0;border-radius:50px;overflow:hidden}
.maalisto-price-calc .mlpc-progress-bar {height:100%;width:0;background:var(--mlpc-orange);transition:width .22s ease;border-radius:50px}
.maalisto-price-calc .mlpc-inner {padding:32px 42px 30px;min-height:340px}
.maalisto-price-calc .mlpc-step[hidden] {display:none!important}
.maalisto-price-calc .mlpc-step {min-height:280px;animation:mlpc-fade .16s ease-out}
@keyframes mlpc-fade {from{opacity:.6}to{opacity:1}}
.maalisto-price-calc .mlpc-eyebrow {font-size:11px;letter-spacing:1.4px;font-weight:800;color:#c36000;text-transform:uppercase;margin-bottom:11px}
.maalisto-price-calc h2.mlpc-title {font-family:Poppins,'Source Sans Pro',Arial,sans-serif !important; font-size:clamp(22px,3vw,29px)!important; line-height:1.22!important;letter-spacing:-.65px;font-weight:700!important;margin:0 0 13px!important;padding:0!important;color:#171717!important}
.maalisto-price-calc .mlpc-description {font-size:16px;line-height:1.6;color:#586068;margin:0 0 27px}
.maalisto-price-calc .mlpc-intro {text-align:center;display:flex;align-items:center;flex-direction:column;justify-content:center;min-height:300px}
.maalisto-price-calc .mlpc-intro .mlpc-description {max-width:500px}
/* v1.0.14: vain laskimen kuva aloitusnakymaan. Muuta asettelua ei muuteta. */
.maalisto-price-calc .mlpc-intro-visual {display:block;width:154px;height:112px;margin:0 auto 9px}
.maalisto-price-calc .mlpc-intro-visual img {display:block;width:100%;height:100%;object-fit:contain;border:0;box-shadow:none;padding:0;margin:0}
@media (max-width:650px) {.maalisto-price-calc .mlpc-intro-visual {width:140px;height:102px}}

.maalisto-price-calc button.mlpc-button {border:1px solid transparent;border-radius:11px;padding:13px 23px;min-height:47px;font:inherit;font-size:15px;font-weight:800;line-height:1.35;cursor:pointer;transition:background-color .16s,border-color .16s,transform .16s;white-space:nowrap;text-transform:none;box-shadow:none;letter-spacing:0}
.maalisto-price-calc button.mlpc-button:focus-visible,.maalisto-price-calc .mlpc-option:focus-visible,.maalisto-price-calc .mlpc-close:focus-visible {outline:3px solid #ffac56;outline-offset:2px}
.maalisto-price-calc button.mlpc-button-primary {background:var(--mlpc-orange);color:#171717;border-color:var(--mlpc-orange)}
.maalisto-price-calc button.mlpc-button-primary:hover {background:#ef7400;border-color:#ef7400;color:#171717;transform:translateY(-1px)}
.maalisto-price-calc button.mlpc-button-primary:disabled {opacity:.7;cursor:wait;transform:none}
.maalisto-price-calc button.mlpc-button-secondary {background:#fff;border-color:#d8dee4;color:#303840}
.maalisto-price-calc button.mlpc-button-secondary:hover {background:#f6f7f8;border-color:#c9ced3;color:#20252b}
.maalisto-price-calc .mlpc-button-wide {width:100%;max-width:270px}
.maalisto-price-calc .mlpc-disclaimer,.maalisto-price-calc .mlpc-privacy {font-size:12px;line-height:1.6;color:#77808a;margin:17px 0 0}
.maalisto-price-calc .mlpc-area-box {padding:20px 26px;border-radius:15px;background:#f8f9fa;border:1px solid #e8edf0;max-width:460px;margin:0 auto}
.maalisto-price-calc .mlpc-area-box label {display:block;font-weight:700;color:#3c454c;text-align:center;font-size:13px;margin-bottom:9px}
.maalisto-price-calc .mlpc-number-row {display:flex;align-items:baseline;justify-content:center;gap:9px}
.maalisto-price-calc .mlpc-number-row input {font-family:Poppins,Arial,sans-serif;font-size:40px;font-weight:700;width:155px;padding:1px 6px;height:auto;line-height:1.3;background:transparent;border:0;border-bottom:2px solid #c4cdd4;border-radius:0;text-align:center;color:#20252b;box-shadow:none;appearance:textfield}
.maalisto-price-calc .mlpc-number-row input::-webkit-inner-spin-button,.maalisto-price-calc .mlpc-number-row input::-webkit-outer-spin-button {-webkit-appearance:none;margin:0}
.maalisto-price-calc .mlpc-number-row span {font-size:18px;font-weight:800;color:#47505a}
.maalisto-price-calc input.mlpc-slider {display:block;width:100%;margin:30px 0 10px;cursor:pointer;accent-color:#ff820a;border:0;background:transparent;height:22px}
.maalisto-price-calc .mlpc-range-label {display:flex;justify-content:space-between;font-size:12px;color:#73808c}
.maalisto-price-calc .mlpc-options {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}
.maalisto-price-calc .mlpc-options-two {grid-template-columns:repeat(2,minmax(0,1fr))}
.maalisto-price-calc button.mlpc-option {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;min-height:116px;padding:14px 11px;border:2px solid #e1e6e9;border-radius:14px;background:#fff;color:#242b31;cursor:pointer;transition:background .15s,border-color .15s,transform .15s;box-shadow:none;white-space:normal;line-height:1.25}
.maalisto-price-calc button.mlpc-option strong {font-size:16px;line-height:1.3;font-weight:800}
.maalisto-price-calc button.mlpc-option small {font-size:12px;line-height:1.45;color:#6e7780;font-weight:400}
.maalisto-price-calc button.mlpc-option:hover {border-color:#ffb367;transform:translateY(-1px);color:#242b31}
.maalisto-price-calc button.mlpc-option.is-selected {background:#fff1e3;border-color:#ff820a;color:#1e252b}
.maalisto-price-calc .mlpc-navigation {display:flex;justify-content:space-between;gap:12px;margin-top:25px}
.maalisto-price-calc .mlpc-field-error {font-size:13px;font-weight:700;color:#b92e21;line-height:1.5;margin:12px 0 0;min-height:20px}
.maalisto-price-calc .mlpc-contacts {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 15px}
.maalisto-price-calc .mlpc-contact-field label {display:block;font-size:13px;font-weight:800;color:#36404a;margin:0 0 7px}
.maalisto-price-calc .mlpc-contact-field label span {color:#d76500}
.maalisto-price-calc .mlpc-contact-field input {width:100%;height:48px;font-family:inherit;font-size:15px;line-height:1.3;padding:12px 13px;background:#fff;color:#20252b;border:1px solid #d6dde3;border-radius:9px;box-shadow:none;transition:box-shadow .15s,border-color .15s}
.maalisto-price-calc .mlpc-contact-field input:focus {border-color:#ff820a;box-shadow:0 0 0 3px rgba(255,130,10,.15);outline:0}
.maalisto-price-calc .mlpc-contact-field input[aria-invalid=true] {border-color:#bd3925}
.maalisto-price-calc .mlpc-honeypot {position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important;left:-10000px!important}
.maalisto-price-calc .mlpc-result {text-align:center;padding:8px 0 0}
.maalisto-price-calc .mlpc-result-check {display:flex;align-items:center;justify-content:center;margin:0 auto 14px;background:#eaf7ef;color:#127b43;width:50px;height:50px;border-radius:50%;font-size:26px;font-weight:900}
.maalisto-price-calc .mlpc-result .mlpc-eyebrow {margin-bottom:8px}
.maalisto-price-calc .mlpc-result-price {font-family:Poppins,Arial,sans-serif;font-weight:800;letter-spacing:-1px;font-size:clamp(24px,4vw,34px);color:#d86b00;margin:20px 0;padding:17px 12px;background:#fff4e8;border:1px solid #ffdfbd;border-radius:13px;white-space:normal}
.maalisto-price-calc .mlpc-result-description {max-width:510px;margin:0 auto 18px;font-size:14px;line-height:1.6;color:#59616b}
.maalisto-price-calc .mlpc-email-status {max-width:500px;margin:10px auto 18px;padding:12px 15px;border-radius:9px;font-size:13px;line-height:1.5}
.maalisto-price-calc .mlpc-email-loading {background:#f2f4f6;color:#3f4851}
.maalisto-price-calc .mlpc-email-success {background:#edf8f0;color:#1c6c37}
.maalisto-price-calc .mlpc-email-warning {background:#fff2e8;color:#8f4116}
.maalisto-price-calc .mlpc-button-restart {margin-top:6px}
.maalisto-price-calc .mlpc-footer {display:flex;justify-content:space-between;gap:20px;align-items:center;background:#fafafa;border-top:1px solid #eee;padding:14px 30px;color:#838b90;font-size:11px;font-weight:700;letter-spacing:.2px}
.maalisto-price-calc .mlpc-footer span:last-child {letter-spacing:1px;font-size:10px}
.maalisto-price-calc.mlpc-is-modal {z-index:2147483000}
.maalisto-price-calc.mlpc-is-modal .mlpc-backdrop {display:block;position:fixed;inset:0;background:rgba(17,23,28,.69);z-index:2147483000;backdrop-filter:blur(3px)}
.maalisto-price-calc.mlpc-is-modal .mlpc-card {position:fixed;z-index:2147483001;top:50%;left:50%;transform:translate(-50%,-50%);width:min(700px,calc(100vw - 30px));max-height:calc(100vh - 30px);max-height:calc(100dvh - 30px);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 24px 85px rgba(0,0,0,.24)}
.maalisto-price-calc.mlpc-is-modal .mlpc-close {display:flex}
.maalisto-price-calc.mlpc-is-modal .mlpc-progress {padding-right:78px}
/* v1.0.13: Tiiviimpi tietokonenakyma. Puhelimen mittoja ei muuteta. */
@media (min-width:651px) {
  .maalisto-price-calc {max-width:660px;margin:16px auto}
  .maalisto-price-calc .mlpc-card {max-width:660px}
  .maalisto-price-calc .mlpc-progress {padding:12px 29px 0}
  .maalisto-price-calc .mlpc-progress-text {margin-bottom:7px}
  .maalisto-price-calc .mlpc-inner {padding:22px 32px 20px;min-height:270px}
  .maalisto-price-calc .mlpc-step {min-height:230px}
  .maalisto-price-calc .mlpc-intro {min-height:230px}
  .maalisto-price-calc .mlpc-eyebrow {margin-bottom:7px}
  .maalisto-price-calc h2.mlpc-title {margin-bottom:9px!important;font-size:26px!important}
  .maalisto-price-calc .mlpc-description {font-size:15px;line-height:1.45;margin-bottom:17px}
  .maalisto-price-calc .mlpc-options {gap:10px;margin-top:15px}
  .maalisto-price-calc button.mlpc-option {min-height:83px;gap:3px;padding:10px 11px}
  .maalisto-price-calc .mlpc-navigation {margin-top:16px}
  .maalisto-price-calc .mlpc-area-box {padding:16px 22px}
  .maalisto-price-calc input.mlpc-slider {margin:19px 0 7px}
  .maalisto-price-calc .mlpc-contacts {gap:12px 14px}
  .maalisto-price-calc .mlpc-contact-field input {height:43px;padding:9px 12px}
  .maalisto-price-calc .mlpc-field-error {min-height:17px;margin-top:6px}
  .maalisto-price-calc .mlpc-privacy {margin-top:12px}
  .maalisto-price-calc .mlpc-footer {padding:10px 28px}
  .maalisto-price-calc.mlpc-is-modal .mlpc-card {width:min(660px,calc(100vw - 40px));max-height:calc(100dvh - 28px)}
  .maalisto-price-calc.mlpc-is-modal .mlpc-progress {padding-right:78px}
}
@media (min-width:651px) and (max-height:680px) {
  .maalisto-price-calc .mlpc-inner {padding-top:16px;padding-bottom:15px;min-height:0}
  .maalisto-price-calc .mlpc-step {min-height:0}
  .maalisto-price-calc .mlpc-intro {min-height:205px}
  .maalisto-price-calc .mlpc-options {margin-top:11px}
  .maalisto-price-calc button.mlpc-option {min-height:75px}
  .maalisto-price-calc .mlpc-navigation {margin-top:12px}
  .maalisto-price-calc .mlpc-description {margin-bottom:12px}
}

@media (max-width:650px) {
  .maalisto-price-calc .mlpc-inner {padding:24px 19px;min-height:340px}
  .maalisto-price-calc .mlpc-progress {padding:14px 19px 0}
  .maalisto-price-calc .mlpc-options {grid-template-columns:1fr;gap:10px}
  .maalisto-price-calc .mlpc-options-two {grid-template-columns:1fr}
  .maalisto-price-calc button.mlpc-option {min-height:63px;padding:12px 15px;align-items:flex-start;text-align:left;gap:2px}
  .maalisto-price-calc .mlpc-contacts {grid-template-columns:1fr;gap:13px}
  .maalisto-price-calc .mlpc-navigation {margin-top:22px}
  .maalisto-price-calc button.mlpc-button {padding:12px 16px;font-size:14px;white-space:normal}
  .maalisto-price-calc .mlpc-footer {padding:12px 18px}
  .maalisto-price-calc .mlpc-intro {min-height:320px}
  .maalisto-price-calc .mlpc-area-box {padding:20px}
}
@media (prefers-reduced-motion:reduce) {.maalisto-price-calc * {animation:none!important;transition:none!important}}
