/* Ayani assistant */
.ay-launch { position: fixed; right: 22px; bottom: 22px; z-index: 90; display: flex; align-items: center; gap: .7rem; padding: 7px 20px 7px 7px; border: 0; border-radius: 999px; cursor: pointer; font-family: var(--font); color: var(--ink); background: #fff; isolation: isolate;
  box-shadow: 0 10px 30px rgba(30,107,42,.22), 0 2px 8px rgba(0,0,0,.08); transition: transform .35s var(--ease), box-shadow .35s var(--ease); animation: ay-rise .8s var(--ease) .6s both, ay-halo 3s ease-in-out 1.4s infinite; }
.ay-launch::before { content: ""; position: absolute; inset: -3px; border-radius: inherit; z-index: -2; background: conic-gradient(from var(--ay-a, 0deg), #3FB34F, #A6E3A1, #E5484D, #3FB34F, #1E6B2A, #3FB34F); animation: ay-spin 4s linear infinite; }
.ay-launch::after { content: ""; position: absolute; inset: 0; border-radius: inherit; z-index: -1; background: #fff; }
.ay-launch:hover { transform: translateY(-3px); box-shadow: 0 16px 40px rgba(30,107,42,.32), 0 0 0 6px rgba(63,179,79,.10); }
.ay-orb { position: relative; width: 52px; height: 52px; border-radius: 50%; flex: none; }
.ay-orb img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; position: relative; z-index: 1; display: block; border: 2px solid #fff; box-shadow: 0 0 0 2px #3FB34F, 0 0 14px 4px rgba(63,179,79,.65), 0 0 30px 8px rgba(229,72,77,.25); animation: ay-avglow 2.8s ease-in-out infinite; }
.ay-orb .ay-live { position: absolute; right: 1px; bottom: 1px; z-index: 2; width: 12px; height: 12px; border-radius: 50%; background: #3FB34F; border: 2px solid #fff; }
@keyframes ay-avglow { 0%, 100% { box-shadow: 0 0 0 2px #3FB34F, 0 0 12px 3px rgba(63,179,79,.55), 0 0 24px 6px rgba(229,72,77,.18); } 50% { box-shadow: 0 0 0 2px #3FB34F, 0 0 22px 7px rgba(63,179,79,.8), 0 0 40px 12px rgba(229,72,77,.3); } }
.ay-orb::before, .ay-orb::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: rgba(63,179,79,.55); animation: ay-pulse 2.6s ease-out infinite; }
.ay-orb::after { animation-delay: 1.3s; }
.ay-launch-text { display: grid; text-align: left; line-height: 1.15; }
.ay-launch-text strong { font-size: .98rem; letter-spacing: -.01em; }
.ay-launch-text small { font-size: .72rem; color: var(--muted); }
.ay-launch.active { transform: scale(.94); }
@property --ay-a { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
@keyframes ay-spin { to { --ay-a: 360deg; } }
@keyframes ay-pulse { 0% { transform: scale(1); opacity: .7; } 100% { transform: scale(1.9); opacity: 0; } }
@keyframes ay-halo { 0%, 100% { box-shadow: 0 10px 30px rgba(30,107,42,.22), 0 0 18px 2px rgba(63,179,79,.35); } 50% { box-shadow: 0 10px 30px rgba(30,107,42,.22), 0 0 34px 8px rgba(63,179,79,.55); } }
@keyframes ay-rise { from { opacity: 0; transform: translateY(20px) scale(.9); } to { opacity: 1; transform: none; } }

.ay-panel { position: fixed; right: 22px; bottom: 98px; z-index: 91; width: min(400px, calc(100vw - 24px)); height: min(640px, calc(100vh - 130px)); display: flex; flex-direction: column; background: #fff; border-radius: 26px; overflow: hidden; font-family: var(--font);
  box-shadow: 0 30px 80px rgba(17,19,18,.20), 0 0 0 1px rgba(17,19,18,.06), 0 0 60px rgba(63,179,79,.18);
  opacity: 0; visibility: hidden; transform: translateY(16px) scale(.97); transform-origin: bottom right; transition: opacity .3s var(--ease), transform .3s var(--ease), visibility .3s; }
.ay-panel.open { opacity: 1; visibility: visible; transform: none; }
.ay-head { display: flex; align-items: center; gap: .75rem; padding: 16px 16px 14px 18px; border-bottom: 1px solid var(--line); background: linear-gradient(180deg, #F3FAF3, #fff); }
.ay-head-av img { width: 42px; height: 42px; border-radius: 50%; object-fit: cover; display: block; border: 2px solid #fff; box-shadow: 0 0 0 2px #3FB34F, 0 0 14px 3px rgba(63,179,79,.5); }
.ay-head div { flex: 1; line-height: 1.2; }
.ay-head strong { font-size: 1.05rem; color: var(--ink); }
.ay-head small { display: flex; align-items: center; gap: 6px; font-size: .74rem; color: var(--muted); }
.ay-head small i { width: 7px; height: 7px; border-radius: 50%; background: #3FB34F; box-shadow: 0 0 0 3px rgba(63,179,79,.2); }
.ay-x { width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--line); background: #fff; display: grid; place-items: center; cursor: pointer; color: var(--ink); }
.ay-x svg { width: 16px; height: 16px; }
.ay-log { flex: 1; overflow-y: auto; padding: 18px 16px 8px; display: flex; flex-direction: column; gap: 12px; scroll-behavior: smooth; }
.ay-row { display: flex; gap: 8px; align-items: flex-end; max-width: 100%; }
.ay-av img { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; display: block; box-shadow: 0 0 0 1.5px #3FB34F, 0 0 8px rgba(63,179,79,.45); }
.ay-av { flex: none; }
.ay-bubble { padding: 10px 14px; border-radius: 18px; font-size: .9rem; line-height: 1.5; max-width: 82%; overflow-wrap: anywhere; }
.ay-bubble p { margin: 0; } .ay-bubble p + p, .ay-bubble ul { margin-top: 6px; }
.ay-bubble ul { padding-left: 1.1em; margin-bottom: 0; } .ay-bubble li + li { margin-top: 3px; }
.ay-bot .ay-bubble { background: #F2F4F3; color: var(--text); border-bottom-left-radius: 6px; }
.ay-user { justify-content: flex-end; }
.ay-user .ay-bubble { background: var(--green); color: #fff; border-bottom-right-radius: 6px; }
.ay-typing .ay-bubble { display: flex; gap: 4px; padding: 14px; }
.ay-typing .ay-bubble span { width: 7px; height: 7px; border-radius: 50%; background: #9AA39D; animation: ay-dot 1.2s infinite; }
.ay-typing .ay-bubble span:nth-child(2) { animation-delay: .15s; } .ay-typing .ay-bubble span:nth-child(3) { animation-delay: .3s; }
@keyframes ay-dot { 0%, 60%, 100% { transform: none; opacity: .5; } 30% { transform: translateY(-4px); opacity: 1; } }
.ay-chips { display: flex; flex-wrap: wrap; gap: 6px; padding-left: 36px; }
.ay-chip { font: 700 .78rem var(--font); color: var(--green); background: #fff; border: 1px solid rgba(30,107,42,.3); border-radius: 999px; padding: .55em .95em; cursor: pointer; transition: background .2s, color .2s; }
.ay-chip:hover { background: var(--green); color: #fff; }
.ay-card { margin-left: 36px; border: 1px solid var(--line); border-radius: 18px; padding: 14px; font-size: .85rem; display: grid; gap: 8px; background: #fff; box-shadow: 0 6px 20px rgba(0,0,0,.04); }
.ay-card strong { color: var(--ink); font-size: .9rem; }
.ay-card p { margin: 0; color: var(--muted); }
.ay-emergency { border-color: #F3C2C0; background: #FFF6F5; }
.ay-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 999px; padding: .8em 1.2em; font: 700 .85rem var(--font); cursor: pointer; text-decoration: none; }
.ay-btn svg { width: 18px; height: 18px; }
.ay-btn--wa { background: var(--green); color: #fff; box-shadow: 0 0 0 0 rgba(63,179,79,.5); animation: ay-glow 2.4s infinite; }
.ay-btn--wa:hover { background: var(--green-hover); }
.ay-btn--red { background: #D9413A; color: #fff; }
@keyframes ay-glow { 0% { box-shadow: 0 0 0 0 rgba(63,179,79,.45); } 70% { box-shadow: 0 0 0 10px rgba(63,179,79,0); } 100% { box-shadow: 0 0 0 0 rgba(63,179,79,0); } }
.ay-form label { display: grid; gap: 4px; font-weight: 700; font-size: .78rem; color: var(--ink); }
.ay-form input, .ay-form textarea { font: inherit; font-weight: 400; font-size: .85rem; border: 1px solid #D5D8D6; border-radius: 10px; padding: .6em .75em; color: var(--text); background: #fff; resize: vertical; }
.ay-form input:focus, .ay-form textarea:focus { outline: none; border-color: #3FB34F; box-shadow: 0 0 0 3px rgba(63,179,79,.15); }
.ay-input { display: flex; align-items: flex-end; gap: 8px; margin: 8px 12px 6px; padding: 6px 6px 6px 14px; border: 1px solid #D5D8D6; border-radius: 22px; transition: border-color .2s, box-shadow .2s; }
.ay-input:focus-within { border-color: #3FB34F; box-shadow: 0 0 0 4px rgba(63,179,79,.12); }
.ay-input textarea { flex: 1; border: 0; outline: 0; resize: none; font: .9rem/1.4 var(--font); padding: 8px 0; max-height: 120px; color: var(--text); background: transparent; }
.ay-input button { width: 38px; height: 38px; border-radius: 50%; border: 0; background: var(--green); color: #fff; display: grid; place-items: center; cursor: pointer; flex: none; }
.ay-input button:disabled { opacity: .5; }
.ay-input button svg { width: 18px; height: 18px; }
.ay-foot { margin: 0 0 10px; text-align: center; font-size: .68rem; color: var(--faint); }
@media (max-width: 560px) {
  .ay-launch { right: 14px; bottom: 14px; padding-right: 7px; }
  .ay-launch-text { display: none; }
  .ay-panel { right: 0; left: 0; bottom: 0; width: 100%; height: 100dvh; border-radius: 0; }
  .ay-panel.open + .ay-launch { opacity: 0; pointer-events: none; }
}
@media (prefers-reduced-motion: reduce) { .ay-orb img, .ay-launch, .ay-launch::before, .ay-orb::before, .ay-orb::after, .ay-btn--wa { animation: none; } }

.ay-links { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.ay-link { display: inline-flex; align-items: center; gap: 4px; font: 700 .76rem var(--font); color: var(--green); background: #fff; border: 1px solid rgba(30,107,42,.25); border-radius: 999px; padding: .45em .8em; text-decoration: none; }
.ay-link:hover { background: var(--green); color: #fff; }
.ay-link svg { width: 12px; height: 12px; }
.ay-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.ay-err { color: #B4302A !important; font-size: .8rem; }
.ay-err:empty { display: none; }
.ay-err a { color: inherit; }
