/* Amira, the website guide (js/amira.js builds the markup).
   Self-contained: it brings its own colours and scopes every rule under
   #amira, so it looks the same on every page and page rules can't reach in.
   Made-by-hand touches: Caveat for her name, a stitched seam under the
   header, dotted notebook paper, a highlighter on examples.             */
#amira{--am-dusk:#2F3A5E;--am-dusk2:#252E4D;--am-cream:#FAF7F0;--am-ink:#1A1F2E;--am-body:#3A4157;--am-muted:#5F667B;
  --am-teal-d:#087A6A;--am-mari:#FFA41F;--am-gold-ink:#8A4F00;--am-mag:#DB2B7E;--am-mag-d:#B5164F;--am-rule:rgba(26,31,46,.10);
  --am-act:linear-gradient(135deg,#DB2B7E 0%,#B5164F 100%);--am-act-hover:linear-gradient(135deg,#C81F6E 0%,#9C1043 100%);
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;-webkit-font-smoothing:antialiased;}
#amira *,#amira *::before,#amira *::after{box-sizing:border-box;}
#amira [hidden]{display:none!important;}
#amira button{font-family:inherit;}

/* ── the button ── */
#amira .am-fab{position:fixed;right:24px;bottom:24px;z-index:9200;width:62px;height:62px;padding:0;border-radius:50%;border:0;cursor:pointer;
  background:linear-gradient(140deg,#14C2AB 0%,#087A6A 100%);box-shadow:0 10px 28px rgba(8,122,106,.36),0 0 0 4px rgba(255,255,255,.92);
  display:grid;place-items:center;transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .2s;}
#amira .am-fab:hover{transform:translateY(-2px) scale(1.05);}
#amira .am-fab:focus-visible{outline:3px solid var(--am-mari);outline-offset:5px;}
#amira .am-fab::after{content:'';position:absolute;inset:0;border-radius:50%;pointer-events:none;animation:amRing 3.2s ease-out 2.5s 3;}
@keyframes amRing{0%{box-shadow:0 0 0 0 rgba(13,191,168,.5);}70%,100%{box-shadow:0 0 0 20px rgba(13,191,168,0);}}
#amira .am-fab-i,#amira .am-fab-x{grid-area:1/1;display:grid;place-items:center;transition:opacity .2s,transform .3s cubic-bezier(.34,1.56,.64,1);}
#amira .am-fab-i svg{width:33px;height:33px;}
#amira .am-fab-x{opacity:0;transform:rotate(-90deg) scale(.6);color:#fff;}
#amira .am-fab-x svg{width:24px;height:24px;}
#amira.am-open .am-fab-i{opacity:0;transform:scale(.5);}
#amira.am-open .am-fab-x{opacity:1;transform:none;}
#amira .am-badge{position:absolute;top:-3px;right:-3px;min-width:21px;height:21px;padding:0 5px;border-radius:11px;background:var(--am-mag-d);color:#fff;
  font-size:.7rem;font-weight:800;display:grid;place-items:center;box-shadow:0 0 0 2px #fff;}

/* ── the hello bubble ── */
#amira .am-peek{position:fixed;right:24px;bottom:102px;z-index:9150;width:262px;padding:14px 38px 15px 16px;background:#fff;color:var(--am-body);
  border-radius:18px 18px 5px 18px;box-shadow:0 16px 38px rgba(26,31,46,.18),0 0 0 1px var(--am-rule);font-size:.88rem;line-height:1.45;cursor:pointer;
  opacity:0;transform:translateY(10px) scale(.96);transform-origin:bottom right;transition:opacity .3s,transform .4s cubic-bezier(.34,1.56,.64,1);}
#amira .am-peek:not(.am-show){pointer-events:none;}
#amira .am-peek.am-show{opacity:1;transform:none;}
#amira .am-peek-hi{display:block;font-family:'Caveat',cursive;font-size:1.55rem;font-weight:700;line-height:1;color:var(--am-mag-d);margin-bottom:4px;}
#amira .am-peek-x{position:absolute;top:6px;right:6px;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:none;color:var(--am-muted);cursor:pointer;display:grid;place-items:center;}
#amira .am-peek-x svg{width:14px;height:14px;}
#amira .am-peek-x:hover{background:rgba(26,31,46,.06);}

