/* Ilpo — assistente del sito (v1.0.2). Tutto è sotto #ilpo per non toccare il resto del sito. */
#ilpo{--ilpo-g:#82B727;--ilpo-g2:#74A522;--ilpo-ink:#26271F;--ilpo-t2:#4A4B45;--ilpo-t3:#575756;--ilpo-acc:#4A6E0F;--ilpo-line:#DDE0D4;font-family:Mulish,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ilpo-ink);font-size:14px;line-height:1.45}
#ilpo *,#ilpo *::before,#ilpo *::after{box-sizing:border-box}
#ilpo button,#ilpo input{all:unset;box-sizing:border-box;font-family:inherit}
#ilpo [hidden]{display:none!important}
#ilpo :focus-visible{outline:3px solid #2E4A0A;outline-offset:2px}
.ilpo-sr,.ilpo-hp{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;opacity:0}
html.ilpo-lock,html.ilpo-lock body{overflow:hidden!important}

/* ---------- bottone ---------- */
#ilpo .ilpo-launch{position:fixed;right:16px;bottom:82px;z-index:95;display:flex;align-items:center;gap:10px;background:#fff;color:var(--ilpo-ink);border-radius:999px;padding:6px 18px 6px 6px;box-shadow:0 8px 26px rgba(23,32,15,.18),0 0 0 1px rgba(23,32,15,.05);font-weight:800;font-size:14px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}
#ilpo .ilpo-launch:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(23,32,15,.22),0 0 0 1px rgba(23,32,15,.05)}
#ilpo .ilpo-launch .ilpo-av{width:44px;height:44px;flex:none}
#ilpo.is-open .ilpo-launch{display:none}
@media (max-width:600px){
 #ilpo .ilpo-launch{padding:5px;bottom:80px}
 #ilpo .ilpo-launch .ilpo-av{width:46px;height:46px}
 #ilpo .ilpo-launch-t{max-width:0;overflow:hidden;white-space:nowrap;transition:max-width .4s ease,margin .4s ease}
 #ilpo .ilpo-launch.peek{padding-right:16px}
 #ilpo .ilpo-launch.peek .ilpo-launch-t{max-width:220px}
}

