/* ==========================================================
   EVA — SAKURA TRADING オンライン受付コンシェルジュ
   ・普段はチャット欄を出さない。画面の端で、ただ動いている。
   ・外部素材ゼロ（SVG と CSS のみ）
   ========================================================== */
#eva{position:fixed;right:22px;bottom:22px;z-index:900;
  display:flex;align-items:flex-end;gap:12px;flex-direction:row-reverse;
  font-family:"Hiragino Sans",system-ui,sans-serif;
  transition:right .7s cubic-bezier(.2,.8,.2,1),bottom .7s cubic-bezier(.2,.8,.2,1),
             transform .5s cubic-bezier(.2,.8,.2,1)}
#eva.rest{right:-6px;bottom:26vh;transform:scale(.62)}

/* ── 本体 ── */
.eva-body{position:relative;cursor:pointer;flex:0 0 auto;
  filter:drop-shadow(0 10px 14px rgba(0,0,0,.28))}
.eva-body svg{display:block;overflow:visible;width:92px;height:92px}
#eva.rest .eva-body svg{width:88px;height:88px}
.eva-shadow{position:absolute;left:50%;bottom:-4px;translate:-50% 0;
  width:52px;height:9px;border-radius:50%;
  background:radial-gradient(ellipse,rgba(0,0,0,.34),transparent 72%);
  animation:evaShd 3.4s ease-in-out infinite}
@keyframes evaShd{0%,100%{transform:scale(1);opacity:.9}50%{transform:scale(.8);opacity:.55}}

/* まばたき */
.eva-eye{transform-box:fill-box;transform-origin:center;animation:evaBlink 4.6s infinite}
.eva-eye.b{animation-delay:.13s}
@keyframes evaBlink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.08)}}

/* 待機：ふわり浮いて、こてんと首をかしげる */
.eva-float{animation:evaFloat 3.4s ease-in-out infinite}
@keyframes evaFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.eva-tilt{transform-box:fill-box;transform-origin:50% 88%;
  animation:evaTilt 3.4s ease-in-out infinite}
@keyframes evaTilt{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}
.eva-pet{transform-box:fill-box;transform-origin:50% 100%;
  animation:evaPet 2.6s ease-in-out infinite}
@keyframes evaPet{0%,100%{transform:rotate(0)}50%{transform:rotate(5deg) scale(1.04)}}

/* 待機モード：小さくピクピク */
#eva.rest .eva-float{animation:evaTwitch 2.4s ease-in-out infinite}
@keyframes evaTwitch{
  0%,58%,100%{transform:translate(0,0) rotate(0)}
  64%{transform:translate(-3px,-2px) rotate(-5deg)}
  70%{transform:translate(2px,-1px) rotate(4deg)}
  76%{transform:translate(-2px,0) rotate(-3deg)}
  82%{transform:translate(0,0) rotate(0)}}

/* ご案内中：トコトコ歩く */
#eva.walking .eva-float{animation:evaWalk .42s ease-in-out infinite}
@keyframes evaWalk{
  0%,100%{transform:translateY(0) rotate(-5deg)}
  25%{transform:translateY(-7px) rotate(0deg)}
  50%{transform:translateY(0) rotate(5deg)}
  75%{transform:translateY(-7px) rotate(0deg)}}
#eva.walking .eva-tilt{animation:none}

/* 話しかけられた時のぴょこん */
.eva-body.pop{animation:evaPop .5s cubic-bezier(.2,.9,.2,1)}
@keyframes evaPop{0%{transform:scale(1)}35%{transform:scale(1.14) translateY(-6px)}
  70%{transform:scale(.96)}100%{transform:scale(1)}}