/* ── the panel ── */
#amira .am-panel{position:fixed;right:24px;bottom:102px;z-index:9300;width:392px;height:min(640px,calc(100vh - 180px));min-height:360px;display:flex;flex-direction:column;
  background:var(--am-cream);border-radius:24px;overflow:hidden;box-shadow:0 32px 72px rgba(26,31,46,.28),0 0 0 1px rgba(26,31,46,.08);
  opacity:0;transform:translateY(16px) scale(.97);transform-origin:bottom right;transition:opacity .22s ease,transform .32s cubic-bezier(.22,1,.36,1);}
#amira.am-open .am-panel{opacity:1;transform:none;}
#amira .am-head{position:relative;display:flex;align-items:center;gap:12px;padding:15px 12px 17px 16px;flex-shrink:0;color:#fff;
  background:radial-gradient(120% 140% at 0% 0%,rgba(255,164,31,.22) 0%,transparent 55%),linear-gradient(135deg,var(--am-dusk) 0%,var(--am-dusk2) 100%);}
#amira .am-head::after{content:'';position:absolute;left:16px;right:16px;bottom:6px;border-bottom:2px dashed rgba(255,203,107,.5);}
#amira .am-av{width:46px;height:46px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;font-size:1.4rem;background:#FFF6E3;
  box-shadow:0 0 0 3px var(--am-mari),0 0 0 7px rgba(255,164,31,.2);}
#amira .am-id{flex:1;min-width:0;}
#amira .am-name{font-family:'Caveat',cursive;font-size:1.9rem;font-weight:700;line-height:.9;color:#fff;}
#amira .am-sub{display:flex;align-items:center;gap:7px;margin-top:4px;font-size:.75rem;color:rgba(255,255,255,.8);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#amira .am-dot{flex-shrink:0;width:7px;height:7px;border-radius:50%;background:#3EE08F;box-shadow:0 0 0 3px rgba(62,224,143,.22);}
#amira .am-hbtn{width:40px;height:40px;flex-shrink:0;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.09);color:#fff;cursor:pointer;display:grid;place-items:center;transition:background .2s;}
#amira .am-hbtn:hover{background:rgba(255,255,255,.18);}
#amira .am-hbtn svg{width:18px;height:18px;}
#amira .am-hbtn:focus-visible{outline:2px solid var(--am-mari);outline-offset:2px;}

/* ── the conversation, on dotted notebook paper ── */
#amira .am-log{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:18px 14px 10px;display:flex;flex-direction:column;gap:12px;
  background:radial-gradient(rgba(26,31,46,.07) 1px,transparent 1.3px) 0 0/18px 18px,var(--am-cream);}
