/* Grupa EVO — scena 3D w sekcji startowej. Działa tylko po załadowaniu WebGL (klasa .ej3d-ready). */
#evo-journey .ej3d-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity .9s ease;touch-action:pan-y;cursor:grab;z-index:1}
#evo-journey .ej3d-canvas:active{cursor:grabbing}
#evo-journey.ej3d-ready .ej3d-canvas{opacity:1}
#evo-journey.ej3d-ready .ej-house-svg{opacity:0;transition:opacity .9s ease}
#evo-journey.ej3d-ready .ej-scene{background:linear-gradient(180deg,#d9f1f4 0%,#eef9f9 55%,#f7fcfc 100%)}
#evo-journey .ej-scene:before{content:"";position:absolute;inset:0;z-index:0;opacity:0;pointer-events:none;background:radial-gradient(120% 90% at 70% 0%,#24507a 0%,#0d2140 55%,#000e29 100%);transition:opacity 1.4s ease}
#evo-journey.ej3d-ready.ej3d-dusk .ej-scene:before{opacity:1}
#evo-journey.ej3d-ready .ej-scene-caption,#evo-journey.ej3d-ready .ej-source{z-index:3}
#evo-journey.ej3d-ready.ej3d-dusk .ej-scene-caption{color:#9fb6c8}

