/* ═══════════════════════════════════════════════════════════════════════
   ENERGARD — Сонячний калькулятор
   Усе під .egcalc, щоб не перетнутися з Elementor / WooCommerce.
   Кольори — з токенів теми (style.css :root).
   ═══════════════════════════════════════════════════════════════════════ */

.egcalc{
  --ec-blue:  var(--blue-light);          /* #4A90E8 */
  --ec-blue2: #6aaaf0;
  --ec-green: var(--ok);                  /* #4ADE80 */
  --ec-s2:    #131320;
  --ec-s3:    #12121e;
  --ec-muted: rgba(244,244,246,.60);
  --ec-dim:   rgba(244,244,246,.32);
  --ec-card:  rgba(255,255,255,.025);
  --ec-r:     14px;

  font-family:var(--font);
  color:var(--text);
  display:block;
}
.egcalc *,.egcalc *::before,.egcalc *::after{box-sizing:border-box}
.egcalc h1,.egcalc h2,.egcalc p,.egcalc ul,.egcalc table{margin:0;padding:0}

.egcalc .ec-wrap{max-width:1200px;margin:0 auto;padding:0 32px}

/* ── HERO ─────────────────────────────────────────────────────────────── */
.egcalc .ec-hero{
  padding:72px 0 56px;text-align:center;position:relative;overflow:hidden;
  background:radial-gradient(ellipse 80% 60% at 50% -10%,rgba(255,191,47,.09) 0%,transparent 70%);
}
.egcalc .ec-hero::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,191,47,.2),transparent);
}
.egcalc .ec-eyebrow{
  display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;
}
.egcalc .ec-eyebrow::before,.egcalc .ec-eyebrow::after{
  content:'';width:24px;height:1px;background:rgba(255,191,47,.4);
}
.egcalc .ec-title{
  font-size:clamp(32px,5vw,64px);font-weight:800;letter-spacing:-.05em;
  line-height:1.05;margin-bottom:16px;
}
.egcalc .ec-title span{
  background:linear-gradient(120deg,var(--gold) 0%,var(--gold-light) 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.egcalc .ec-sub{font-size:16px;color:var(--ec-muted);max-width:520px;margin:0 auto;line-height:1.65}

/* ── CARD ─────────────────────────────────────────────────────────────── */
.egcalc .ec-card{
  background:var(--ec-card);border:1px solid var(--border);border-radius:20px;
  padding:28px;margin-bottom:20px;
}
.egcalc .ec-card-head{
  font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ec-dim);margin-bottom:18px;display:flex;align-items:center;justify-content:space-between;
}
.egcalc .ec-card-head-t{display:flex;align-items:center;gap:10px}
.egcalc .ec-card-head-t::before{content:'';width:3px;height:14px;background:var(--gold);border-radius:2px}

/* ── CITY SELECTOR ────────────────────────────────────────────────────── */
.egcalc .ec-city-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.egcalc .ec-flabel{
  font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ec-dim);margin-bottom:8px;
}
.egcalc .ec-city-wrap{position:relative}
.egcalc .ec-city-inp{
  width:100%;padding:14px 48px 14px 16px;background:rgba(255,255,255,.05);
  border:1px solid var(--border);border-radius:12px;color:var(--text);font-family:var(--font);
  font-size:15px;font-weight:600;outline:none;transition:border-color .2s;cursor:pointer;
}
.egcalc .ec-city-inp:focus,.egcalc .ec-city-inp.is-open{
  border-color:rgba(255,191,47,.5);background:rgba(255,191,47,.04);
}
.egcalc .ec-city-ico{
  position:absolute;right:14px;top:50%;transform:translateY(-50%);
  pointer-events:none;color:var(--gold);font-size:18px;transition:transform .2s;
}
.egcalc .ec-city-ico.is-open{transform:translateY(-50%) rotate(180deg)}
.egcalc .ec-city-drop{
  position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:50;
  background:var(--ec-s3);border:1px solid rgba(255,191,47,.25);border-radius:12px;
  overflow:hidden;display:none;box-shadow:0 16px 48px rgba(0,0,0,.6);
}
.egcalc .ec-city-drop.is-open{display:block}
.egcalc .ec-city-search{
  width:100%;padding:12px 16px;background:rgba(255,255,255,.04);
  border:none;border-bottom:1px solid var(--border);color:var(--text);
  font-family:var(--font);font-size:13px;outline:none;
}
.egcalc .ec-city-search::placeholder{color:var(--ec-dim)}
.egcalc .ec-city-list{max-height:240px;overflow-y:auto}
.egcalc .ec-city-list::-webkit-scrollbar{width:4px}
.egcalc .ec-city-list::-webkit-scrollbar-track{background:transparent}
.egcalc .ec-city-list::-webkit-scrollbar-thumb{background:rgba(255,191,47,.3);border-radius:4px}
.egcalc .ec-city-opt{
  padding:11px 16px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;
  gap:10px;font-size:14px;transition:background .15s;border-bottom:1px solid rgba(255,255,255,.04);
}
.egcalc .ec-city-opt:last-child{border-bottom:none}
.egcalc .ec-city-opt:hover,.egcalc .ec-city-opt:focus-visible{background:rgba(255,191,47,.08)}
.egcalc .ec-city-opt.is-sel{color:var(--gold)}
.egcalc .ec-city-region{font-size:11px;color:var(--ec-dim)}
.egcalc .ec-city-yield{font-size:12px;font-weight:700;color:rgba(255,191,47,.7);white-space:nowrap}