#amira .am-log::-webkit-scrollbar{width:5px;}
#amira .am-log::-webkit-scrollbar-thumb{background:rgba(26,31,46,.16);border-radius:4px;}
#amira .am-msg{display:flex;gap:8px;align-items:flex-end;animation:amIn .32s cubic-bezier(.22,1,.36,1);}
@keyframes amIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
#amira .am-user{justify-content:flex-end;}
#amira .am-av-s{width:28px;height:28px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;font-size:.85rem;background:#FFF6E3;box-shadow:0 0 0 2px var(--am-mari);}
#amira .am-bubble{position:relative;max-width:84%;margin:0;padding:11px 14px;border-radius:18px;font-size:.9rem;line-height:1.55;overflow-wrap:anywhere;}
#amira .am-bot .am-bubble{background:#fff;color:var(--am-body);border-bottom-left-radius:5px;padding-right:38px;box-shadow:0 2px 10px rgba(26,31,46,.06),0 0 0 1px var(--am-rule);}
#amira .am-user .am-bubble{background:linear-gradient(135deg,#0A8676 0%,#076B5D 100%);color:#fff;border-bottom-right-radius:5px;box-shadow:0 4px 12px rgba(7,107,93,.22);}
#amira .am-bubble strong{font-weight:700;color:var(--am-ink);}
#amira .am-user .am-bubble strong{color:#fff;}
#amira .am-bubble a:not(.am-act){color:var(--am-mag-d);font-weight:600;text-decoration:underline;text-underline-offset:2px;}
#amira .am-bubble ul{margin:6px 0 8px;padding:0 0 0 18px;list-style:disc;}
#amira .am-bubble li{margin:4px 0;padding:0;}
#amira .am-bubble li::marker{color:var(--am-mari);}
#amira .am-bubble em{font-style:normal;color:var(--am-ink);background:linear-gradient(transparent 58%,rgba(255,203,107,.6) 58%);}
#amira .am-try{display:block;margin-top:10px;padding-top:10px;border-top:1.5px dashed rgba(26,31,46,.13);font-size:.82rem;color:var(--am-muted);}
#amira .am-price{color:var(--am-gold-ink);font-weight:600;}
#amira .am-say{position:absolute;top:6px;right:6px;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:transparent;color:#8E94A6;cursor:pointer;display:grid;place-items:center;}
#amira .am-say svg{width:16px;height:16px;}
#amira .am-say:hover{color:var(--am-dusk);background:rgba(26,31,46,.05);}
#amira .am-say.am-on{color:var(--am-mag-d);background:rgba(219,43,126,.1);}
/* buttons inside an answer */
#amira .am-acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}
#amira .am-act{display:inline-flex;align-items:center;gap:6px;min-height:38px;margin:0;padding:8px 14px;border-radius:999px;border:1.5px solid rgba(47,58,94,.22);
  background:#fff;color:var(--am-dusk);font-size:.8rem;font-weight:700;line-height:1.2;text-decoration:none;cursor:pointer;transition:transform .15s,border-color .2s,background .2s;}
#amira .am-act:hover{border-color:var(--am-dusk);transform:translateY(-1px);}
#amira .am-act svg{width:14px;height:14px;flex-shrink:0;}
#amira .am-act--main{background:var(--am-act);border-color:transparent;color:#fff;box-shadow:0 6px 14px rgba(181,22,79,.24);}
#amira .am-act--main:hover{background:var(--am-act-hover);border-color:transparent;}
#amira .am-act:focus-visible,#amira .am-chip:focus-visible,#amira .am-say:focus-visible,#amira .am-send:focus-visible,#amira .am-mic:focus-visible{outline:3px solid var(--am-mari);outline-offset:2px;}
/* typing */
#amira .am-typing .am-bubble{display:flex;gap:5px;padding:15px 16px;}
#amira .am-typing i{width:7px;height:7px;border-radius:50%;background:#B2B8C8;animation:amDot 1.1s infinite ease-in-out;}
#amira .am-typing i:nth-child(2){animation-delay:.15s;}
#amira .am-typing i:nth-child(3){animation-delay:.3s;}
@keyframes amDot{0%,80%,100%{transform:translateY(0);opacity:.5;}40%{transform:translateY(-5px);opacity:1;}}

/* ── suggestion chips ── */
#amira .am-chips{display:flex;flex-wrap:wrap;gap:7px;padding:2px 14px 12px;flex-shrink:0;background:var(--am-cream);}
#amira .am-chips:empty{display:none;}
#amira .am-chip{flex-shrink:0;margin:0;padding:8px 14px;border-radius:999px;border:1.5px solid rgba(163,95,0,.34);background:#fff;color:var(--am-gold-ink);
  font-size:.8rem;font-weight:600;line-height:1.2;cursor:pointer;transition:background .2s,border-color .2s,transform .15s,color .2s;}
#amira .am-chip:hover{background:linear-gradient(135deg,#FFCB6B 0%,#FFA41F 100%);border-color:transparent;color:var(--am-ink);transform:translateY(-1px);}

/* ── message the team ── */
#amira .am-handoff{display:flex;flex-direction:column;gap:8px;margin:0;padding:14px;flex-shrink:0;background:#fff;border-top:1px solid var(--am-rule);}
#amira .am-hf-title{font-family:'Caveat',cursive;font-size:1.5rem;font-weight:700;line-height:1;color:var(--am-dusk);}
#amira .am-in{width:100%;margin:0;padding:10px 12px;border:1.5px solid rgba(26,31,46,.16);border-radius:12px;background:#FFFDF8;color:var(--am-ink);
  font-family:inherit;font-size:16px;line-height:1.4;outline:none;resize:vertical;transition:border-color .2s,box-shadow .2s;}
