/* energeiako — tool (εργαλείο εκτίμησης) styles. Loaded only on /ergaleio. */
.tool{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-2);overflow:hidden}
.tool-head{padding:clamp(20px,3vw,30px) clamp(20px,3vw,32px) 0}
.tool-progress{display:flex;gap:8px;margin:18px 0 0}
.tool-progress .seg{height:5px;flex:1;border-radius:3px;background:var(--paper-3);overflow:hidden}
.tool-progress .seg i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--sun-3),var(--sun));transition:width .4s var(--ease)}
.tool-progress .seg.done i,.tool-progress .seg.active i{width:100%}
.tool-steplabel{font:600 .78rem/1 var(--ff-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--sun-2);margin-top:18px}

.tool-body{padding:clamp(18px,3vw,32px)}
.tool-step{display:none}
.tool-step.active{display:block;animation:stepIn .45s var(--ease)}
@keyframes stepIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.tool-step h3{margin-bottom:4px}
.tool-step .hint{color:var(--ink-3);font-size:.9rem;margin:0 0 20px}

.field{margin-bottom:22px}
.field>label{display:block;font-weight:620;margin-bottom:9px}
.field .sub{color:var(--ink-3);font-size:.84rem;font-weight:400}
select,input[type=number],input[type=text]{
  width:100%;padding:.85em 1em;border:1.5px solid var(--line-2);border-radius:var(--r-sm);background:var(--paper-2);
  transition:border-color .2s,box-shadow .2s}
select:focus,input:focus{border-color:var(--sun);box-shadow:0 0 0 3px var(--sun-tint);outline:none}
.input-unit{position:relative}
.input-unit .u{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--ink-3);font:600 .9rem/1 var(--ff-mono);pointer-events:none}

/* Segmented control */
.seg-ctl{display:flex;gap:8px;flex-wrap:wrap}
.seg-ctl input{position:absolute;opacity:0;pointer-events:none}
.seg-ctl label{flex:1;min-width:max-content;text-align:center;padding:.8em 1em;border:1.5px solid var(--line-2);border-radius:var(--r-sm);
  background:var(--paper-2);font-weight:560;font-size:.95rem;transition:.2s;cursor:pointer;color:var(--ink-2)}
.seg-ctl label:hover{border-color:var(--ink-3)}
.seg-ctl input:checked+label{border-color:var(--sun);background:var(--sun-tint);color:var(--sun-2);box-shadow:0 0 0 1px var(--sun)}
.seg-ctl input:focus-visible+label{outline:3px solid var(--sun);outline-offset:2px}

/* Toggle switch */
.switch{display:flex;align-items:center;gap:12px;cursor:pointer}
.switch input{position:absolute;opacity:0}
.switch .track{width:50px;height:30px;border-radius:999px;background:var(--paper-3);border:1px solid var(--line-2);position:relative;transition:.25s;flex:0 0 auto}
.switch .track::after{content:"";position:absolute;top:2px;left:2px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:var(--sh-1);transition:.25s}
.switch input:checked+.track{background:linear-gradient(90deg,var(--sun-3),var(--sun));border-color:transparent}
.switch input:checked+.track::after{left:22px}
.switch input:focus-visible+.track{outline:3px solid var(--sun);outline-offset:2px}

.tool-nav{display:flex;justify-content:space-between;gap:12px;margin-top:8px}
.tool-nav .btn[disabled]{opacity:.4;pointer-events:none}

