/* Energy Save HU - custom fidelity CSS (kiegészíti a theme.json-t). */
:root{
  --es-green:#1f7a44; --es-green-deep:#19663a; --es-ink:#10130f; --es-body:#5b6158;
  --es-muted:#8a9086; --es-line:#eceae5; --es-cream:#f7f7f4; --es-mint:#eef5ef; --es-white:#fff;
  --es-shadow:0 24px 60px rgba(16,19,15,.10); --es-radius:16px;
}
[hidden]{display:none!important}
body{font-family:Inter,system-ui,sans-serif;color:var(--es-body);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:Sora,system-ui,sans-serif;color:var(--es-ink);font-weight:600;letter-spacing:-.01em}
/* eyebrow: dot + 13px/600 accent, NOT uppercase (source 1:1) */
.es-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--es-green);margin:0 0 14px}
.es-eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--es-green);flex:0 0 auto}

/* buttons: rounded-[10px], px-5 py-3, text-sm/600 (source 1:1) */
.btn-primary,.wp-block-button__link{background:var(--es-green);color:#fff;border:0;border-radius:10px;font-weight:600;font-family:Inter,sans-serif;font-size:14px;padding:12px 20px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;text-decoration:none;transition:.16s}
.btn-primary:hover,.wp-block-button__link:hover{background:var(--es-green-deep)}

/* HERO */
.es-hero{position:relative;padding:48px 40px 104px}
.es-hero__grid{gap:64px!important;align-items:center}
.es-hero h1{font-size:clamp(34px,4.4vw,50px);line-height:1.08;letter-spacing:-.02em;margin:0 0 18px}
/* hero media: product image box + floating calculator overlap */
.es-hero__media{position:relative}
.es-hero__imgbox{margin:0;border-radius:24px;overflow:hidden;background:linear-gradient(135deg,var(--es-mint),#e4eee2);box-shadow:0 24px 60px rgba(16,19,15,.10);min-height:540px;display:flex;align-items:center;justify-content:center;padding:22px}
.es-hero__imgbox img{width:100%;height:100%;max-height:496px;object-fit:contain;display:block}
.es-hero__media .es-calc{position:absolute;bottom:-48px;left:-28px;width:344px;margin:0;z-index:3}
@media(max-width:1100px){ .es-hero__imgbox{min-height:380px} .es-hero__media .es-calc{position:static;width:96%;margin:-48px auto 0} }
.es-lead{font-size:18px;line-height:1.625;color:var(--es-body);max-width:448px;margin:20px 0 0}
.es-stats{display:flex;flex-wrap:wrap;gap:28px!important;margin:28px 0 0}
.es-stat{gap:0!important}
.es-stat__n{font-family:Sora,sans-serif;font-size:22px;font-weight:600;color:var(--es-ink);margin:0;line-height:1.2}
.es-stat__l{font-size:13px;color:#6b7168;margin:2px 0 0}
.es-trustline{font-size:12.5px;color:#8a9086;margin:20px 0 0}
.es-strip{border-top:1px solid var(--es-line);border-bottom:1px solid var(--es-line);background:rgba(247,247,244,.6);padding-left:40px;padding-right:40px}
.es-strip__row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 40px!important;padding:20px 0}
.es-strip__lead{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#9aa097;margin:0}
.es-spec{font-family:Sora,sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#b3b8ae;margin:0}

/* CALCULATOR card */
.es-calc{background:#fff;border:1px solid var(--es-line);border-radius:16px;box-shadow:0 24px 60px rgba(16,19,15,.12);padding:20px}
@media(min-width:640px){.es-calc{padding:24px}}
.es-calc__title{font-family:Sora,sans-serif;font-size:17px;font-weight:600;color:var(--es-ink);line-height:1.375}
.es-calc__sub{font-size:12.5px;color:var(--es-body);line-height:1.625;margin:8px 0 0}
.es-calc__bar{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#9aa097;margin-top:16px}
.es-calc__step{color:#9aa097}.es-calc__count{color:#9aa097}
.es-calc__progress{height:4px;background:var(--es-mint);border-radius:999px;margin:8px 0 20px;overflow:hidden}
.es-calc__progress span{display:block;height:100%;background:var(--es-green);border-radius:999px;transition:width .3s}
.es-step{border:0;padding:0;margin:0;display:none}
.es-step.is-active{display:block}
.es-step legend{font-family:Sora,sans-serif;font-size:17px;font-weight:600;color:var(--es-ink);padding:0;margin:0 0 16px;letter-spacing:-.02em}
.es-opts{display:grid;gap:10px}
.es-opts--2{grid-template-columns:1fr 1fr;gap:10px}
.es-opt{display:flex;align-items:center;gap:10px;border:1px solid var(--es-line);border-radius:12px;padding:12px;cursor:pointer;font-size:13px;font-weight:600;color:var(--es-ink);line-height:1.375;transition:.14s;min-height:52px}
.es-opt:hover{border-color:rgba(31,122,68,.4)}
.es-opt input{accent-color:var(--es-green);width:17px;height:17px}
.es-opt .es-ico{width:20px;height:20px;flex:0 0 auto;color:var(--es-green)}
.es-opts--2 .es-opt input{position:absolute;opacity:0;pointer-events:none}
.es-opt:has(input:checked){border-color:var(--es-green);background:var(--es-mint)}
.es-field{margin:0 0 10px}
.es-field input{width:100%;border:1.5px solid var(--es-line);border-radius:10px;padding:12px 14px;font-size:15px;font-family:Inter,sans-serif;color:var(--es-ink)}
.es-field input:focus{outline:none;border-color:var(--es-green);box-shadow:0 0 0 3px rgba(31,122,68,.12)}
.es-calc__demo{font-size:11.5px;color:var(--es-muted);line-height:1.45;margin:10px 0 0}
.es-calc__nav{display:flex;gap:12px;align-items:center;margin-top:20px}
.es-next,.es-cta{flex:1}
.es-back{display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--es-line);color:var(--es-ink);border-radius:10px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;padding:12px 16px;cursor:pointer;transition:.14s}
.es-back:hover{border-color:var(--es-green);color:var(--es-green)}
.es-result{text-align:center;padding:6px 0}
.es-result__label{font-size:13px;color:var(--es-muted);text-transform:uppercase;letter-spacing:1px}
.es-result__big{font-family:Sora,sans-serif;font-size:30px;font-weight:600;color:var(--es-green);margin:6px 0 14px}
.es-result__list{list-style:none;padding:0;margin:0 0 6px;text-align:left;display:grid;gap:8px}
.es-result__list li{font-size:14.5px;color:var(--es-body);border-bottom:1px dashed var(--es-line);padding-bottom:8px}
.es-shake{animation:es-shake .35s}
@keyframes es-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}

/* SECTION shared */
.es-sec{padding-left:40px;padding-right:40px}
.es-sec h2{font-size:clamp(28px,2.6vw,34px);line-height:1.3;margin:0 0 8px;max-width:760px}
.es-sec__lead{font-size:17px;line-height:1.6;color:var(--es-body);max-width:720px;margin:8px 0 0}
.es-disclaimer{font-size:12.5px;color:var(--es-muted);margin:20px 0 0;max-width:760px}
.es-cards-4,.es-cards-3,.es-cards-2{display:grid;gap:20px;margin-top:30px}
.es-cards-4{grid-template-columns:repeat(4,1fr)}
.es-cards-3{grid-template-columns:repeat(3,1fr)}
.es-cards-2{grid-template-columns:repeat(2,1fr);gap:20px;margin-top:0}
.es-about__grid{gap:64px!important;align-items:start}
.es-about__p{font-size:15.5px;line-height:1.625;color:var(--es-body);margin:16px 0 0}

/* about cards */
.es-card{background:#fff;border:1px solid var(--es-line);border-radius:16px;padding:22px}
.es-card h3{font-size:16.5px;margin:0 0 8px}
.es-card p{font-size:14.5px;line-height:1.55;color:var(--es-body);margin:0}

/* metrics */
.es-metric{background:#fff;border:1px solid var(--es-line);border-radius:16px;padding:24px 22px}
.es-metric__n{font-family:Sora,sans-serif;font-size:30px;font-weight:600;color:var(--es-green);margin:0 0 8px;line-height:1}
.es-metric p{font-size:14px;line-height:1.5;color:var(--es-body);margin:0}

/* process steps */
.es-step3{background:var(--es-cream);border:1px solid var(--es-line);border-radius:16px;padding:26px 24px}
.es-step3__n{font-family:Sora,sans-serif;font-size:34px;font-weight:600;color:var(--es-mint);-webkit-text-stroke:1px var(--es-green);color:var(--es-green);opacity:.35;margin:0 0 10px;line-height:1}
.es-step3 h3{font-size:18px;margin:0 0 8px}
.es-step3 p{font-size:14.5px;line-height:1.55;color:var(--es-body);margin:0}

/* pricing cards */
.es-pcard{background:#fff;border:1px solid var(--es-line);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:6px}
.es-pcard h3{font-size:16.5px;margin:0}
.es-pcard__sub{font-size:13px;color:var(--es-muted);margin:0;flex:1}
.es-pcard__v{font-family:Sora,sans-serif;font-size:21px;font-weight:600;color:var(--es-ink);margin:8px 0 0}
.es-pcard--win{background:var(--es-mint);border-color:var(--es-green)}
.es-pcard--win .es-pcard__v{color:var(--es-green)}

/* grant */
.es-grant__grid{gap:48px!important;align-items:center}
.es-bullets{list-style:none;padding:0;margin:18px 0 24px;display:grid;gap:12px}
.es-bullets li{position:relative;padding-left:30px;font-size:16px;color:var(--es-ink)}
.es-bullets li::before{content:"";position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;background:var(--es-mint);border:1.5px solid var(--es-green)}
.es-grant__img img{border-radius:18px;width:100%;height:auto;display:block;object-fit:cover}

/* reviews */
.es-rcard{background:#fff;border:1px solid var(--es-line);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:16px}
.es-rcard__q{font-size:16px;line-height:1.55;color:var(--es-ink);margin:0;flex:1}
.es-rcard__who{font-size:13.5px;color:var(--es-muted);margin:0;line-height:1.5}
.es-rcard__who strong{color:var(--es-ink)}

/* faq */
.es-acc{border-bottom:1px solid var(--es-line);padding:0}
.es-acc summary{font-family:Sora,sans-serif;font-size:17px;font-weight:600;color:var(--es-ink);padding:18px 0;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px}
.es-acc summary::-webkit-details-marker{display:none}
.es-acc summary::after{content:"+";color:var(--es-green);font-size:22px;font-weight:400;flex:0 0 auto}
.es-acc[open] summary::after{content:"−"}
.es-acc p{font-size:15px;line-height:1.6;color:var(--es-body);margin:0 0 18px;max-width:740px}

/* contact */
.es-contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}
.es-contact__item{background:var(--es-cream);border:1px solid var(--es-line);border-radius:14px;padding:20px 22px}
.es-contact__item h3{font-size:14px;text-transform:uppercase;letter-spacing:.5px;color:var(--es-muted);margin:0 0 8px}
.es-contact__item p{font-size:16px;line-height:1.6;color:var(--es-ink);margin:0}
.es-contact__item a{color:var(--es-green)}
@media(max-width:781px){.es-contact__grid{grid-template-columns:1fr}}

/* final CTA */
.es-finalcta{text-align:center}
.es-finalcta h2{color:#fff!important;max-width:640px;margin:0 auto 14px}
.es-finalcta__p{color:#d9efe1;max-width:560px;margin:0 auto 22px;font-size:16.5px;line-height:1.55}
.es-finalcta .wp-block-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.es-cta-white .wp-block-button__link{background:#fff;color:var(--es-green)}
.es-cta-white .wp-block-button__link:hover{background:var(--es-cream)}
.es-finalcta .is-style-outline .wp-block-button__link{background:transparent;border:1.5px solid rgba(255,255,255,.7);color:#fff}

/* header */
.es-head{border-bottom:1px solid var(--es-line);position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(8px)}
.es-head__row{display:flex;justify-content:space-between;align-items:center;gap:20px}
.es-logo{display:inline-flex;align-items:center}
.es-logo img{height:26px;width:auto;display:block}
.es-nav .wp-block-navigation__container{gap:26px}
.es-nav a{color:var(--es-body);font-size:15px}
.es-nav a:hover{color:var(--es-green)}
.es-headcta .wp-block-button__link{padding:11px 22px;font-size:15px}

/* footer */
.es-foot a{color:#b9c4bc;text-decoration:none}
.es-foot a:hover{color:#fff}
.es-foot__p{color:#9aa39b;font-size:14.5px;line-height:1.6;max-width:320px}
.es-foot h5{color:#fff;font-size:13px;letter-spacing:1px;text-transform:uppercase;margin:0 0 12px}
.es-foot p{margin:0 0 8px;font-size:14px}
.es-foot__legal{border-top:1px solid rgba(255,255,255,.12);margin-top:30px;padding-top:18px;font-size:12.5px;color:#8a968d;text-align:center}

@media(max-width:1024px){
  .es-cards-4{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:781px){
  .es-sec{padding-left:22px;padding-right:22px}
  .es-hero{padding:30px 22px 64px}
  .es-hero__grid{gap:28px!important}
  .es-stats{gap:20px!important}
  .es-specs{justify-content:flex-start!important}
  .es-cards-4,.es-cards-3{grid-template-columns:1fr}
  .es-grant__grid{gap:28px!important}
  .es-opts--2{grid-template-columns:1fr 1fr}
}
