/* Perle Chatbot */
.perle-cb{position:fixed;bottom:24px;right:24px;z-index:9998;font-family:'Jost',sans-serif;}

/* Toggle button */
.perle-cb__toggle{width:64px;height:64px;border-radius:50%;background:var(--gold);color:var(--navy);box-shadow:0 10px 30px rgba(15,34,48,.3);display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;position:relative;transition:all .3s var(--ease);}
.perle-cb__toggle:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 15px 35px rgba(15,34,48,.4);}
.perle-cb__toggle-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transition:all .3s var(--ease);}
.perle-cb__toggle-icon--close{opacity:0;transform:translate(-50%,-50%) rotate(-90deg) scale(.5);}
.perle-cb.open .perle-cb__toggle-icon--open{opacity:0;transform:translate(-50%,-50%) rotate(90deg) scale(.5);}
.perle-cb.open .perle-cb__toggle-icon--close{opacity:1;transform:translate(-50%,-50%) rotate(0) scale(1);}
.perle-cb__toggle-dot{position:absolute;top:10px;right:10px;width:12px;height:12px;background:#22c55e;border-radius:50%;border:2px solid var(--gold);animation:cbPulse 2s infinite;}
@keyframes cbPulse{0%,100%{transform:scale(1);}50%{transform:scale(1.2);}}
.perle-cb.open .perle-cb__toggle-dot{display:none;}

/* Panel */
.perle-cb__panel{position:absolute;bottom:80px;right:0;width:380px;max-width:calc(100vw - 48px);max-height:600px;height:560px;background:var(--white);border-radius:16px;box-shadow:0 25px 60px rgba(15,34,48,.25);display:flex;flex-direction:column;opacity:0;pointer-events:none;transform:translateY(12px) scale(.96);transform-origin:bottom right;transition:all .35s var(--ease);overflow:hidden;}
.perle-cb.open .perle-cb__panel{opacity:1;pointer-events:auto;transform:translateY(0) scale(1);}

/* Head */
.perle-cb__head{padding:1.2rem 1rem;display:flex;align-items:center;gap:.8rem;background:var(--navy);color:var(--white);}
.perle-cb__head-av{width:44px;height:44px;border-radius:50%;background:var(--gold);color:var(--navy);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.perle-cb__head-name{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:500;line-height:1;}
.perle-cb__head-status{font-size:.7rem;color:rgba(255,255,255,.7);margin-top:.25rem;display:flex;align-items:center;gap:.4rem;}
.perle-cb__dot{width:8px;height:8px;background:#22c55e;border-radius:50%;}
.perle-cb__min{margin-left:auto;background:rgba(255,255,255,.1);color:var(--white);border:none;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s;}
.perle-cb__min:hover{background:rgba(255,255,255,.2);}

/* Body */
.perle-cb__body{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.6rem;background:var(--cream);scroll-behavior:smooth;}
.perle-cb__msg{max-width:80%;padding:.7rem 1rem;font-size:.88rem;line-height:1.5;word-wrap:break-word;animation:cbSlide .35s var(--easeOut);}
@keyframes cbSlide{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}
.perle-cb__msg--bot{background:var(--white);color:var(--ink);align-self:flex-start;border-radius:16px 16px 16px 4px;box-shadow:0 2px 6px rgba(0,0,0,.04);}
.perle-cb__msg--user{background:var(--navy);color:var(--white);align-self:flex-end;border-radius:16px 16px 4px 16px;}
.perle-cb__msg strong{color:var(--navy);font-weight:500;}
.perle-cb__msg--user strong{color:var(--gold);}
.perle-cb__msg a{color:var(--gold);text-decoration:underline;}
.perle-cb__msg--user a{color:var(--gold);}
.perle-cb__msg ul{margin:.4rem 0 0 .8rem;padding:0;}
.perle-cb__msg li{list-style:none;padding:.15rem 0;padding-left:1rem;position:relative;font-size:.82rem;}
.perle-cb__msg li::before{content:'';position:absolute;left:0;top:.7rem;width:6px;height:1px;background:var(--gold);}

/* Typing indicator */
.perle-cb__typing{display:flex;gap:4px;padding:.8rem 1rem;background:var(--white);border-radius:16px 16px 16px 4px;align-self:flex-start;align-items:center;box-shadow:0 2px 6px rgba(0,0,0,.04);}
.perle-cb__typing span{width:8px;height:8px;background:var(--gold);border-radius:50%;animation:cbBounce 1.3s infinite;}
.perle-cb__typing span:nth-child(2){animation-delay:.15s;}
.perle-cb__typing span:nth-child(3){animation-delay:.3s;}
@keyframes cbBounce{0%,60%,100%{transform:translateY(0);opacity:.4;}30%{transform:translateY(-5px);opacity:1;}}

/* Quick replies */
.perle-cb__quick{padding:.5rem 1rem .2rem;display:flex;gap:.4rem;flex-wrap:wrap;background:var(--cream);border-top:1px solid rgba(0,0,0,.04);max-height:120px;overflow-y:auto;}
.perle-cb__quick:empty{display:none;}
.perle-cb__qr{background:var(--white);border:1px solid rgba(15,34,48,.12);padding:.45rem .9rem;border-radius:20px;font-size:.75rem;cursor:pointer;transition:all .2s;color:var(--navy);font-family:'Jost',sans-serif;font-weight:400;white-space:nowrap;}
.perle-cb__qr:hover{background:var(--navy);color:var(--white);border-color:var(--navy);}
.perle-cb__qr--gold{background:var(--gold);border-color:var(--gold);color:var(--navy);font-weight:500;}
.perle-cb__qr--gold:hover{background:var(--navy);color:var(--white);border-color:var(--navy);}

/* Form */
.perle-cb__form{display:flex;align-items:center;padding:.6rem;gap:.5rem;border-top:1px solid rgba(0,0,0,.08);background:var(--white);}
.perle-cb__form input{flex:1;border:none;padding:.8rem 1rem;font-family:'Jost',sans-serif;font-size:.88rem;background:var(--cream);border-radius:24px;outline:none;color:var(--ink);}
.perle-cb__form input:focus{box-shadow:0 0 0 2px var(--gold) inset;}
.perle-cb__form button{width:40px;height:40px;border-radius:50%;background:var(--navy);color:var(--white);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .2s,transform .2s;}
.perle-cb__form button:hover{background:var(--gold);color:var(--navy);transform:rotate(-15deg);}

/* Mobile */
@media (max-width:480px){
  .perle-cb{bottom:16px;right:16px;}
  .perle-cb__panel{width:calc(100vw - 32px);right:0;height:calc(100vh - 120px);max-height:600px;}
  .perle-cb__toggle{width:56px;height:56px;}
}