/* ── SOLAR RESOURCE BAR ───────────────────────────────────────────────── */
.egcalc .ec-res-wrap{margin-top:10px}
.egcalc .ec-res-lbl{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--ec-dim);margin-bottom:5px}
.egcalc .ec-res-track{height:4px;background:rgba(255,255,255,.1);border-radius:4px;overflow:hidden}
.egcalc .ec-res-fill{
  height:100%;background:linear-gradient(90deg,var(--gold-deep),var(--gold-light));
  border-radius:4px;transition:width .5s cubic-bezier(.4,0,.2,1);
}
.egcalc .ec-res-val{margin-top:6px;font-size:24px;font-weight:800;letter-spacing:-.03em;color:var(--gold)}
.egcalc .ec-res-unit{font-size:12px;font-weight:500;color:var(--ec-muted);margin-top:2px}

/* ── POWER SLIDER ─────────────────────────────────────────────────────── */
.egcalc .ec-pow-val{font-size:36px;font-weight:800;letter-spacing:-.04em;color:var(--text);line-height:1}
.egcalc .ec-pow-unit{font-size:14px;font-weight:500;color:var(--ec-muted);margin-left:6px}
.egcalc .ec-slider{
  -webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:4px;
  background:rgba(255,255,255,.1);outline:none;cursor:pointer;
}
.egcalc .ec-slider::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;
  background:linear-gradient(135deg,var(--gold),var(--gold-deep));
  box-shadow:0 0 0 3px rgba(255,191,47,.2),0 2px 8px rgba(0,0,0,.4);cursor:pointer;
}
.egcalc .ec-slider::-moz-range-thumb{
  width:22px;height:22px;border-radius:50%;border:none;
  background:linear-gradient(135deg,var(--gold),var(--gold-deep));cursor:pointer;
}
.egcalc .ec-presets{display:flex;gap:7px;flex-wrap:wrap}
.egcalc .ec-pp{
  padding:5px 14px;border-radius:100px;border:1px solid var(--border);
  background:transparent;color:var(--ec-muted);font-family:var(--font);font-size:12px;
  font-weight:600;cursor:pointer;transition:background .18s,border-color .18s,color .18s;
}
.egcalc .ec-pp:hover,.egcalc .ec-pp.is-on{
  background:rgba(255,191,47,.12);border-color:rgba(255,191,47,.4);color:var(--gold);
}