/* ── 吹き出し ── */
.eva-bubble{position:relative;max-width:min(78vw,320px);
  background:linear-gradient(180deg,#ffffff,#f4fbf7);color:#123024;
  border:1px solid rgba(31,143,92,.28);border-radius:16px;
  padding:14px 16px;box-shadow:0 18px 44px -16px rgba(0,0,0,.5);
  opacity:0;transform:translateY(10px) scale(.94);transform-origin:100% 100%;
  transition:opacity .28s,transform .28s cubic-bezier(.2,.8,.2,1);
  pointer-events:none}
.eva-bubble.on{opacity:1;transform:none;pointer-events:auto}
.eva-bubble::after{content:"";position:absolute;right:-8px;bottom:22px;
  width:16px;height:16px;background:#f7fcf9;transform:rotate(45deg);
  border-right:1px solid rgba(31,143,92,.28);border-top:1px solid rgba(31,143,92,.28)}
.eva-name{font-size:10.5px;letter-spacing:.18em;color:#2f9e66;font-weight:800;margin-bottom:5px}
.eva-lang{float:right;margin-top:-3px;padding:2px 6px;border-radius:6px;
  border:1px solid rgba(31,143,92,.35);background:#eefaf3;color:#17603f;
  font:700 10.5px/1.4 "Hiragino Sans",system-ui,sans-serif;cursor:pointer;outline:none}
.eva-lang:focus{border-color:#2f9e66;box-shadow:0 0 0 3px rgba(47,158,102,.15)}
.eva-say{font-size:13.5px;line-height:1.85;white-space:pre-wrap}
.eva-say b{color:#1f8f5c}

.eva-btns{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.eva-btns button{flex:1 1 auto;min-width:104px;padding:10px 12px;border-radius:10px;cursor:pointer;
  font:700 12.5px/1 "Hiragino Sans",system-ui,sans-serif;letter-spacing:.06em;
  border:1px solid rgba(31,143,92,.4);background:#eefaf3;color:#17603f;transition:.16s}
.eva-btns button:hover{background:#dcf3e7;border-color:#2f9e66}
.eva-btns button.yes{background:linear-gradient(180deg,#3fbe7e,#1f8f5c);
  border-color:#2f9e66;color:#fff}
.eva-btns button.yes:hover{filter:brightness(1.08)}

/* 案内リンク */
.eva-links{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.eva-links a{display:flex;align-items:center;gap:8px;padding:9px 11px;border-radius:9px;
  background:#eefaf3;border:1px solid rgba(31,143,92,.26);
  color:#17603f;text-decoration:none;font-size:12.5px;font-weight:700;transition:.16s}
.eva-links a:hover{background:#dcf3e7;transform:translateX(2px)}
.eva-links a::before{content:"→";color:#2f9e66;font-weight:800}

/* 連絡先カード */
.eva-card{margin-top:11px;border-radius:12px;overflow:hidden;
  border:1px solid rgba(31,143,92,.3);background:#f2fbf6}
.eva-card .hd{background:linear-gradient(180deg,#2f9e66,#1f8f5c);color:#fff;
  padding:8px 12px;font-size:11px;letter-spacing:.14em;font-weight:800}
.eva-card a{display:flex;align-items:center;gap:9px;padding:11px 12px;
  color:#123024;text-decoration:none;font-size:13.5px;font-weight:800;
  border-bottom:1px solid rgba(31,143,92,.16)}
.eva-card a:last-child{border-bottom:0}
.eva-card a:hover{background:#e6f6ee}
.eva-card .ic{width:22px;text-align:center;font-size:14px}
.eva-card small{display:block;font-weight:400;font-size:10.5px;color:#4d7a63;letter-spacing:.04em}

/* 入力欄 */
.eva-input{display:none;margin-top:11px;gap:7px}
.eva-input.on{display:flex}
.eva-input input{flex:1;min-width:0;padding:10px 12px;border-radius:10px;
  border:1px solid rgba(31,143,92,.35);background:#fff;color:#123024;
  font:13px/1.5 "Hiragino Sans",system-ui,sans-serif;outline:none}
.eva-input input:focus{border-color:#2f9e66;box-shadow:0 0 0 3px rgba(47,158,102,.15)}
.eva-input button{padding:10px 14px;border-radius:10px;border:0;cursor:pointer;
  background:linear-gradient(180deg,#3fbe7e,#1f8f5c);color:#fff;
  font:700 12.5px/1 "Hiragino Sans",system-ui,sans-serif}
.eva-close{position:absolute;top:8px;right:10px;border:0;background:transparent;
  color:#8fae9e;font-size:15px;cursor:pointer;line-height:1;padding:2px 4px}
.eva-close:hover{color:#17603f}

@media(max-width:600px){
  #eva{right:14px;bottom:14px}
  .eva-body svg{width:76px;height:76px}
  .eva-bubble{max-width:74vw}
}
@media(prefers-reduced-motion:reduce){
  #eva *{animation:none!important}
  #eva{transition:none}
}