/* etykieta przy aktywnym urządzeniu */
#evo-journey .ej3d-tag{position:absolute;left:0;top:0;z-index:4;pointer-events:none;will-change:transform}
#evo-journey .ej3d-tag:before{content:"";position:absolute;left:-1px;top:-14px;width:2px;height:14px;background:linear-gradient(#00c2bf,transparent)}
#evo-journey .ej3d-tag i,#evo-journey .ej3d-tag span{position:absolute}
#evo-journey .ej3d-tag span{left:0;bottom:14px;transform:translate(-50%,6px);white-space:nowrap;padding:8px 13px 8px 26px;border-radius:999px;background:#000e29;color:#fff;font:700 12px/1.2 Manrope,system-ui,sans-serif;letter-spacing:-.01em;box-shadow:0 10px 26px #000e2938;opacity:0;transition:opacity .35s ease,transform .35s ease}
#evo-journey .ej3d-tag i{left:0;top:-2px;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:#00c2bf;box-shadow:0 0 0 0 #00c2bf99;opacity:0;transition:opacity .35s}
#evo-journey .ej3d-tag span:before{content:"";position:absolute;left:11px;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:#00c2bf}
#evo-journey .ej3d-tag.is-shown span{opacity:1;transform:translate(-50%,0)}
#evo-journey .ej3d-tag.is-shown i{opacity:1;animation:ej3d-ping 1.8s ease-out infinite}
@keyframes ej3d-ping{0%{box-shadow:0 0 0 0 #00c2bf99}100%{box-shadow:0 0 0 14px #00c2bf00}}

/* podpowiedź o obracaniu */
#evo-journey .ej3d-hint{position:absolute;right:16px;top:14px;z-index:3;display:none;align-items:center;gap:7px;padding:6px 11px;border-radius:999px;background:#ffffffd9;border:1px solid #c6e7e3;color:#004d50;font:700 11px/1.2 Manrope,system-ui,sans-serif;pointer-events:none;backdrop-filter:blur(6px);transition:opacity .5s}
#evo-journey .ej3d-hint:before{content:"⟲";font-size:13px;color:#00a9a6}
#evo-journey.ej3d-ready .ej3d-hint{display:flex;animation:ej3d-hint 7s ease 2.5s both}
#evo-journey .ej3d-hint.is-hidden{opacity:0!important}
@keyframes ej3d-hint{0%{opacity:0}12%,80%{opacity:1}100%{opacity:0}}

/* nagłówek jako prawdziwy tekst nad sceną (desktop) */
@media(min-width:681px){
  #evo-journey.ej3d-ready .ej-mobile-heading{position:absolute;z-index:2;left:0;top:0;width:44%;height:auto;aspect-ratio:895/540;clip-path:none;overflow:visible;white-space:normal;display:flex;flex-direction:column;justify-content:center;padding:0 0 0 4.2%;pointer-events:none}
  #evo-journey.ej3d-ready .ej-mobile-heading h1{margin:0;font-size:clamp(26px,3.05vw,50px);line-height:1.04;font-weight:800;letter-spacing:-.045em;color:#000e29;transition:color 1.2s}
  #evo-journey.ej3d-ready .ej-mobile-heading h1 span{color:#00b3b0}
  #evo-journey.ej3d-ready .ej-mobile-heading p{display:flex;align-items:center;gap:14px;margin:clamp(10px,1.4vw,22px) 0 0;font-size:clamp(13px,1.35vw,21px);font-weight:500;color:#000e29;transition:color 1.2s}
  #evo-journey.ej3d-ready .ej-mobile-heading p:before{content:"";width:clamp(36px,5.5vw,84px);height:3px;border-radius:3px;background:linear-gradient(90deg,#00c2bf,#00c2bf55)}
  #evo-journey.ej3d-ready.ej3d-dusk .ej-mobile-heading h1,#evo-journey.ej3d-ready.ej3d-dusk .ej-mobile-heading p{color:#fff}
  #evo-journey.ej3d-ready.ej3d-dusk .ej-mobile-heading h1 span{color:#3fe3dc}
}
@media(max-width:680px){
  #evo-journey .ej-scene{aspect-ratio:1174/800}
  #evo-journey .ej3d-hint{top:auto;bottom:8px;left:8px;right:auto}
  #evo-journey .ej3d-tag span{font-size:10px;padding:6px 10px 6px 22px}
  #evo-journey .ej3d-tag span:before{left:9px;width:6px;height:6px;margin-top:-3px}
  #evo-journey .ej3d-hint{font-size:10px;padding:5px 9px}
}
@media(prefers-reduced-motion:reduce){#evo-journey .ej3d-tag.is-shown i{animation:none}#evo-journey.ej3d-ready .ej3d-hint{animation:none;opacity:1}}

/* karta cen energii w etapie magazynu */
#evo-journey .ej3d-price{position:absolute;z-index:4;top:14px;right:16px;width:264px;padding:12px 14px 10px;border-radius:14px;background:#fffffff2;border:1px solid #c6e7e3;box-shadow:0 12px 30px #000e2926;color:#000e29;font-family:Manrope,system-ui,sans-serif;opacity:0;transform:translateY(-6px);transition:opacity .45s ease,transform .45s ease;pointer-events:none;backdrop-filter:blur(8px)}
#evo-journey .ej3d-price.is-shown{opacity:1;transform:none}
#evo-journey .ej3d-price-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:11px;font-weight:700;color:#596477;letter-spacing:.01em}
#evo-journey .ej3d-clock{font-size:17px;font-weight:800;color:#000e29;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
#evo-journey .ej3d-price svg{display:block;width:100%;height:76px;margin-top:4px;overflow:visible}
#evo-journey .ej3d-price .cheap{fill:#00c2bf;opacity:.12}
#evo-journey .ej3d-price .peak{fill:#ffb547;opacity:.18}
#evo-journey .ej3d-price .area{fill:#000e29;opacity:.06}
#evo-journey .ej3d-price .line{fill:none;stroke:#000e29;stroke-width:2;stroke-linejoin:round;vector-effect:non-scaling-stroke}
#evo-journey .ej3d-price .cursor line{stroke:#000e29;stroke-width:1;stroke-dasharray:3 3;opacity:.45;vector-effect:non-scaling-stroke}
#evo-journey .ej3d-price .cursor circle{fill:#00c2bf;stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke}
#evo-journey .ej3d-price[data-phase=sell] .cursor circle{fill:#f29a12}
#evo-journey .ej3d-price text{font:700 9px Manrope,system-ui,sans-serif;fill:#596477;text-anchor:middle}
#evo-journey .ej3d-price-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 8px;margin-top:6px}
#evo-journey .ej3d-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;background:#e6f9f8;color:#00605e;font-size:11px;font-weight:800;white-space:nowrap}
#evo-journey .ej3d-chip:before{content:"";width:7px;height:7px;border-radius:50%;background:#00c2bf}
#evo-journey .ej3d-price[data-phase=sell] .ej3d-chip{background:#fff1dc;color:#8a4b00}
#evo-journey .ej3d-price[data-phase=sell] .ej3d-chip:before{background:#f29a12}
#evo-journey .ej3d-price[data-phase=home] .ej3d-chip{background:#eef2f5;color:#38475b}
#evo-journey .ej3d-price[data-phase=home] .ej3d-chip:before{background:#8796a8}
#evo-journey .ej3d-batt{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:800;font-variant-numeric:tabular-nums}
#evo-journey .ej3d-batt:before{content:"";width:34px;height:14px;border-radius:4px;border:2px solid #000e29;box-sizing:border-box;order:0}
#evo-journey .ej3d-batt{position:relative}
#evo-journey .ej3d-batt i{position:absolute;left:3px;top:50%;height:8px;margin-top:-4px;max-width:28px;border-radius:2px;background:#00c2bf;transition:width .3s}
#evo-journey .ej3d-batt i{width:0}
#evo-journey .ej3d-price[data-phase=sell] .ej3d-batt i{background:#f29a12}
#evo-journey .ej3d-batt em{font-style:normal}
#evo-journey .ej3d-price small{display:block;margin-top:6px;font-size:9px;color:#7a8698}
@media(max-width:680px){
  #evo-journey .ej3d-price{top:8px;left:8px;right:auto;width:206px;padding:9px 10px 8px;border-radius:12px}
  #evo-journey .ej3d-price svg{height:56px}
  #evo-journey .ej3d-clock{font-size:14px}
  #evo-journey .ej3d-price-top,#evo-journey .ej3d-chip,#evo-journey .ej3d-batt{font-size:10px}
  #evo-journey .ej3d-price small{display:none}
}
@media(max-width:680px){
  #evo-journey.ej3d-price-on .ej3d-tag{opacity:0}
  #evo-journey .ej3d-price{width:178px;padding:8px 9px 7px}
  #evo-journey .ej3d-price svg{height:40px;margin-top:2px}
  #evo-journey .ej3d-price text{display:none}
  #evo-journey .ej3d-price-top span{font-size:9px}
}

/* karta awarii sieci w etapie zasilania awaryjnego */
#evo-journey .ej3d-power{width:250px}
#evo-journey .ej3d-power .ej3d-clock{font-size:12px;font-weight:800;color:#c42b2b;text-transform:uppercase;letter-spacing:.06em}
#evo-journey .ej3d-power[data-phase=v2h] .ej3d-clock,#evo-journey .ej3d-power[data-phase=gen] .ej3d-clock{color:#007f7d}
#evo-journey .ej3d-rows{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:7px}
#evo-journey .ej3d-rows li{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;font-weight:700;color:#596477}
#evo-journey .ej3d-pill{padding:4px 9px;border-radius:999px;font-size:11px;font-weight:800;background:#e6f9f8;color:#00605e;white-space:nowrap}
#evo-journey .ej3d-pill.is-bad{background:#fde8e8;color:#a32020}
#evo-journey .ej3d-power[data-phase=off] .ej3d-src{background:#eef2f5;color:#38475b}
#evo-journey .ej3d-power[data-phase=gen] .ej3d-src{background:#fff1dc;color:#8a4b00}
#evo-journey .ej3d-power .ej3d-batt{color:#000e29}
@media(max-width:680px){
  #evo-journey .ej3d-power{width:188px}
  #evo-journey .ej3d-rows{gap:5px;margin-top:5px}
  #evo-journey .ej3d-rows li,#evo-journey .ej3d-pill{font-size:10px}
  #evo-journey .ej3d-power .ej3d-clock{font-size:10px}
}

/* ===== karty w panelu pod sceną (dom pozostaje odsłonięty) ===== */
#evo-journey.ej3d-widget-on .ej-active-row{grid-template-columns:minmax(0,1fr) auto auto}
#evo-journey .ej-active-row .ej3d-price{position:static;display:none;width:258px;transform:none;opacity:1;background:#0b1d3d;border:1px solid #ffffff1f;box-shadow:none;color:#fff;backdrop-filter:none;animation:ej3d-card-in .45s ease both}
#evo-journey .ej-active-row .ej3d-price.is-shown{display:block}
@keyframes ej3d-card-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
#evo-journey .ej-active-row .ej3d-price-top,#evo-journey .ej-active-row .ej3d-rows li{color:#aebbd0}
#evo-journey .ej-active-row .ej3d-clock,#evo-journey .ej-active-row .ej3d-batt{color:#fff}
#evo-journey .ej-active-row .ej3d-price .line{stroke:#fff}
#evo-journey .ej-active-row .ej3d-price .area{fill:#fff;opacity:.07}
#evo-journey .ej-active-row .ej3d-price .cursor line{stroke:#fff}
#evo-journey .ej-active-row .ej3d-price .cursor circle{stroke:#0b1d3d}
#evo-journey .ej-active-row .ej3d-price .cheap{opacity:.2}
#evo-journey .ej-active-row .ej3d-price .peak{opacity:.25}
#evo-journey .ej-active-row .ej3d-price text{fill:#8fa3bd}
#evo-journey .ej-active-row .ej3d-batt:before{border-color:#fff}
#evo-journey .ej-active-row .ej3d-chip{background:#00c2bf26;color:#5ff0e8}
#evo-journey .ej-active-row .ej3d-price[data-phase=sell] .ej3d-chip{background:#f29a1229;color:#ffc56b}
#evo-journey .ej-active-row .ej3d-price[data-phase=home] .ej3d-chip{background:#ffffff14;color:#cfd8e4}
#evo-journey .ej-active-row .ej3d-pill{background:#00c2bf26;color:#5ff0e8}
#evo-journey .ej-active-row .ej3d-pill.is-bad{background:#ff3b3b2b;color:#ff9a9a}
#evo-journey .ej-active-row .ej3d-power[data-phase=off] .ej3d-src{background:#ffffff14;color:#cfd8e4}
#evo-journey .ej-active-row .ej3d-power[data-phase=gen] .ej3d-src{background:#f29a1229;color:#ffc56b}
#evo-journey .ej-active-row .ej3d-power .ej3d-clock{color:#ff9a9a}
#evo-journey .ej-active-row .ej3d-power[data-phase=v2h] .ej3d-clock,#evo-journey .ej-active-row .ej3d-power[data-phase=gen] .ej3d-clock{color:#5ff0e8}
#evo-journey .ej-active-row .ej3d-price small{color:#7f93ad}

/* w scenie zostaje tylko pulsujący znacznik przy urządzeniu */
#evo-journey .ej3d-tag span{display:none}
#evo-journey .ej3d-tag i{width:12px;height:12px;margin:-6px 0 0 -6px;box-shadow:0 0 0 3px #ffffffcc}
#evo-journey .ej3d-tag:before{display:none}

@media(max-width:900px){#evo-journey.ej3d-widget-on .ej-active-row{grid-template-columns:minmax(0,1fr) auto}#evo-journey .ej-active-row .ej3d-price{grid-column:1/-1;width:100%;max-width:420px}}
@media(max-width:680px){
  #evo-journey .ej-active-row .ej3d-price{padding:11px 12px 10px}
  #evo-journey .ej-active-row .ej3d-price svg{height:56px}
  #evo-journey .ej-active-row .ej3d-price text{display:block}
  #evo-journey .ej-active-row .ej3d-price-top span{font-size:11px}
}
#evo-journey.ej3d-ready .ej-source{display:none}