/* ── RESULT CARDS ─────────────────────────────────────────────────────── */
.egcalc .ec-res-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-bottom:24px}
.egcalc .ec-rc{
  border-radius:16px;padding:20px 20px 18px;border:1px solid var(--border);
  background:var(--ec-card);position:relative;overflow:hidden;transition:border-color .25s;
}
.egcalc .ec-rc::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--ec-accent,transparent)}
.egcalc .ec-rc--gold {--ec-accent:linear-gradient(90deg,var(--gold),var(--gold-light))}
.egcalc .ec-rc--blue {--ec-accent:linear-gradient(90deg,var(--ec-blue),var(--ec-blue2))}
.egcalc .ec-rc--green{--ec-accent:linear-gradient(90deg,var(--ec-green),#8bf0ac)}
.egcalc .ec-rc--gray {--ec-accent:linear-gradient(90deg,color-mix(in srgb,var(--text) 30%,transparent),color-mix(in srgb,var(--text) 10%,transparent))}
.egcalc .ec-rc-ico{font-size:18px;margin-bottom:10px;line-height:1}
.egcalc .ec-rc-val{
  font-size:clamp(22px,2.5vw,32px);font-weight:800;letter-spacing:-.04em;
  line-height:1;margin-bottom:4px;font-variant-numeric:tabular-nums;
}
.egcalc .ec-rc-val.is-upd{animation:ec-flash .4s ease}
@keyframes ec-flash{0%{opacity:.4}100%{opacity:1}}
.egcalc .ec-rc-lbl{font-size:11px;color:var(--ec-dim);font-weight:600;letter-spacing:.04em;line-height:1.4}
.egcalc .ec-rc-sub{font-size:11px;color:var(--ec-dim);margin-top:2px}

/* ── CHART BOXES ──────────────────────────────────────────────────────── */
.egcalc .ec-charts{display:grid;grid-template-columns:1fr 340px;gap:20px;margin-bottom:20px}
.egcalc .ec-chart{
  border-radius:var(--ec-r);border:1px solid var(--border);background:var(--ec-card);
  padding:22px 22px 16px;overflow:hidden;
}
.egcalc .ec-chart-head{
  font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ec-dim);margin-bottom:16px;display:flex;align-items:center;
  justify-content:space-between;gap:10px;
}
.egcalc .ec-chart canvas{display:block;max-width:100%}
.egcalc .ec-chart--full{grid-column:1/-1;margin-bottom:20px}

/* ── DONUT LEGEND ─────────────────────────────────────────────────────── */
.egcalc .ec-legend{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.egcalc .ec-li{display:flex;align-items:center;justify-content:space-between;gap:10px}
.egcalc .ec-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.egcalc .ec-li-lbl{font-size:12px;color:var(--ec-muted);flex:1}
.egcalc .ec-li-val{font-size:12px;font-weight:700;color:var(--text)}

/* ── ADVANCED ─────────────────────────────────────────────────────────── */
.egcalc .ec-adv{
  border-radius:var(--ec-r);border:1px solid var(--border);background:var(--ec-card);
  margin-bottom:20px;overflow:hidden;
}
.egcalc .ec-adv summary{
  padding:18px 22px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;
  font-size:13px;font-weight:700;color:var(--ec-muted);list-style:none;user-select:none;transition:color .2s;
}
.egcalc .ec-adv summary::-webkit-details-marker{display:none}
.egcalc .ec-adv summary:hover{color:var(--text)}
.egcalc .ec-adv summary::after{content:'\203A';font-size:20px;transition:transform .25s;display:inline-block}
.egcalc .ec-adv[open] summary::after{transform:rotate(90deg)}
.egcalc .ec-adv[open] summary{color:var(--text)}
.egcalc .ec-adv-body{
  padding:0 22px 22px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
  border-top:1px solid var(--border);
}

/* ── SETTING FIELD ────────────────────────────────────────────────────── */
.egcalc .ec-sf{display:flex;flex-direction:column;gap:7px}
.egcalc .ec-sf > label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ec-dim)}
.egcalc .ec-sf input[type=number],.egcalc .ec-sf input[type=text]{
  width:100%;padding:10px 12px;background:rgba(255,255,255,.05);
  border:1px solid var(--border);border-radius:9px;color:var(--text);font-family:var(--font);
  font-size:14px;font-weight:600;outline:none;transition:border-color .2s;
}
.egcalc .ec-sf input:focus{border-color:rgba(255,191,47,.4)}
.egcalc .ec-sf input:disabled{opacity:.45;cursor:not-allowed}
.egcalc .ec-hint{font-size:11px;color:var(--ec-dim);margin-top:4px;line-height:1.45}
.egcalc .ec-sf-row{display:flex;gap:6px;flex-wrap:wrap}
.egcalc .ec-sfb{
  padding:7px 14px;border-radius:8px;border:1px solid var(--border);
  background:transparent;color:var(--ec-muted);font-family:var(--font);font-size:11px;
  font-weight:700;cursor:pointer;transition:background .18s,border-color .18s,color .18s;white-space:nowrap;
}
.egcalc .ec-sfb:hover,.egcalc .ec-sfb.is-on{
  background:rgba(255,191,47,.12);border-color:rgba(255,191,47,.4);color:var(--gold);
}