/* ── Result ─────────────────────────────────────────────────────────────── */
.tool-result{display:none}
.tool-result.active{display:block;animation:stepIn .5s var(--ease)}
.res-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:center;
  background:linear-gradient(150deg,var(--sun-tint),#fff 80%);border:1px solid #ffe2ad;border-radius:var(--r-lg);padding:clamp(20px,3vw,30px);margin-bottom:22px}
@media (max-width:640px){.res-hero{grid-template-columns:1fr}}
.res-hero .big{font:800 clamp(2.2rem,6vw,3.4rem)/1 var(--ff-mono);letter-spacing:-.04em}
.res-hero .big .u{font-size:.42em;color:var(--ink-3);font-weight:600}
.res-hero .sub{color:var(--ink-2);margin-top:6px}
.res-batt{display:inline-flex;align-items:center;gap:.5em;margin-top:14px;font-weight:600;font-size:.95rem;
  padding:.5em .9em;border-radius:999px;background:#fff;border:1px solid var(--line)}
.res-batt.yes{color:var(--eco)} .res-batt.no{color:var(--ink-3)}

.gauge{position:relative;text-align:center}
.gauge svg{width:100%;max-width:220px;margin-inline:auto}
.gauge .gv{font:800 1.9rem/1 var(--ff-mono);fill:var(--ink)}
.gauge .gl{font:600 .72rem/1 var(--ff-mono);fill:var(--ink-3);letter-spacing:.08em}

.res-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}
@media (max-width:820px){.res-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:420px){.res-grid{grid-template-columns:1fr}}
.res-card{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px}
.res-card .k{font-size:.82rem;color:var(--ink-3);margin-bottom:6px}
.res-card .v{font:800 1.5rem/1.05 var(--ff-mono);letter-spacing:-.03em}
.res-card .x{font-size:.78rem;color:var(--ink-3);margin-top:5px}
.res-card.save .v{color:var(--eco)} .res-card.net .v{color:var(--sun-2)}

.res-bars{margin:6px 0 20px}
.res-bar{margin-bottom:14px}
.res-bar .lab{display:flex;justify-content:space-between;font-size:.86rem;margin-bottom:6px}
.res-bar .lab b{font-family:var(--ff-mono)}
.res-bar .track{height:12px;border-radius:8px;background:var(--paper-3);overflow:hidden}
.res-bar .fill{height:100%;border-radius:8px;transition:width .9s var(--ease)}
.res-bar .fill.self{background:linear-gradient(90deg,var(--sun-3),var(--sun))}
.res-bar .fill.eco{background:linear-gradient(90deg,#3fce8e,var(--eco))}

.compare{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:22px}
@media (max-width:560px){.compare{grid-template-columns:1fr}}
.compare .opt{border:1.5px solid var(--line-2);border-radius:var(--r);padding:18px}
.compare .opt.win{border-color:var(--sun);box-shadow:0 0 0 1px var(--sun);background:var(--sun-tint)}
.compare .opt h4{margin:0 0 10px;display:flex;align-items:center;justify-content:space-between}
.compare .opt .tag{font:600 .68rem/1 var(--ff-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--sun-2)}
.compare dl{margin:0;display:grid;grid-template-columns:1fr auto;gap:6px 10px;font-size:.9rem}
.compare dt{color:var(--ink-3)} .compare dd{margin:0;font-family:var(--ff-mono);text-align:right;font-weight:600}

.acc{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-bottom:18px}
.acc summary{padding:15px 18px;font-weight:620;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;background:var(--paper-2)}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";font-family:var(--ff-mono);color:var(--ink-3);font-size:1.3rem;transition:transform .3s}
.acc[open] summary::after{transform:rotate(45deg)}
.acc .acc-body{padding:6px 18px 18px}
.acc-list{list-style:none;margin:0;padding:0;font-size:.9rem}
.acc-list li{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--line)}
.acc-list li:last-child{border-bottom:0}
.acc-list .lab{color:var(--ink-2)} .acc-list .val{font-family:var(--ff-mono);text-align:right;color:var(--ink)}
.acc-list .val .vf{color:var(--warn);font-size:.7rem;margin-left:6px}

.res-progs{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 22px}
.res-progs a{display:inline-flex;align-items:center;gap:.5em;padding:.6em 1em;border-radius:var(--r-pill);
  background:var(--paper-2);border:1px solid var(--line);font-weight:560;font-size:.9rem;transition:.2s}
.res-progs a:hover{border-color:var(--sun);background:var(--sun-tint)}

.res-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px}
.notes-list{list-style:none;margin:14px 0 0;padding:0;font-size:.86rem;color:var(--ink-3);display:flex;flex-direction:column;gap:6px}
.notes-list li{display:flex;gap:.5em} .notes-list li::before{content:"•";color:var(--sun)}

/* Lead form */
.lead{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(22px,3vw,34px);box-shadow:var(--sh-1)}
.lead .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:560px){.lead .row{grid-template-columns:1fr}}
.consent{display:flex;gap:12px;align-items:flex-start;margin:18px 0;font-size:.9rem;color:var(--ink-2)}
.consent input{margin-top:3px;width:20px;height:20px;flex:0 0 auto;accent-color:var(--sun)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.lead-ok{display:none;background:var(--eco-tint);border:1px solid #b9e6cd;border-radius:var(--r);padding:18px 20px;color:#0c7a45}
