/* AzNut AI widget: общий для всех страниц */
.ai-assistant-float{
            position: relative;
            width: 72px;
            height: 72px;
            cursor: pointer;
            background: none;
            border: none;
            display: flex; align-items: center; justify-content: center;
            transition: transform 0.3s ease;
        }
.ai-assistant-float:hover{ transform: scale(1.1); }
.ai-assistant-float .aznut-mascot{
            width: 100%; height: 100%; display: block; overflow: visible;
            filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.3));
        }
.aznut-mascot g,.aznut-mascot ellipse{ transform-box: view-box; }
.aznut-mascot .m-body{
            transform-origin: 50px 88px;
            animation: mBob 3.4s ease-in-out infinite;
        }
.aznut-mascot .m-arm--l{
            transform-origin: 26px 56px;
            animation: mWaveL 1.7s ease-in-out infinite;
        }
.aznut-mascot .m-arm--r{
            transform-origin: 74px 56px;
            animation: mSwingR 2.5s ease-in-out infinite;
        }
.aznut-mascot .m-leg--l{
            transform-origin: 42px 86px;
            animation: mStepA 1.7s ease-in-out infinite;
        }
.aznut-mascot .m-leg--r{
            transform-origin: 58px 86px;
            animation: mStepB 1.7s ease-in-out infinite;
        }
.aznut-mascot .m-lid{ animation: mBlink 4.6s infinite; }
.aznut-mascot .m-lid--l{ transform-origin: 41px 57px; }
.aznut-mascot .m-lid--r{ transform-origin: 59px 57px; }
.aznut-mascot.ai-wave .m-arm--l{ animation: mWaveHard 0.5s ease-in-out 5; }
.ai-assistant-float .aznut-mascot.ai-jump{ animation: aiJump 0.5s ease; }
@media (prefers-reduced-motion: reduce){.aznut-mascot *,.ai-assistant-float::after{ animation: none !important; }}
.ai-assistant-float .ai-tip{
            position: absolute; right: 76px; top: 50%; transform: translateY(-50%);
            background: #2C2416; color: #fff; font-size: 12px; font-weight: 600;
            padding: 6px 12px; border-radius: 16px; white-space: nowrap;
            opacity: 0; pointer-events: none; transition: opacity 0.25s ease;
        }
.ai-assistant-float:hover .ai-tip{ opacity: 1; }
.ai-bubble{
            
            position: absolute; right: 86px; bottom: 6px;
            width: 225px; background: #fff; color: #2C2416;
            font-size: 13px; line-height: 1.45; font-weight: 500;
            padding: 10px 14px; border-radius: 16px 16px 4px 16px;
            box-shadow: 0 8px 24px rgba(0,0,0,0.18);
            opacity: 0; transform: translateY(8px) scale(0.95);
            transition: opacity 0.3s ease, transform 0.3s ease;
            pointer-events: none;
        }
.ai-bubble.show{ opacity: 1; transform: translateY(0) scale(1); }
@media (max-width: 560px){.ai-bubble{ width: 165px; right: 80px; font-size: 12px; }}
@keyframes mBob {
            0%, 100% { transform: translateY(0)    rotate(0deg); }
            25%      { transform: translateY(-2px) rotate(-6deg); }
            75%      { transform: translateY(-2px) rotate(6deg); }
        }
@keyframes mWaveL { 0%,100% { transform: rotate(0deg); } 50% { transform: rotate(-30deg); } }
@keyframes mSwingR { 0%,100% { transform: rotate(0deg); } 50% { transform: rotate(16deg); } }
@keyframes mStepA { 0%,100% { transform: rotate(0deg); } 50% { transform: rotate(-13deg); } }
@keyframes mStepB { 0%,100% { transform: rotate(0deg); } 50% { transform: rotate(13deg); } }
@keyframes mBlink {
            0%, 90%, 100% { transform: scaleY(0); }
            93%, 96%      { transform: scaleY(1); }
        }
@keyframes mWaveHard {
            0%, 100% { transform: rotate(-8deg); }
            50%      { transform: rotate(-62deg); }
        }
@keyframes aiJump {
            0%,100% { transform: translateY(0) scale(1); }
            40%     { transform: translateY(-14px) scale(1.08); }
        }

.azw-win{position:fixed;bottom:100px;right:20px;width:370px;max-width:calc(100vw - 24px);height:520px;max-height:calc(100vh - 130px);background:#fff;border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,.25);display:none;flex-direction:column;overflow:hidden;z-index:100000;font-family:inherit}
.azw-win.open{display:flex}
.azw-head{background:#8B5A2B;color:#fff;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:15px}
.azw-x{background:none;border:0;color:#fff;font-size:26px;cursor:pointer;line-height:1;padding:0 4px}
.azw-msgs{flex:1;overflow-y:auto;padding:12px;background:#faf6f0;display:flex;flex-direction:column;gap:8px}
.azw-m{max-width:86%;padding:9px 12px;border-radius:12px;font-size:14px;line-height:1.45;word-wrap:break-word}
.azw-m.bot{background:#fff;color:#2b2118;align-self:flex-start;border:1px solid #eadfce}
.azw-m.user{background:#8B5A2B;color:#fff;align-self:flex-end}
.azw-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 12px 8px;background:#faf6f0}
.azw-chips:empty{display:none}
.azw-chip{border:1px solid #d9c7ad;background:#fff;color:#6b4423;border-radius:14px;padding:5px 10px;font-size:12px;cursor:pointer}
.azw-form{display:flex;gap:8px;padding:10px;border-top:1px solid #eadfce;background:#fff}
.azw-in{flex:1;min-width:0;border:1px solid #d9c7ad;border-radius:20px;padding:9px 14px;font-size:14px;outline:none;color:#2b2118;background:#fff}
.azw-send{border:0;background:#8B5A2B;color:#fff;border-radius:20px;padding:0 16px;cursor:pointer;font-size:14px}
.azw-send:disabled{opacity:.5;cursor:default}
@media(max-width:480px){.azw-win{right:8px;bottom:8px;width:calc(100vw - 16px);height:calc(100vh - 16px);max-height:none;border-radius:12px}}

.ai-assistant-float.azw-own{position:fixed;right:20px;bottom:96px;z-index:99990;margin:0}
.azw-tg{margin-left:auto;margin-right:8px;color:#fff;text-decoration:none;font-size:13px;background:rgba(255,255,255,.18);padding:4px 10px;border-radius:12px}
@media(max-width:480px){.ai-assistant-float.azw-own{right:12px;bottom:84px}}
