/* YAVENO v5: moduli che mancavano (terzo giro). Aziende e studi, assistente AI, Audit, risposte alle recensioni, assistente della pagina.
   Ogni regola sta sotto un prefisso (.s-az, .s-ai, .s-audit, .care-review, .as-). Nessuna regola globale. */

/* ===== Aziende e studi ===== */
.s-az{background:var(--stage);color:var(--white);padding:clamp(80px,9vw,140px) var(--g) clamp(56px,6vw,90px);overflow-x:clip}
.s-az .az-in{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:minmax(0,.74fr) minmax(0,1.26fr);gap:clamp(32px,5vw,88px);align-items:center}
.s-az h2{font-size:clamp(44px,5.6vw,92px);letter-spacing:-.045em;line-height:.95}
.s-az .az-lead{margin-top:clamp(18px,2vw,28px);font-size:clamp(17px,1.4vw,21px);color:#d3dade;max-width:34ch}
.s-az .az-list{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:12px}
.s-az .az-list li{display:flex;gap:12px;align-items:baseline;color:#e7ecef;font-size:17px}
.s-az .az-list li::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:#f2d94e;transform:translateY(-2px)}
.s-az .az-price{margin-top:28px;font-size:17px;color:#d3dade}
.s-az .az-price strong{font-size:clamp(30px,2.6vw,40px);letter-spacing:-.04em;font-weight:500;color:var(--white)}
.s-az .az-act{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.s-az .az-note{max-width:var(--max);margin:28px auto 0;font-size:12.5px;color:var(--muted-dark)}
.s-az .az-stage{position:relative;padding:0 clamp(0px,5%,70px) clamp(20px,4%,48px) 0}
.s-az .az-desk{border-radius:12px;overflow:hidden;background:#0b0c0d;border:1px solid #2b333b;box-shadow:0 40px 90px rgba(0,0,0,.5)}
.s-az .az-bar{display:flex;align-items:center;gap:7px;height:30px;padding:0 14px;background:#1a1c1f}
.s-az .az-bar i{width:10px;height:10px;border-radius:50%;background:#41454a}
.s-az .az-scr{position:relative;overflow:hidden;aspect-ratio:16/10;background:#1c1b1a}
.s-az .az-pg{display:block;width:100%;height:100%;object-fit:cover}
.s-az .az-phone{position:absolute;right:0;bottom:0;width:clamp(112px,20%,210px);aspect-ratio:390/844;border-radius:clamp(18px,2.2vw,30px);padding:clamp(4px,.5vw,7px);background:#0b0c0d;box-shadow:0 0 0 1px rgba(255,255,255,.14),0 30px 70px rgba(0,0,0,.6)}
.s-az .az-phone .az-scr{height:100%;aspect-ratio:auto;border-radius:clamp(14px,1.8vw,24px)}

/* ===== Assistente AI sul sito ===== */
.s-ai{background:var(--surface);padding:clamp(80px,9vw,140px) var(--g);border-top:1px solid var(--line)}
.s-ai .ai-in{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(32px,5vw,88px);align-items:start}
.s-ai h2{font-size:clamp(44px,5.6vw,92px);letter-spacing:-.045em;line-height:.95}
.s-ai .ai-lead{margin-top:clamp(18px,2vw,28px);font-size:clamp(17px,1.4vw,21px);color:#3b4045;max-width:36ch}
.s-ai .ai-can{display:grid;grid-template-columns:1fr 1fr;gap:20px 28px;margin-top:32px}
.s-ai .ai-can h3{font-size:19px;letter-spacing:-.02em;margin-bottom:12px}
.s-ai .ai-can ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.s-ai .ai-can li{position:relative;padding-left:26px;font-size:16px;line-height:1.4;color:#2a2f33}
.s-ai .ai-can li::before{content:"";position:absolute;left:0;top:.38em;width:14px;height:14px;border-radius:50%;background:#1fa35a}
.s-ai .ai-can .no li::before{background:#fff;border:2px solid #8b959d;box-sizing:border-box}
.s-ai .ai-price{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
.s-ai .ai-price p{font-size:17px;color:#3b4045}
.s-ai .ai-price strong{display:block;font-size:clamp(34px,3.2vw,50px);letter-spacing:-.045em;line-height:1;font-weight:500;color:var(--ink);margin-bottom:8px}
.s-ai .ai-price .btn{margin-top:20px}
.s-ai .ai-chat{background:var(--white);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(17,22,28,.25)}
.ai-head{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}
.ai-face{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--ink);color:var(--white);font:500 15px/1 Ronzino,sans-serif;flex:none}
.ai-head b{font-weight:500;font-size:16px;display:block;line-height:1.2}
.ai-head small{font-size:12.5px;color:var(--muted)}
.ai-tag,.as-tag{margin-left:auto;font-size:12px;font-weight:500;border:1px solid var(--line);border-radius:999px;padding:3px 10px;white-space:nowrap}
.ai-log,.as-log{display:flex;flex-direction:column;gap:10px;padding:18px;overflow-y:auto}
.ai-log{min-height:230px;max-height:380px}
.ai-b,.as-b{max-width:88%;padding:11px 15px;border-radius:16px;font-size:15.5px;line-height:1.4;animation:ai-in .35s var(--ease) both}
.ai-b.me,.as-b.me{align-self:flex-end;background:var(--ink);color:var(--white);border-bottom-right-radius:5px}
.ai-b.bot,.as-b.bot{align-self:flex-start;background:var(--surface);border:1px solid var(--line);border-bottom-left-radius:5px}
.ai-b.wait,.as-b.wait{display:flex;gap:5px;padding:14px 16px}
.ai-b.wait i,.as-b.wait i{width:7px;height:7px;border-radius:50%;background:#9aa0a5;animation:ai-dot 1s infinite ease-in-out}
.ai-b.wait i:nth-child(2),.as-b.wait i:nth-child(2){animation-delay:.15s}
.ai-b.wait i:nth-child(3),.as-b.wait i:nth-child(3){animation-delay:.3s}
@keyframes ai-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes ai-dot{0%,80%,100%{opacity:.3;transform:none}40%{opacity:1;transform:translateY(-3px)}}
.ai-ask{padding:14px 18px 18px;border-top:1px solid var(--line);background:var(--white)}
.ai-ask p{font-size:13.5px;color:var(--muted);margin-bottom:10px}
.ai-chips,.as-chips{display:flex;flex-wrap:wrap;gap:8px}
.ai-chip,.as-chip{min-height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--ink);background:var(--white);color:var(--ink);font:500 14.5px/1 Ronzino,sans-serif;cursor:pointer;transition:background .2s,color .2s}
@media (hover:hover){.ai-chip:hover,.as-chip:hover{background:var(--ink);color:var(--white)}}
.ai-chip:focus-visible,.as-chip:focus-visible,.as-launch:focus-visible,.as-x:focus-visible,.rv-ok:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.ai-foot{margin-top:12px;font-size:12.5px;color:var(--muted)}

/* ===== Audit ===== */
.s-audit{background:var(--white);padding:clamp(72px,8vw,120px) var(--g);border-top:1px solid var(--line)}
.s-audit .au-in{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,88px);align-items:center}
.s-audit h2{font-size:clamp(38px,4.6vw,76px);letter-spacing:-.045em;line-height:.97}
.s-audit .au-lead{margin-top:20px;font-size:clamp(17px,1.4vw,21px);color:#3b4045;max-width:38ch}
.s-audit .au-look{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:10px}
.s-audit .au-look li{position:relative;padding-left:26px;font-size:17px;color:#2a2f33}
.s-audit .au-look li::before{content:"";position:absolute;left:0;top:.45em;width:12px;height:12px;border-radius:3px;background:var(--ink)}
.s-audit .au-card{border:2px solid var(--ink);border-radius:var(--r);padding:clamp(22px,2.6vw,34px);background:var(--white)}
.s-audit .au-name{font-size:15px;color:var(--muted)}
.s-audit .au-price{margin-top:6px;font-size:clamp(46px,4.6vw,72px);letter-spacing:-.05em;line-height:1}
.s-audit .au-price span{display:block;margin-top:10px;font-size:15px;letter-spacing:0;color:var(--muted)}
.s-audit .au-deal{margin-top:22px;padding:16px 18px;border-radius:10px;background:var(--surface);border:1px solid var(--line);font-size:16px;line-height:1.4}
.s-audit .au-deal strong{font-weight:500}
.s-audit .au-card .btn{margin-top:22px;width:100%}

/* ===== Risposte alle recensioni (dentro la Cura) ===== */
.care-review{max-width:var(--max);margin:16px auto 0;border:1px solid var(--line);border-radius:var(--r);padding:clamp(22px,3vw,40px);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:28px clamp(24px,4vw,64px);align-items:center;background:var(--surface)}
.care-review .rv-tag{display:inline-block;font-size:12px;font-weight:500;border:1px solid var(--ink);border-radius:999px;padding:3px 10px;margin-bottom:16px}
.care-review h3{font-size:clamp(26px,2.6vw,38px);letter-spacing:-.035em;line-height:1.02}
.care-review .rv-intro p{margin-top:14px;color:#3b4045;font-size:16.5px;max-width:34ch}
.care-review .rv-cards{display:grid;gap:12px}
.care-review .rv-card{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:18px 20px}
.care-review .rv-stars{display:flex;gap:3px;color:#c58a00;margin-bottom:10px}
.care-review .rv-stars svg{width:17px;height:17px;fill:currentColor}
.care-review .rv-who{margin-top:10px;font-size:13.5px;color:var(--muted)}
.care-review .rv-card p.rv-text{font-size:16.5px;line-height:1.45}
.care-review .rv-out{border:2px solid var(--ink)}
.care-review .rv-lab{font-size:12.5px;font-weight:500;color:var(--muted);margin-bottom:8px;display:flex;justify-content:space-between;gap:10px}
.care-review .rv-state{color:var(--muted);font-weight:400}
.care-review .rv-ok{margin-top:14px;min-height:44px;padding:0 22px;border-radius:999px;border:1px solid var(--ink);background:var(--ink);color:var(--white);font:500 15px/1 Ronzino,sans-serif;cursor:pointer}
.care-review .rv-ok[aria-pressed=true]{background:var(--white);color:var(--ink)}
.care-review .rv-msg{min-height:1.4em;margin-top:8px;font-size:14px;color:#17793f}
.care-review .rv-foot{grid-column:1/-1;font-size:14.5px;color:var(--muted)}

/* ===== Assistente della pagina (bottone fisso + pannello) ===== */
.as-launch{position:fixed;z-index:35;right:clamp(14px,2vw,28px);bottom:clamp(14px,2vw,26px);display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 20px 0 16px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(17,22,28,.92);color:var(--white);font:500 14.5px/1 Ronzino,sans-serif;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 14px 34px -12px rgba(0,0,0,.5);animation:ai-in .4s var(--ease) both}
@media (hover:hover){.as-launch:hover{background:#000}}
.as-launch svg{width:18px;height:18px;flex:none}
.as-launch[hidden],.as-panel[hidden]{display:none}
.as-panel{position:fixed;z-index:60;right:clamp(10px,2vw,28px);bottom:clamp(10px,2vw,26px);width:min(400px,calc(100vw - 20px));max-height:min(640px,calc(100svh - 24px));display:flex;flex-direction:column;background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:18px;box-shadow:0 30px 80px -20px rgba(0,0,0,.45);overflow:hidden;animation:ai-in .35s var(--ease) both}
.as-head{display:flex;align-items:center;gap:10px;padding:14px 14px 12px 18px;border-bottom:1px solid var(--line)}
.as-title{font-size:17px;font-weight:500;letter-spacing:-.02em}
.as-head .as-tag{margin-left:0}
.as-x{margin-left:auto;display:grid;place-items:center;width:40px;height:40px;border:0;background:none;border-radius:50%;cursor:pointer;color:var(--ink)}
@media (hover:hover){.as-x:hover{background:var(--surface)}}
.as-x svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.as-note{padding:10px 18px;font-size:12.5px;color:var(--muted);background:var(--surface);border-bottom:1px solid var(--line)}
.as-log{flex:1;min-height:160px}
.as-b.bot a{color:inherit;text-underline-offset:3px}
.as-ask{padding:12px 16px 14px;border-top:1px solid var(--line)}
.as-chips{margin-bottom:10px}
.as-chip{min-height:36px;padding:0 13px;font-size:13.5px}
.as-chip.brief{background:var(--ink);color:var(--white)}
@media (hover:hover){.as-chip.brief:hover{background:#000}}
.as-form{display:flex;gap:8px}
.as-form input{flex:1;min-width:0;min-height:44px;border:1px solid var(--line);border-radius:12px;padding:0 14px;font:400 15.5px Ronzino,sans-serif;color:var(--ink);background:var(--white)}
.as-form input:focus-visible{outline:2px solid var(--focus);outline-offset:1px}
.as-form button{min-height:44px;min-width:44px;padding:0 16px;border-radius:12px;border:0;background:var(--ink);color:var(--white);font:500 14.5px Ronzino,sans-serif;cursor:pointer}
.as-form button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.as-b.as-brief{display:grid;gap:8px;max-width:100%;width:100%;background:var(--white);border:1px solid var(--ink)}
.as-brief label{display:grid;gap:3px;font-size:12.5px;color:var(--muted)}
.as-brief input{min-height:40px;border:1px solid var(--line);border-radius:10px;padding:0 12px;font:400 15px Ronzino,sans-serif;color:var(--ink);background:var(--white)}
.as-brief button{min-height:42px;border-radius:999px;border:0;background:var(--ink);color:var(--white);font:500 14.5px Ronzino,sans-serif;cursor:pointer}
.as-brief .err{font-size:13px;color:#a8322d;min-height:1.2em}
.as-sum{white-space:pre-wrap;font-size:14.5px;line-height:1.5;margin:0}
.as-sum-act{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.as-sum-act button{min-height:38px;padding:0 14px;border-radius:999px;border:1px solid var(--ink);background:var(--ink);color:var(--white);font:500 13.5px Ronzino,sans-serif;cursor:pointer}

@media (max-width:980px){
  .s-az .az-in,.s-ai .ai-in,.s-audit .au-in,.care-review{grid-template-columns:1fr}
  .s-az .az-stage{padding:0 0 clamp(16px,3%,28px) 0;max-width:760px}
}
@media (max-width:640px){
  .s-ai .ai-can{grid-template-columns:1fr}
  .s-az .az-act .btn,.s-ai .ai-price .btn{width:100%}
  .s-az .az-phone{width:30%;right:-4px}
  .ai-b,.as-b{max-width:94%}
  .as-launch{width:52px;height:52px;min-height:0;padding:0;justify-content:center}
  .as-launch .as-lbl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .as-launch svg{width:22px;height:22px}
  .as-panel{right:8px;left:8px;width:auto;bottom:8px;max-height:calc(100svh - 16px)}
}

/* movimento ridotto: niente scorrimento, niente comparse; tutto resta leggibile */
@media (prefers-reduced-motion:reduce){
  .ai-b,.as-b,.as-launch,.as-panel{animation:none}
  .ai-b.wait i,.as-b.wait i{animation:none}
}
html.motion-paused .ai-b,html.motion-paused .as-b,html.motion-paused .as-launch,html.motion-paused .as-panel{animation:none}
html.motion-paused .ai-b.wait i,html.motion-paused .as-b.wait i{animation-play-state:paused}
