/* Energy Assistenza – modulo richieste (stile chiaro) */
.ea-app{--p:#1a56db;--pd:#1342ad;--pl:#eff4ff;--ink:#0f172a;--mut:#64748b;--line:#e2e8f0;--bg:#f8fafc;--ok:#16a34a;--red:#dc2626;
  max-width:880px;margin:0 auto;color:var(--ink);font-size:16px;line-height:1.55;text-align:left;box-sizing:border-box}
.ea-app *,.ea-app *::before,.ea-app *::after{box-sizing:border-box}
.ea-app h2,.ea-app h3,.ea-app p{margin:0}
.ea-app svg{width:1.25em;height:1.25em;flex:none}

/* intestazione */
.ea-top{padding:6px 0 22px}
.ea-top h2{font-size:clamp(26px,4vw,34px);line-height:1.2;font-weight:700;color:var(--ink);letter-spacing:-.01em;margin-bottom:8px;text-transform:none}
.ea-top p{color:var(--mut);font-size:17px;max-width:640px}
.ea-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.ea-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--bg);border:1px solid var(--line);font-size:14px;color:var(--ink)}
.ea-pill svg{color:var(--p)}
.ea-pill a{color:var(--p);font-weight:600;text-decoration:none}

/* avanzamento */
.ea-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:6px 0 22px;padding:0;list-style:none}
.ea-steps li{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--mut);padding:10px 12px;border-radius:12px;background:var(--bg);border:1px solid var(--line);transition:.25s}
.ea-steps .n{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#fff;border:1.5px solid var(--line);font-weight:700;font-size:13px;flex:none;transition:.25s}
.ea-steps li.done{color:var(--ink);border-color:#bfd0fb;background:var(--pl)}
.ea-steps li.done .n{background:var(--p);border-color:var(--p);color:#fff}
.ea-steps li.done .n span{display:none}
.ea-steps li.done .n::after{content:"✓"}

/* sezioni */
.ea-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:clamp(18px,3vw,28px);margin-bottom:18px;box-shadow:0 1px 2px rgba(15,23,42,.04),0 8px 24px rgba(15,23,42,.04)}
.ea-card h3{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:700;margin-bottom:4px;color:var(--ink);text-transform:none}
.ea-card h3 .b{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--pl);color:var(--p);font-size:14px;font-weight:700}
.ea-card .sub{color:var(--mut);font-size:15px;margin:0 0 18px 40px}

/* riquadri categoria */
.ea-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0;padding:0;border:0}
.ea-tile{position:relative;display:block;cursor:pointer}
.ea-tile input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer;margin:0}
.ea-tile .box{display:flex;flex-direction:column;gap:10px;height:100%;padding:16px;border:1.5px solid var(--line);border-radius:14px;background:#fff;transition:border-color .2s,box-shadow .2s,transform .2s,background .2s}
.ea-tile .ic{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--bg);color:var(--mut);transition:.2s}
.ea-tile .ic svg{width:22px;height:22px}
.ea-tile .t{font-weight:600;font-size:15px;line-height:1.3;color:var(--ink)}
.ea-tile:hover .box{border-color:#bfd0fb;transform:translateY(-2px);box-shadow:0 8px 20px rgba(26,86,219,.10)}
.ea-tile input:checked + .box{border-color:var(--p);background:var(--pl);box-shadow:0 0 0 3px rgba(26,86,219,.14)}
.ea-tile input:checked + .box .ic{background:var(--p);color:#fff}
.ea-tile input:checked + .box::after{content:"✓";position:absolute;top:10px;right:12px;width:22px;height:22px;border-radius:50%;background:var(--p);color:#fff;font-size:13px;display:grid;place-items:center}
.ea-tile input:focus-visible + .box{outline:3px solid rgba(26,86,219,.45);outline-offset:2px}

/* campi */
.ea-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ea-grid .full{grid-column:1/-1}
.ea-f label{display:block;font-weight:600;font-size:14px;margin-bottom:6px;color:var(--ink)}
.ea-f label i{font-style:normal;color:var(--red)}
.ea-f label em{font-style:normal;font-weight:400;color:var(--mut)}
.ea-f input[type=text],.ea-f input[type=email],.ea-f input[type=tel],.ea-f textarea{display:block;width:100%;height:50px;padding:0 14px;font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:12px;transition:border-color .2s,box-shadow .2s;box-shadow:none;margin:0}
.ea-f textarea{height:auto;min-height:150px;padding:12px 14px;resize:vertical;line-height:1.5}
.ea-f input:hover,.ea-f textarea:hover{border-color:#cbd5e1}
.ea-f input:focus,.ea-f textarea:focus{outline:0;border-color:var(--p);box-shadow:0 0 0 4px rgba(26,86,219,.14)}
.ea-f .hint{display:block;margin-top:6px;font-size:13px;color:var(--mut)}
.ea-f .err{display:none;margin-top:6px;font-size:13px;color:var(--red);font-weight:500}
.ea-f.has-error input,.ea-f.has-error textarea{border-color:var(--red);box-shadow:0 0 0 4px rgba(220,38,38,.10)}
.ea-f.has-error .err{display:block}
.ea-count{float:right;font-weight:400;color:var(--mut);font-size:13px}
.ea-tips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.ea-tips span{font-size:13px;color:var(--mut);background:var(--bg);border:1px dashed var(--line);border-radius:8px;padding:4px 10px}

/* invio */
.ea-consent{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--mut);cursor:pointer;margin:0}
.ea-consent input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--p);flex:none}
.ea-consent.has-error{color:var(--red)}
.ea-submit{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:18px}
.ea-btn,.ea-btn-sec{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 30px;border-radius:12px;font:inherit;font-size:16px;font-weight:700;cursor:pointer;border:0;text-decoration:none;transition:background .2s,transform .2s,box-shadow .2s}
.ea-btn{background:var(--p);color:#fff;box-shadow:0 6px 16px rgba(26,86,219,.28)}
.ea-btn:hover{background:var(--pd);color:#fff;transform:translateY(-1px)}
.ea-btn[disabled]{opacity:.7;cursor:wait;transform:none}
.ea-btn-sec{background:#fff;color:var(--p);border:1.5px solid var(--line)}
.ea-btn-sec:hover{border-color:var(--p);color:var(--pd)}
.ea-note{font-size:13px;color:var(--mut)}
.ea-spin{width:18px;height:18px;border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:ea-r .7s linear infinite;display:none}
.ea-btn[disabled] .ea-spin{display:inline-block}
@keyframes ea-r{to{transform:rotate(360deg)}}
.ea-hp{position:absolute!important;left:-9999px!important;height:0;overflow:hidden}

/* avvisi */
.ea-alert{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:12px;margin-bottom:18px;font-size:15px;border:1px solid}
.ea-alert.err{background:#fef2f2;border-color:#fecaca;color:#991b1b}
.ea-alert svg{margin-top:2px}

/* conferma */
.ea-done{text-align:center;padding:clamp(26px,5vw,46px) clamp(18px,4vw,40px)}
.ea-check{width:76px;height:76px;margin:0 auto 18px;border-radius:50%;background:#dcfce7;display:grid;place-items:center;animation:ea-pop .5s cubic-bezier(.2,1.4,.4,1)}
.ea-check svg{width:38px;height:38px;color:var(--ok);stroke-dasharray:30;stroke-dashoffset:30;animation:ea-draw .5s .25s forwards}
@keyframes ea-pop{from{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}
@keyframes ea-draw{to{stroke-dashoffset:0}}
.ea-done h2{font-size:clamp(24px,4vw,30px);margin-bottom:6px;color:var(--ink);text-transform:none}
.ea-done .lead{color:var(--mut);max-width:520px;margin:0 auto 22px}
.ea-code{display:inline-flex;align-items:center;gap:12px;padding:10px 12px 10px 18px;border:1.5px dashed #bfd0fb;background:var(--pl);border-radius:14px;margin-bottom:12px}
.ea-code b{font-size:20px;letter-spacing:.04em;color:var(--pd);font-variant-numeric:tabular-nums}
.ea-copy{height:36px;padding:0 14px;border-radius:9px;border:0;background:#fff;color:var(--p);font:inherit;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 1px 3px rgba(15,23,42,.12)}
.ea-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;font-size:14px;font-weight:700;margin-bottom:26px}
.ea-badge.hi{background:#fee2e2;color:#b91c1c}
.ea-badge.lo{background:var(--pl);color:var(--pd)}
.ea-next{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;text-align:left;margin:4px 0 26px}
.ea-next div{padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--bg);font-size:14.5px;color:var(--mut)}
.ea-next strong{display:block;color:var(--ink);font-size:15px;margin-bottom:4px}
.ea-next .n{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--p);color:#fff;font-size:12px;font-weight:700;margin-bottom:8px}

@media (max-width:700px){
  .ea-tiles{grid-template-columns:repeat(2,1fr)}
  .ea-grid{grid-template-columns:1fr}
  .ea-steps{grid-template-columns:1fr;gap:6px}
  .ea-steps li{padding:8px 12px}
  .ea-next{grid-template-columns:1fr}
  .ea-card .sub{margin-left:0}
  .ea-submit{flex-direction:column;align-items:stretch}
  .ea-btn{width:100%}
}
@media (max-width:380px){.ea-tiles{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.ea-app *{animation:none!important;transition:none!important}.ea-check svg{stroke-dashoffset:0}}

/* Pagina assistenza: niente slider gigante, contenuto subito in vista */
body.ea-page .slider-main{display:none}
body.ea-page .entry-content,body.ea-page .post-content,body.ea-page .content-area{width:100%;max-width:none}
body.ea-page h1.entry-title,body.ea-page .page-title{margin-bottom:22px}
.ea-app{scroll-margin-top:24px}

.ea-app a,.ea-app a:hover{text-decoration:none!important}