/* ---------- pannello ---------- */
#ilpo .ilpo-panel{position:fixed;right:16px;bottom:16px;z-index:99985;width:392px;height:min(640px,calc(100vh - 32px));height:min(640px,calc(100dvh - 32px));background:#fff;border-radius:22px;box-shadow:0 22px 60px rgba(23,32,15,.24),0 0 0 1px rgba(23,32,15,.06);display:flex;flex-direction:column;overflow:hidden;animation:ilpo-in .28s cubic-bezier(.2,.8,.2,1)}
body.admin-bar #ilpo .ilpo-panel{height:min(640px,calc(100vh - 64px))}
@keyframes ilpo-in{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
@media (max-width:600px){
 #ilpo .ilpo-panel{inset:0;width:auto;height:100%;border-radius:0}
 body.admin-bar #ilpo .ilpo-panel{height:100%}
}
#ilpo .ilpo-head{display:flex;align-items:center;gap:11px;padding:11px 8px 11px 13px;background:#EEF5E0;border-bottom:1px solid #DDE6C8;flex:none}
#ilpo .ilpo-head-av{width:46px;height:46px;border-radius:50%;background:#fff;border:1px solid #DDE6C8;display:flex;align-items:center;justify-content:center;flex:none}
#ilpo .ilpo-head-av .ilpo-av{width:38px;height:38px}
#ilpo .ilpo-head-t{flex:1;min-width:0;display:flex;flex-direction:column}
#ilpo .ilpo-head-t strong{font-family:Unbounded,Mulish,sans-serif;font-weight:600;font-size:15px;line-height:1.2}
#ilpo .ilpo-head-t small{font-size:12px;color:var(--ilpo-t2)}
#ilpo .ilpo-ib{width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ilpo-ink);flex:none}
#ilpo .ilpo-ib:hover{background:rgba(38,39,31,.08)}
#ilpo .ilpo-ib svg,#ilpo .ilpo-send svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

#ilpo .ilpo-msgs{position:relative;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:16px 13px;display:flex;flex-direction:column;gap:10px;background:#FBFBF8;scroll-behavior:smooth}
#ilpo .ilpo-me{align-self:flex-end;max-width:82%;background:var(--ilpo-ink);color:#fff;padding:9px 13px;border-radius:16px 16px 4px 16px;white-space:pre-wrap;word-wrap:break-word}
#ilpo .ilpo-bot{display:flex;flex-direction:column;gap:8px;align-self:stretch}
#ilpo .ilpo-bub{align-self:flex-start;max-width:90%;background:#F0F1EA;padding:9px 13px;border-radius:16px 16px 16px 4px;white-space:pre-wrap;word-wrap:break-word}
#ilpo .ilpo-chips{display:flex;flex-wrap:wrap;gap:6px}
#ilpo .ilpo-chip{font-weight:700;font-size:13px;line-height:1.2;color:#2E4A0A;background:#fff;border:1.5px solid var(--ilpo-g);border-radius:999px;padding:9px 13px;min-height:38px;display:inline-flex;align-items:center;cursor:pointer;transition:background .15s}
#ilpo .ilpo-chip:hover{background:#EEF5E0}
#ilpo .ilpo-chip--ghost{border-color:#C9CCBF;color:var(--ilpo-ink)}

#ilpo .ilpo-cards{display:flex;flex-direction:column;gap:7px}
#ilpo .ilpo-card{display:flex;gap:11px;align-items:flex-start;text-decoration:none;background:#fff;border:1px solid var(--ilpo-line);border-radius:14px;padding:9px;color:var(--ilpo-ink);transition:border-color .15s,transform .15s}
#ilpo .ilpo-card:hover{border-color:var(--ilpo-g);transform:translateY(-1px);color:var(--ilpo-ink)}
#ilpo .ilpo-card--main{border:1.5px solid var(--ilpo-g);background:#F7FBEF}
#ilpo .ilpo-card img{width:64px;height:64px;border-radius:10px;object-fit:cover;flex:none;background:#EEF0E8}
#ilpo .ilpo-card-tx{display:flex;flex-direction:column;gap:2px;min-width:0}
#ilpo .ilpo-card-tx small{font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ilpo-acc)}
#ilpo .ilpo-card-tx strong{font-size:14px;line-height:1.25}
#ilpo .ilpo-card-tx span{font-size:12.5px;line-height:1.4;color:var(--ilpo-t2)}

#ilpo .ilpo-cta{display:flex;flex-direction:column;gap:7px;padding-top:2px}
#ilpo .ilpo-cta-t{font-size:12px;font-weight:700;color:var(--ilpo-t3)}
#ilpo .ilpo-cta-row{display:flex;flex-wrap:wrap;gap:6px}
#ilpo .ilpo-btn{display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;line-height:1;border-radius:999px;padding:0 14px;min-height:40px;cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s}
#ilpo .ilpo-btn--pri{background:var(--ilpo-g);color:#171815}
#ilpo .ilpo-btn--pri:hover{background:var(--ilpo-g2);color:#171815}
#ilpo .ilpo-btn--wa{background:#25D366;color:#0B2E17}
#ilpo .ilpo-btn--wa:hover{background:#1FBF5B;color:#0B2E17}
#ilpo .ilpo-btn--out{background:#fff;color:var(--ilpo-ink);border:1.5px solid #C9CCBF}
#ilpo .ilpo-btn--out:hover{border-color:var(--ilpo-ink)}
#ilpo .ilpo-btn[disabled]{opacity:.55;cursor:default}
#ilpo .ilpo-mail{display:flex;flex-direction:column;gap:6px;border:1px solid var(--ilpo-line);border-radius:14px;padding:10px 12px;background:#fff}
#ilpo .ilpo-mail label{font-weight:700;font-size:13px}
#ilpo .ilpo-mail-row{display:flex;gap:6px}
#ilpo .ilpo-mail-note{font-size:12px;color:var(--ilpo-t3)}
#ilpo .ilpo-err{color:#A1260D}
#ilpo .ilpo-ok{border-radius:14px;padding:10px 12px;background:#EEF5E0;font-size:13.5px}
#ilpo .ilpo-rate{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ilpo-t3);flex-wrap:wrap}
#ilpo .ilpo-rate-b{font-weight:700;font-size:12px;color:var(--ilpo-ink);border:1px solid #C9CCBF;border-radius:999px;padding:5px 12px;min-height:32px;display:inline-flex;align-items:center;cursor:pointer}
#ilpo .ilpo-rate-b:hover{border-color:var(--ilpo-ink)}
#ilpo .ilpo-typing{align-self:flex-start;background:#F0F1EA;padding:12px 14px;border-radius:16px 16px 16px 4px}
#ilpo .ilpo-typing i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#6B6C66;margin:0 2px;animation:ilpo-dot 1s infinite}
#ilpo .ilpo-typing i:nth-child(2){animation-delay:.15s}#ilpo .ilpo-typing i:nth-child(3){animation-delay:.3s}
@keyframes ilpo-dot{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}

#ilpo .ilpo-form{display:flex;gap:8px;align-items:center;padding:10px 12px 6px;border-top:1px solid #ECEEE6;flex:none;background:#fff;margin:0}
#ilpo .ilpo-in{flex:1;min-width:0;height:44px;border:1.5px solid var(--ilpo-line);border-radius:999px;padding:0 16px;font-size:16px;color:var(--ilpo-ink);background:#fff}
@media (min-width:601px){#ilpo .ilpo-in{font-size:14px}}
#ilpo .ilpo-in:focus{border-color:var(--ilpo-g)}
#ilpo .ilpo-in:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(130,183,39,.35)}
#ilpo .ilpo-in::placeholder{color:#6B6C66;opacity:1}
#ilpo .ilpo-mail .ilpo-in{height:40px}
#ilpo .ilpo-send{width:44px;height:44px;border-radius:50%;background:var(--ilpo-g);color:#171815;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:none}
#ilpo .ilpo-send:hover{background:var(--ilpo-g2)}
#ilpo .ilpo-foot{margin:0;padding:0 16px 10px;font-size:11px;line-height:1.35;color:#6B6C66;background:#fff;flex:none}
#ilpo .ilpo-foot a{color:var(--ilpo-acc)}

/* ---------- Ilpo: forma verde che respira ---------- */
#ilpo .ilpo-av{display:block;position:relative}
#ilpo .ilpo-bz{position:relative;display:block;width:100%;height:100%}
#ilpo .ilpo-bz span,#ilpo .ilpo-bz i{display:block}
#ilpo .ilpo-bpulse{position:absolute;inset:10%;transform-origin:50% 100%;animation:ilpo-breathe 4s ease-in-out infinite}
#ilpo .ilpo-bblob{position:absolute;inset:0;background:radial-gradient(circle at 34% 30%,#E3F1C2 0%,#AFD65E 28%,#82B727 58%,#4F7A1E 100%);border-radius:42% 58% 63% 37%/41% 44% 56% 59%;animation:ilpo-morph 7s ease-in-out infinite;box-shadow:inset -3px -5px 9px rgba(23,32,15,.28)}
#ilpo .ilpo-bcore{position:absolute;left:24%;top:20%;width:30%;height:24%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.85) 0%,rgba(255,255,255,0) 70%);animation:ilpo-glow 4s ease-in-out infinite}
#ilpo .ilpo-bsh{position:absolute;left:24%;right:24%;bottom:1%;height:7%;border-radius:50%;background:radial-gradient(ellipse at center,rgba(23,32,15,.28) 0%,rgba(23,32,15,0) 70%)}
#ilpo .ilpo-borbs{position:absolute;inset:0;opacity:0;transition:opacity .3s}
#ilpo .ilpo-borbs i{position:absolute;width:12%;height:12%;border-radius:50%;background:#4F7A1E}
#ilpo .ilpo-borbs .d1{left:44%;top:-4%}#ilpo .ilpo-borbs .d2{left:2%;bottom:12%}#ilpo .ilpo-borbs .d3{right:2%;bottom:12%}
#ilpo .m-think .ilpo-borbs{opacity:1;animation:ilpo-spin 1.1s linear infinite}
#ilpo .m-think .ilpo-bblob{animation-duration:1.6s}
#ilpo .m-happy .ilpo-bpulse{animation:ilpo-hop 2s ease-in-out infinite}
#ilpo .m-happy .ilpo-bsh{animation:ilpo-shop 2s ease-in-out infinite}
#ilpo .m-happy .ilpo-bcore{animation:none;opacity:1}
@keyframes ilpo-morph{0%,100%{border-radius:42% 58% 63% 37%/41% 44% 56% 59%;transform:rotate(0)}33%{border-radius:58% 42% 40% 60%/55% 38% 62% 45%;transform:rotate(50deg)}66%{border-radius:38% 62% 55% 45%/60% 55% 45% 40%;transform:rotate(-35deg)}}
@keyframes ilpo-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
@keyframes ilpo-glow{0%,100%{opacity:.6}50%{opacity:1}}
@keyframes ilpo-spin{to{transform:rotate(360deg)}}
@keyframes ilpo-hop{0%{transform:translateY(0) scale(1,1)}7%{transform:translateY(0) scale(1.12,.86)}17%{transform:translateY(-20%) scale(.93,1.09)}27%{transform:translateY(0) scale(1.1,.9)}35%{transform:translateY(-13%) scale(.95,1.06)}44%{transform:translateY(0) scale(1.06,.94)}51%{transform:translateY(-7%) scale(.98,1.03)}58%{transform:translateY(0) scale(1.02,.98)}64%,100%{transform:translateY(0) scale(1,1)}}
@keyframes ilpo-shop{0%,7%,27%,44%,58%,100%{transform:scaleX(1);opacity:1}17%{transform:scaleX(.6);opacity:.45}35%{transform:scaleX(.72);opacity:.6}51%{transform:scaleX(.85);opacity:.8}}
@media (prefers-reduced-motion:reduce){
 #ilpo .ilpo-bpulse,#ilpo .ilpo-bblob,#ilpo .ilpo-bcore,#ilpo .ilpo-borbs,#ilpo .ilpo-bsh,#ilpo .ilpo-panel{animation:none!important}
}
@media print{#ilpo{display:none!important}}
