/* ─── Chat assistant (js/chat.js) ─── */
.eec-launcher,.eec-teaser,.eec-panel{--eec-navy:#0b1824;--eec-navy2:#16304a;--eec-gold:#b8922a;--eec-gold2:#d4aa50;--eec-cream:#f7f4ee;--eec-ink:#1b2a38;--eec-muted:#6b7a8d;--eec-green:#34c26b;font-family:'Jost',sans-serif;box-sizing:border-box;}
.eec-panel *,.eec-teaser *{box-sizing:border-box;}

/* Avatar monogram, shared by teaser, header and intro */
.eec-avatar{position:relative;flex:none;width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 25%,var(--eec-navy2),var(--eec-navy) 70%);border:1.5px solid var(--eec-gold2);color:var(--eec-gold2);font-family:'Cormorant Garamond',serif;font-size:1.05rem;font-weight:600;letter-spacing:.5px;}
.eec-avatar i{position:absolute;right:-1px;bottom:-1px;width:12px;height:12px;border-radius:50%;background:var(--eec-green);border:2px solid #fff;}

/* Launcher */
.eec-launcher{position:fixed;right:2rem;bottom:calc(2rem + 62px);z-index:1001;width:62px;height:62px;border-radius:50%;border:0;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--eec-navy);background:linear-gradient(145deg,#e3c16f 0%,var(--eec-gold2) 40%,var(--eec-gold) 100%);box-shadow:0 10px 28px rgba(11,24,36,.35),inset 0 1px 0 rgba(255,255,255,.45);transition:transform .25s ease,box-shadow .25s ease;}
.eec-launcher:hover,.eec-launcher:focus-visible{transform:translateY(-2px) scale(1.04);box-shadow:0 14px 34px rgba(11,24,36,.42),inset 0 1px 0 rgba(255,255,255,.45);outline:none;}
.eec-launcher svg{position:relative;width:28px;height:28px;}
.eec-ring{position:absolute;inset:0;border-radius:50%;border:2px solid var(--eec-gold2);animation:eec-pulse 2.6s ease-out infinite;pointer-events:none;}
.eec-launcher:hover .eec-ring{animation:none;opacity:0;}
.eec-dot{position:absolute;top:3px;right:3px;width:13px;height:13px;border-radius:50%;background:var(--eec-green);border:2px solid #fff;}
@keyframes eec-pulse{0%{transform:scale(1);opacity:.75;}70%,100%{transform:scale(1.55);opacity:0;}}

/* Teaser card */
.eec-teaser{position:fixed;right:calc(2rem + 76px);bottom:calc(2rem + 62px);z-index:1001;width:290px;padding:16px 18px 14px;background:#fff;color:var(--eec-ink);border-radius:18px 18px 4px 18px;box-shadow:0 18px 50px rgba(11,24,36,.22),0 2px 6px rgba(11,24,36,.08);cursor:pointer;opacity:0;transform:translateY(10px) scale(.97);transform-origin:bottom right;transition:opacity .45s ease,transform .45s cubic-bezier(.2,.8,.2,1);}
.eec-teaser.eec-show{opacity:1;transform:none;}
.eec-teaser-top{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.eec-teaser-top .eec-avatar{width:34px;height:34px;font-size:.85rem;}
.eec-teaser-top .eec-avatar i{width:10px;height:10px;}
.eec-teaser-top strong{display:block;font-family:'Cormorant Garamond',serif;font-size:1.08rem;font-weight:600;color:var(--eec-navy);line-height:1.1;}
.eec-teaser-top span{display:block;font-size:.72rem;color:var(--eec-muted);margin-top:2px;}
.eec-teaser p{margin:0 0 12px;font-size:.93rem;line-height:1.45;}
.eec-teaser-cta{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--eec-gold);}
.eec-teaser-cta b{font-weight:400;transition:transform .2s ease;}
.eec-teaser:hover .eec-teaser-cta b{transform:translateX(3px);}
.eec-teaser-x{position:absolute;top:8px;right:8px;width:28px;height:28px;border:0;border-radius:50%;background:transparent;color:var(--eec-muted);font-size:1.15rem;line-height:1;cursor:pointer;transition:background .2s ease,color .2s ease;}
.eec-teaser-x:hover{background:#f1ede4;color:var(--eec-navy);}

/* Panel */
.eec-panel{position:fixed;right:2rem;bottom:2rem;z-index:1100;width:390px;height:min(640px,calc(100vh - 6rem));display:flex;flex-direction:column;overflow:hidden;background:#fff;color:var(--eec-ink);border-radius:22px;box-shadow:0 30px 80px rgba(11,24,36,.38),0 4px 14px rgba(11,24,36,.12);opacity:0;transform:translateY(18px) scale(.98);transform-origin:bottom right;pointer-events:none;visibility:hidden;transition:opacity .3s ease,transform .35s cubic-bezier(.2,.8,.2,1),visibility 0s linear .35s;}
.eec-panel.eec-open{opacity:1;transform:none;pointer-events:auto;visibility:visible;transition:opacity .3s ease,transform .35s cubic-bezier(.2,.8,.2,1);}

.eec-head{position:relative;display:flex;align-items:center;gap:13px;padding:18px 16px 18px 20px;background:linear-gradient(135deg,var(--eec-navy) 0%,var(--eec-navy2) 100%);color:#fff;}
.eec-head::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,var(--eec-gold2) 30%,var(--eec-gold2) 70%,transparent);opacity:.8;}
.eec-head .eec-avatar i{border-color:var(--eec-navy);}
.eec-head-text{min-width:0;}
.eec-title{font-family:'Cormorant Garamond',serif;font-size:1.28rem;font-weight:600;line-height:1.1;letter-spacing:.2px;}
.eec-sub{margin-top:4px;font-size:.74rem;color:rgba(255,255,255,.68);letter-spacing:.02em;}
.eec-close{margin-left:auto;flex:none;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.08);color:rgba(255,255,255,.85);font-size:1.35rem;line-height:1;cursor:pointer;transition:background .2s ease,color .2s ease;}
.eec-close:hover,.eec-close:focus-visible{background:rgba(212,170,80,.22);color:#fff;outline:none;}

/* Conversation */
.eec-log{flex:1;overflow-y:auto;padding:22px 18px 10px;display:flex;flex-direction:column;gap:10px;background:var(--eec-cream);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(11,24,36,.18) transparent;}
.eec-intro{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:4px 0 14px;}
.eec-intro .eec-avatar{width:54px;height:54px;font-size:1.3rem;}
.eec-intro .eec-avatar i{width:13px;height:13px;border-color:var(--eec-cream);}
.eec-intro strong{margin-top:4px;font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-weight:600;color:var(--eec-navy);}
.eec-intro span{font-size:.76rem;line-height:1.5;color:var(--eec-muted);}

.eec-msg{max-width:84%;padding:11px 15px;font-size:.93rem;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;animation:eec-in .28s ease both;}
.eec-bot{align-self:flex-start;background:#fff;color:var(--eec-ink);border-radius:18px 18px 18px 6px;box-shadow:0 1px 2px rgba(11,24,36,.06),0 6px 16px rgba(11,24,36,.05);}
.eec-user{align-self:flex-end;background:linear-gradient(135deg,var(--eec-navy2),var(--eec-navy));color:#fff;border-radius:18px 18px 6px 18px;box-shadow:0 6px 16px rgba(11,24,36,.18);}
.eec-msg a{color:var(--eec-gold);font-weight:500;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;}
.eec-user a{color:var(--eec-gold2);}
.eec-msg a.eec-link{display:flex;align-items:center;gap:8px;width:fit-content;margin-top:9px;padding:8px 15px 8px 12px;border-radius:999px;background:linear-gradient(135deg,var(--eec-navy2),var(--eec-navy));color:#fff;font-size:.84rem;font-weight:500;text-decoration:none;white-space:nowrap;transition:transform .2s ease,box-shadow .2s ease;}
.eec-msg a.eec-link:hover,.eec-msg a.eec-link:focus-visible{transform:translateY(-1px);box-shadow:0 6px 16px rgba(11,24,36,.22);outline:none;}
.eec-link svg{flex:none;width:17px;height:17px;color:var(--eec-gold2);}
.eec-note{align-self:stretch;max-width:none;background:#fbf4e4;border:1px solid rgba(184,146,42,.3);border-radius:14px;box-shadow:none;font-size:.88rem;}
@keyframes eec-in{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}

.eec-typing{align-self:flex-start;display:flex;gap:5px;padding:15px 17px;background:#fff;border-radius:18px 18px 18px 6px;box-shadow:0 1px 2px rgba(11,24,36,.06),0 6px 16px rgba(11,24,36,.05);}
.eec-typing span{width:7px;height:7px;border-radius:50%;background:var(--eec-gold2);animation:eec-blink 1.2s infinite ease-in-out;}
.eec-typing span:nth-child(2){animation-delay:.18s;}
.eec-typing span:nth-child(3){animation-delay:.36s;}
@keyframes eec-blink{0%,80%,100%{opacity:.3;transform:translateY(0);}40%{opacity:1;transform:translateY(-3px);}}

/* Quick replies */
.eec-chips{display:flex;flex-wrap:wrap;gap:8px;padding:4px 18px 14px;background:var(--eec-cream);}
.eec-chip{padding:8px 15px;border-radius:999px;background:#fff;border:1px solid rgba(184,146,42,.55);color:var(--eec-navy);font-family:'Jost',sans-serif;font-size:.82rem;cursor:pointer;animation:eec-in .3s ease both;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;}
.eec-chip:hover,.eec-chip:focus-visible{background:var(--eec-gold);border-color:var(--eec-gold);color:#fff;transform:translateY(-1px);outline:none;}

/* Composer */
.eec-form{padding:12px 14px 6px;background:#fff;border-top:1px solid rgba(11,24,36,.07);}
.eec-compose{display:flex;align-items:flex-end;gap:8px;padding:5px 5px 5px 16px;background:#f3efe6;border-radius:26px;transition:box-shadow .2s ease,background .2s ease;}
.eec-compose:focus-within{background:#fff;box-shadow:0 0 0 2px rgba(184,146,42,.5);}
.eec-input{flex:1;min-height:40px;max-height:120px;resize:none;padding:9px 0;border:0;background:transparent;color:var(--eec-ink);font-family:'Jost',sans-serif;font-size:16px;line-height:1.4;}
.eec-input:focus{outline:none;}
.eec-input::placeholder{color:#8f9aa7;}
.eec-send{flex:none;width:40px;height:40px;border:0;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#d9d3c6;color:#fff;cursor:pointer;transition:background .2s ease,transform .2s ease;}
.eec-send.eec-ready{background:linear-gradient(145deg,var(--eec-gold2),var(--eec-gold));}
.eec-send.eec-ready:hover,.eec-send.eec-ready:focus-visible{transform:scale(1.06);outline:none;}
.eec-send:disabled{background:#d9d3c6;cursor:default;transform:none;}
.eec-send svg{width:19px;height:19px;}
.eec-foot{padding:4px 14px 12px;background:#fff;font-size:.7rem;color:var(--eec-muted);text-align:center;}
.eec-foot a{color:var(--eec-muted);text-decoration:underline;text-underline-offset:2px;}

@media(max-width:768px){
  .eec-launcher{right:1.2rem;bottom:calc(1.2rem + 58px);width:58px;height:58px;}
  .eec-teaser{right:1.2rem;bottom:calc(1.2rem + 128px);width:min(300px,calc(100vw - 2.4rem));}
}
@media(max-width:600px){
  .eec-panel{inset:0;width:auto;height:100%;height:100dvh;border-radius:0;}
  .eec-head{padding-top:max(18px,env(safe-area-inset-top));}
  .eec-form{padding-bottom:6px;}
  .eec-foot{padding-bottom:max(12px,env(safe-area-inset-bottom));}
  .eec-msg{font-size:.96rem;}
}
@media (prefers-reduced-motion:reduce){
  .eec-panel,.eec-teaser,.eec-launcher,.eec-chip,.eec-msg{transition:none;animation:none;}
  .eec-ring{display:none;}
  .eec-typing span{animation:none;opacity:.7;}
}
