/* =============================================================
   ReNew Everything — FAQ concierge widget styles
   ============================================================= */
.chatw{position:fixed;right:1.4rem;bottom:1.4rem;z-index:200;font-family:'Jost',system-ui,sans-serif}
body.lang-ja .chatw{font-family:'Noto Sans JP','Jost',sans-serif}

/* launcher */
.chatw__launch{
  width:60px;height:60px;border-radius:50%;border:none;cursor:pointer;
  background:linear-gradient(160deg,#2f5d62,#1f3d40);color:#fff;
  box-shadow:0 14px 34px -10px rgba(31,61,64,.6);
  display:grid;place-items:center;transition:transform .3s,box-shadow .3s;
}
.chatw__launch:hover{transform:translateY(-3px) scale(1.04)}
.chatw__launch svg{width:26px;height:26px;grid-area:1/1;transition:opacity .25s,transform .25s}
.chatw__i-close{opacity:0;transform:rotate(-45deg) scale(.6)}
.chatw.open .chatw__i-open{opacity:0;transform:rotate(45deg) scale(.6)}
.chatw.open .chatw__i-close{opacity:1;transform:none}
/* attention pulse */
.chatw__launch::after{
  content:"";position:absolute;inset:0;border-radius:50%;
  box-shadow:0 0 0 0 rgba(176,138,79,.55);animation:chatwPulse 2.6s infinite;
}
.chatw.open .chatw__launch::after{animation:none}
@keyframes chatwPulse{0%{box-shadow:0 0 0 0 rgba(176,138,79,.5)}70%{box-shadow:0 0 0 16px rgba(176,138,79,0)}100%{box-shadow:0 0 0 0 rgba(176,138,79,0)}}

/* panel */
.chatw__panel{
  position:absolute;right:0;bottom:74px;width:370px;max-width:calc(100vw - 2.8rem);
  height:min(560px,70vh);background:var(--paper,#fffdf9);border-radius:16px;overflow:hidden;
  display:flex;flex-direction:column;box-shadow:0 30px 70px -24px rgba(20,35,37,.55);
  border:1px solid var(--line,#d9d0c2);
  opacity:0;transform:translateY(16px) scale(.98);pointer-events:none;
  transition:opacity .3s,transform .3s;transform-origin:bottom right;
}
.chatw.open .chatw__panel{opacity:1;transform:none;pointer-events:auto}

.chatw__head{display:flex;align-items:center;gap:.8rem;padding:1rem 1.1rem;
  background:linear-gradient(160deg,#23474a,#16211f);color:#fff}
.chatw__avatar{width:40px;height:40px;border-radius:50%;flex:none;display:grid;place-items:center;
  background:#e9c98f;color:#16211f;font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.4rem}
.chatw__head-txt{flex:1;min-width:0}
.chatw__title{font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:600;line-height:1.1}
body.lang-ja .chatw__title{font-family:'Cormorant Garamond','Noto Sans JP',serif}
.chatw__sub{font-size:.72rem;letter-spacing:.03em;opacity:.75;display:flex;align-items:center;gap:.4rem}
.chatw__sub::before{content:"";width:7px;height:7px;border-radius:50%;background:#7fd18a;box-shadow:0 0 0 3px rgba(127,209,138,.25)}
.chatw__x{background:none;border:none;color:#fff;font-size:1.6rem;line-height:1;cursor:pointer;opacity:.7;transition:opacity .2s;padding:0 .2rem}
.chatw__x:hover{opacity:1}

/* messages */
.chatw__body{flex:1;overflow-y:auto;padding:1.2rem 1.1rem;display:flex;flex-direction:column;gap:.7rem;background:var(--sand,#f6f1e9)}
.chatw__msg{max-width:82%;padding:.7rem .95rem;border-radius:14px;font-size:.9rem;line-height:1.5;white-space:pre-wrap}
.chatw__msg--bot{align-self:flex-start;background:#fff;color:var(--ink,#20211f);border:1px solid var(--line,#d9d0c2);border-bottom-left-radius:5px}
.chatw__msg--user{align-self:flex-end;background:var(--ocean,#2f5d62);color:#fff;border-bottom-right-radius:5px}
.chatw__msg--typing{display:flex;gap:5px;align-items:center}
.chatw__msg--typing span{width:7px;height:7px;border-radius:50%;background:var(--ink-soft,#5a5b56);opacity:.4;animation:chatwDot 1s infinite}
.chatw__msg--typing span:nth-child(2){animation-delay:.15s}
.chatw__msg--typing span:nth-child(3){animation-delay:.3s}
@keyframes chatwDot{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}

/* quick chips */
.chatw__chips{display:flex;gap:.5rem;padding:.7rem 1.1rem;overflow-x:auto;background:var(--sand,#f6f1e9);border-top:1px solid var(--line,#d9d0c2);scrollbar-width:none}
.chatw__chips::-webkit-scrollbar{display:none}
.chatw__chip{flex:none;white-space:nowrap;cursor:pointer;font-family:inherit;font-size:.78rem;
  padding:.5em 1em;border-radius:999px;border:1px solid var(--ocean,#2f5d62);color:var(--ocean,#2f5d62);
  background:transparent;transition:.25s}
.chatw__chip:hover{background:var(--ocean,#2f5d62);color:#fff}
.chatw__chip--human{border-color:var(--gold,#b08a4f);color:#7a5f2e;background:rgba(176,138,79,.1)}
.chatw__chip--human:hover{background:var(--gold,#b08a4f);color:#fff}

/* input */
.chatw__input{display:flex;gap:.5rem;padding:.8rem 1.1rem;background:var(--paper,#fffdf9);border-top:1px solid var(--line,#d9d0c2)}
.chatw__input input{flex:1;font-family:inherit;font-size:.9rem;padding:.7em .9em;border:1px solid var(--line,#d9d0c2);border-radius:999px;background:#fff;color:var(--ink,#20211f)}
.chatw__input input:focus{outline:none;border-color:var(--ocean,#2f5d62)}
.chatw__input button{flex:none;width:42px;height:42px;border-radius:50%;border:none;cursor:pointer;background:var(--ocean,#2f5d62);color:#fff;display:grid;place-items:center;transition:background .25s,transform .2s}
.chatw__input button:hover{background:var(--ocean-deep,#1f3d40);transform:scale(1.05)}
.chatw__input button svg{width:19px;height:19px}

@media(max-width:520px){
  .chatw{right:1rem;bottom:1rem}
  .chatw__panel{bottom:70px;height:72vh}
}