#amira .am-in:focus{border-color:var(--am-teal-d);box-shadow:0 0 0 3px rgba(13,191,168,.18);background:#fff;}
#amira .am-in.am-bad{border-color:var(--am-mag-d);box-shadow:0 0 0 3px rgba(219,43,126,.15);}
#amira .am-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden;}
#amira .am-hf-row{display:flex;gap:8px;justify-content:flex-end;align-items:center;}
#amira .am-hf-cancel{padding:10px 12px;border:0;background:none;color:var(--am-muted);font-size:.86rem;cursor:pointer;}
#amira .am-hf-send{padding:11px 20px;border:0;border-radius:999px;background:var(--am-act);color:#fff;font-size:.88rem;font-weight:700;cursor:pointer;box-shadow:0 6px 14px rgba(181,22,79,.24);}
#amira .am-hf-send:hover{background:var(--am-act-hover);}
#amira .am-hf-send:disabled{opacity:.6;cursor:default;}

/* ── the input bar ── */
#amira .am-bar{display:flex;align-items:center;gap:8px;margin:0;padding:10px 12px 8px;flex-shrink:0;background:#fff;border-top:1px solid var(--am-rule);}
#amira .am-input{flex:1;min-width:0;height:46px;margin:0;padding:0 16px;border-radius:999px;border:1.5px solid rgba(26,31,46,.14);background:var(--am-cream);
  color:var(--am-ink);font-family:inherit;font-size:16px;outline:none;transition:border-color .2s,box-shadow .2s,background .2s;}
#amira .am-input::placeholder{color:#7F8598;}
#amira .am-input:focus{border-color:var(--am-teal-d);box-shadow:0 0 0 3px rgba(13,191,168,.16);background:#fff;}
#amira .am-send,#amira .am-mic{width:46px;height:46px;flex-shrink:0;padding:0;border:0;border-radius:50%;cursor:pointer;display:grid;place-items:center;transition:transform .15s,background .2s;}
#amira .am-send{background:var(--am-act);color:#fff;box-shadow:0 6px 14px rgba(181,22,79,.24);}
#amira .am-send:hover{transform:scale(1.06);}
#amira .am-send:disabled{opacity:.55;transform:none;cursor:default;}
#amira .am-send svg{width:19px;height:19px;margin-left:-2px;}
#amira .am-mic{background:rgba(26,31,46,.06);color:var(--am-dusk);}
#amira .am-mic:hover{background:rgba(26,31,46,.1);}
#amira .am-mic svg{width:20px;height:20px;}
#amira .am-mic.am-on{background:var(--am-mag-d);color:#fff;animation:amPulse 1.2s infinite;}
@keyframes amPulse{0%{box-shadow:0 0 0 0 rgba(219,43,126,.45);}100%{box-shadow:0 0 0 12px rgba(219,43,126,0);}}
#amira .am-foot{padding:0 14px 10px;flex-shrink:0;background:#fff;color:var(--am-muted);font-size:.72rem;line-height:1.4;text-align:center;}
#amira .am-foot a{color:var(--am-dusk);font-weight:700;text-decoration:none;white-space:nowrap;}

/* ── phones: a full-height sheet ── */
@media (max-width:560px){
  #amira .am-fab{right:16px;bottom:16px;width:58px;height:58px;}
  #amira.am-open .am-fab{opacity:0;pointer-events:none;transform:scale(.6);}
  #amira .am-panel{left:0;right:0;bottom:0;width:100%;height:calc(100vh - 10px);height:calc(100dvh - 10px);border-radius:22px 22px 0 0;transform:translateY(28px);}
  #amira .am-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
  #amira .am-chips::-webkit-scrollbar{display:none;}
  #amira .am-bubble{max-width:88%;}
}
html.am-lock,html.am-lock body{overflow:hidden!important;}
@media (prefers-reduced-motion:reduce){#amira *,#amira *::after{animation:none!important;transition:none!important;}}
@media print{#amira{display:none!important;}}