/* ── TOGGLE ───────────────────────────────────────────────────────────── */
.egcalc .ec-tgl-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.egcalc .ec-tgl-lbl{font-size:13px;color:rgba(244,244,246,.7)}
.egcalc .ec-tgl{position:relative;width:40px;height:22px;flex-shrink:0}
.egcalc .ec-tgl input{position:absolute;opacity:0;width:0;height:0}
.egcalc .ec-tgl-track{
  position:absolute;inset:0;border-radius:11px;background:rgba(255,255,255,.1);
  cursor:pointer;transition:background .2s;
}
.egcalc .ec-tgl input:checked + .ec-tgl-track{background:rgba(255,191,47,.5)}
.egcalc .ec-tgl-track::after{
  content:'';position:absolute;left:3px;top:3px;width:16px;height:16px;
  border-radius:50%;background:var(--text);transition:transform .2s,background .2s;
}
.egcalc .ec-tgl input:checked + .ec-tgl-track::after{transform:translateX(18px);background:var(--gold)}

/* ── TABLE ────────────────────────────────────────────────────────────── */
.egcalc .ec-tbl-wrap{overflow-x:auto;border-radius:var(--ec-r);border:1px solid var(--border);margin-bottom:20px}
.egcalc .ec-tbl{width:100%;border-collapse:collapse;font-size:13px}
.egcalc .ec-tbl thead th{
  padding:11px 14px;text-align:left;font-size:10px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;color:var(--ec-dim);
  background:rgba(255,255,255,.03);border-bottom:1px solid var(--border);white-space:nowrap;
}
.egcalc .ec-tbl tbody td{
  padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.04);
  color:rgba(244,244,246,.75);white-space:nowrap;font-variant-numeric:tabular-nums;
}
.egcalc .ec-tbl tbody tr:last-child td{border-bottom:none}
.egcalc .ec-tbl tbody tr:hover td{background:rgba(255,255,255,.02)}
.egcalc .ec-tbl td.ec-hi-gold{color:var(--gold);font-weight:700}
.egcalc .ec-tbl td.ec-hi-blue{color:var(--ec-blue);font-weight:700}
.egcalc .ec-tbl td.ec-hi-dim{color:var(--ec-dim)}
.egcalc .ec-tbl tfoot td{
  padding:12px 14px;font-weight:800;color:var(--text);
  border-top:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03);
  font-variant-numeric:tabular-nums;white-space:nowrap;
}

/* ── MAP ──────────────────────────────────────────────────────────────── */
.egcalc .ec-map-card{
  border-radius:20px;border:1px solid var(--border);background:var(--ec-card);
  overflow:hidden;margin-bottom:20px;
}
.egcalc .ec-map-head{padding:20px 28px 14px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
.egcalc .ec-map{height:380px;z-index:1}
.egcalc .ec-geo-btn{
  display:inline-flex;align-items:center;gap:8px;padding:9px 18px;
  border-radius:100px;border:1px solid rgba(74,144,232,.35);
  background:rgba(74,144,232,.1);color:var(--ec-blue);
  font-family:var(--font);font-size:12px;font-weight:700;cursor:pointer;
  transition:background .2s,border-color .2s;
}
.egcalc .ec-geo-btn:hover{background:rgba(74,144,232,.2);border-color:rgba(74,144,232,.6)}
.egcalc .ec-geo-btn:disabled{opacity:.5;cursor:not-allowed}
.egcalc .ec-geo-status{padding:10px 28px 16px;font-size:12px;color:var(--ec-dim);min-height:28px;line-height:1.5}
.egcalc .ec-geo-status strong{color:var(--text)}

/* Leaflet — темна тема */
.egcalc .leaflet-container{background:var(--bg)!important;cursor:crosshair!important;font-family:var(--font)!important}
.egcalc .leaflet-control-attribution{background:rgba(9,9,13,.7)!important;color:var(--ec-dim)!important;font-size:9px!important}
.egcalc .leaflet-control-attribution a{color:var(--ec-dim)!important}
.egcalc .leaflet-bar a{background:var(--ec-s3)!important;color:var(--text)!important;border-color:rgba(255,255,255,.12)!important}
.egcalc .leaflet-bar a:hover{background:#1a1a2e!important}
.egcalc .leaflet-popup-content-wrapper{
  background:var(--ec-s3)!important;border:1px solid rgba(255,191,47,.2)!important;
  color:var(--text)!important;border-radius:10px!important;box-shadow:0 8px 32px rgba(0,0,0,.6)!important;
}
.egcalc .leaflet-popup-tip{background:var(--ec-s3)!important}
.egcalc .leaflet-popup-close-button{color:var(--ec-dim)!important;font-size:18px!important}
.egcalc .ec-pop{font-family:var(--font);font-size:13px}
.egcalc .ec-pop b{color:var(--gold);font-size:14px;display:block;margin-bottom:4px}
.egcalc .ec-pop-region{font-size:11px;color:var(--ec-dim);margin-bottom:6px}
.egcalc .ec-pop-yield{font-size:15px;font-weight:800;color:var(--gold)}
.egcalc .ec-pop-unit{font-size:11px;color:var(--ec-muted);font-weight:500}
.egcalc .ec-pop-calc{font-size:11px;color:rgba(244,244,246,.4);margin-top:4px}
.egcalc .ec-pop-calc strong{color:var(--text)}
.egcalc .ec-pop-btn{
  display:block;margin-top:10px;padding:7px 14px;border-radius:8px;width:100%;
  background:rgba(255,191,47,.15);border:1px solid rgba(255,191,47,.35);
  color:var(--gold);font-family:var(--font);font-weight:700;font-size:12px;
  text-align:center;cursor:pointer;transition:background .15s;
}
.egcalc .ec-pop-btn:hover{background:rgba(255,191,47,.28)}

/* ── ANALYTICS ────────────────────────────────────────────────────────── */
.egcalc .ec-an-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.egcalc .ec-an{
  border-radius:12px;border:1px solid var(--border);background:rgba(255,255,255,.02);
  padding:16px 14px;display:flex;flex-direction:column;gap:3px;transition:border-color .2s;
}
.egcalc .ec-an:hover{border-color:rgba(255,255,255,.14)}
.egcalc .ec-an-ico{font-size:20px;margin-bottom:6px;line-height:1}
.egcalc .ec-an-val{font-size:19px;font-weight:800;letter-spacing:-.03em;line-height:1.1}
.egcalc .ec-an-lbl{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ec-dim);margin-top:2px}
.egcalc .ec-an-sub{font-size:11px;color:rgba(244,244,246,.32);margin-top:3px;line-height:1.35}

/* ── COMPARISON ───────────────────────────────────────────────────────── */
.egcalc .ec-cmp{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.egcalc .ec-cmp-box{border-radius:12px;border:1px solid rgba(255,255,255,.12);padding:20px}
.egcalc .ec-cmp-box--on{border-color:rgba(255,191,47,.2);background:rgba(255,191,47,.04)}
.egcalc .ec-cmp-h{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ec-dim);margin-bottom:14px}
.egcalc .ec-cmp-box--on .ec-cmp-h{color:var(--gold)}
.egcalc .ec-cmp-list{display:flex;flex-direction:column;gap:8px}
.egcalc .ec-cmp-row{display:flex;justify-content:space-between;gap:10px;font-size:13px}
.egcalc .ec-cmp-row span:first-child{color:var(--ec-dim)}
.egcalc .ec-cmp-row span:last-child{font-weight:700;text-align:right}
.egcalc .ec-cmp-box--on .ec-cmp-row span:first-child{color:rgba(255,191,47,.7)}
.egcalc .ec-cmp-box--on .ec-cmp-row span:last-child{color:var(--gold)}

/* ── CTA ──────────────────────────────────────────────────────────────── */
.egcalc .ec-cta{
  border-radius:20px;border:1px solid rgba(255,191,47,.2);
  background:linear-gradient(120deg,rgba(255,191,47,.07) 0%,rgba(74,144,232,.05) 100%);
  padding:52px 40px;text-align:center;position:relative;overflow:hidden;margin-bottom:20px;
}
.egcalc .ec-cta::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 60% 80% at 50% 0%,rgba(255,191,47,.08) 0%,transparent 70%);
}
.egcalc .ec-cta-eyebrow{
  font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--gold);margin-bottom:14px;position:relative;
}
.egcalc .ec-cta h2{font-size:clamp(24px,3vw,40px);font-weight:800;letter-spacing:-.04em;margin-bottom:12px;position:relative}
.egcalc .ec-cta p{font-size:15px;color:var(--ec-muted);margin:0 auto 28px;max-width:460px;line-height:1.6;position:relative}
.egcalc .ec-cta-btn{
  position:relative;display:inline-flex;align-items:center;gap:10px;
  padding:15px 40px;border-radius:100px;text-decoration:none;
  background:linear-gradient(120deg,var(--gold) 0%,var(--gold-light) 100%);color:#09090D;
  font-family:var(--font);font-size:15px;font-weight:800;cursor:pointer;border:none;
  transition:opacity .2s,transform .2s;letter-spacing:.01em;
}
.egcalc .ec-cta-btn:hover{opacity:.88;transform:translateY(-2px);color:#09090D}

/* ── scroll reveal ────────────────────────────────────────────────────── */
.egcalc [data-ec-r]{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s ease}
.egcalc [data-ec-r].is-vis{opacity:1;transform:none}

/* ── responsive ───────────────────────────────────────────────────────── */
@media(max-width:960px){
  .egcalc .ec-city-row{grid-template-columns:1fr}
  .egcalc .ec-res-grid{grid-template-columns:repeat(2,1fr)}
  .egcalc .ec-charts{grid-template-columns:1fr}
  .egcalc .ec-adv-body{grid-template-columns:repeat(2,1fr)}
  .egcalc .ec-an-grid{grid-template-columns:repeat(2,1fr)}
  .egcalc .ec-cmp{grid-template-columns:1fr}
}
@media(max-width:600px){
  .egcalc .ec-wrap{padding:0 14px}
  .egcalc .ec-adv-body{grid-template-columns:1fr}
  .egcalc .ec-card{padding:18px}
  .egcalc .ec-hero{padding:48px 0 36px}
  .egcalc .ec-map-head,.egcalc .ec-geo-status{padding-left:18px;padding-right:18px}
  .egcalc .ec-chart{padding:16px 16px 12px}
  .egcalc .ec-cta{padding:36px 20px}
}

@media(prefers-reduced-motion:reduce){
  .egcalc [data-ec-r]{opacity:1!important;transform:none!important;transition:none!important}
  .egcalc .ec-rc-val.is-upd{animation:none}
  .egcalc .ec-res-fill{transition:none}
}

/* Тайли OpenStreetMap світлі — у темній темі робимо їх темними */
.ec-tiles{ filter: invert(1) hue-rotate(180deg) brightness(.92) contrast(.88) saturate(.35); }
html[data-theme="light"] .ec-tiles{ filter: none; }


/* ═══ Сторінка «Прорахувати станцію» ═══════════════════════════════════
   Власник 2026-09-30: «воно зараз наліплено, тема не в всіх блоках
   змінюється». Причини були дві:
   1) блок сцени висів перед заголовком і впирався в калькулятор без
      проміжку — тепер демо-блок усередині потоку (аргумент scene у
      template-parts/calculator.php): заголовок → демо → карта → картки,
      окремою смугою на --bg2;
   2) сцена була .eg-island, тобто в світлій темі лишалась темною.
   2026-09-30, пізніше: SVG-сцену станції замінили на демо-панель
   моніторингу — ту саму, що на головній (.el-*, assets/css/energy-live.css).
   Тут — лише ритм сторінки; всередині панелі стилі не чіпаємо. */
.egcalc .ec-hero{ padding:72px 0 48px }
.egcalc .ec-demo{
  position:relative; overflow:hidden;
  border-top:1px solid var(--border); border-bottom:1px solid var(--border);
  background:var(--bg2); padding:clamp(44px,6vw,80px) 0;
}
/* м'який теплий відсвіт, як у хіро — щоб смуга не була просто сірим прямокутником */
.egcalc .ec-demo::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 70% 80% at 78% 40%,rgba(255,191,47,.10) 0%,transparent 65%);
}
.egcalc .ec-demo__in{
  position:relative; max-width:1200px; margin:0 auto; padding:0 32px;
  display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,540px);
  gap:clamp(28px,4vw,56px); align-items:center;
}
.egcalc .ec-demo__eyebrow{
  display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--gold);
}
.egcalc .ec-demo__eyebrow::before{ content:'';width:24px;height:1px;background:rgba(255,191,47,.4) }
.egcalc .ec-demo__h{
  margin:14px 0 0;font-size:clamp(26px,3vw,40px);font-weight:800;
  letter-spacing:-.04em;line-height:1.08;color:var(--text);
}
.egcalc .ec-demo__h span{
  background:linear-gradient(120deg,var(--gold) 0%,var(--gold-light) 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.egcalc .ec-demo__sub{ margin:14px 0 0;font-size:16px;line-height:1.65;color:var(--ec-muted);max-width:46ch }
/* три кроки — нумеровані, щоб читались як сценарій вечора на панелі */
.egcalc .ec-demo__steps{ list-style:none;margin:26px 0 0;padding:0;display:grid;gap:10px;counter-reset:ecd }
.egcalc .ec-demo__steps li{
  counter-increment:ecd;position:relative;padding:14px 18px 14px 56px;
  border:1px solid var(--border);border-radius:16px;background:var(--ec-card);
  display:grid;gap:3px;
}
.egcalc .ec-demo__steps li::before{
  content:counter(ecd);position:absolute;left:16px;top:50%;transform:translateY(-50%);
  width:26px;height:26px;border-radius:50%;display:grid;place-items:center;
  font-size:12px;font-weight:800;color:var(--gold-ink,var(--gold));
  background:color-mix(in srgb,var(--gold) 14%,transparent);
  border:1px solid color-mix(in srgb,var(--gold) 35%,transparent);
}
.egcalc .ec-demo__steps b{ font-size:15px;font-weight:650;color:var(--text) }
.egcalc .ec-demo__steps span{ font-size:13.5px;line-height:1.55;color:var(--ec-muted) }
.egcalc .ec-demo__app{ margin:0;display:grid;gap:12px;min-width:0 }
.egcalc .ec-demo__cap{ font-size:12.5px;line-height:1.5;color:var(--ec-dim);text-align:center }
@media(max-width:1000px){
  .egcalc .ec-demo__in{ grid-template-columns:1fr;justify-items:center }
  .egcalc .ec-demo__txt{ text-align:center;max-width:620px }
  .egcalc .ec-demo__sub{ margin-left:auto;margin-right:auto }
  .egcalc .ec-demo__steps{ text-align:left;width:100%;max-width:520px }
  .egcalc .ec-demo__app{ order:-1;width:100%;max-width:560px }
}
@media(max-width:640px){
  .egcalc .ec-demo{ padding:36px 0 }
  .egcalc .ec-demo__in{ padding:0 20px }
  .egcalc .ec-demo__steps li{ padding:12px 14px 12px 50px }
}
.egcalc .ec-body{ padding-top:clamp(32px,4vw,48px); padding-bottom:88px }
/* картки в тілі калькулятора дихають однаково */
.egcalc .ec-body .ec-card,
.egcalc .ec-body .ec-map-card,
.egcalc .ec-body .ec-charts,
.egcalc .ec-body .ec-tbl-wrap,
.egcalc .ec-body .ec-chart--full{ margin-bottom:24px }
.egcalc .ec-body > *:last-child{ margin-bottom:0 }
@media(max-width:640px){
  .egcalc .ec-hero{ padding:48px 0 32px }
  .egcalc .ec-body{ padding-bottom:64px }
}
